see two pieces of code:
//
int symbols;
do {
symbols = zend_hash_num_elements(&EG(symbol_table));
zend_hash_reverse_apply(&EG(symbol_table), (apply_func_t) zval_call_destructor TSRMLS_CC);
} while (symbols != zend_hash_num_elements(&EG(symbol_table)));
//
zend_objects_store_call_destructors(&EG(objects_store) TSRMLS_CC);
Does this code mean to traverse the symbol_table backwards, and then throw each zval that needs to execute the destructor into the TSRMLS_CC, this guy is an array, and then as an argument to the zend_objects_store_call_destructors function, the zend_objects_store_call_destructors function traverses it internally (TSRMLS_CC)? is that so? Thank you all