Skip to content

Commit 1dff49e

Browse files
committed
Minor optimization
1 parent 3ca6d61 commit 1dff49e

File tree

1 file changed

+2
-3
lines changed

1 file changed

+2
-3
lines changed

Zend/zend_execute.c

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1326,8 +1326,6 @@ binary_assign_op_addr: {
13261326
}
13271327
FREE_OP(&opline->op1, free_op1);
13281328
}
1329-
1330-
calling_symbol_table = EG(active_symbol_table);
13311329
zend_ptr_stack_push(&EG(argument_stack), (void *) opline->extended_value);
13321330
if (function_state.function->type==ZEND_INTERNAL_FUNCTION) {
13331331
var_uninit(&Ts[opline->result.u.var].tmp_var);
@@ -1341,6 +1339,7 @@ binary_assign_op_addr: {
13411339
zend_hash_init(function_state.function_symbol_table, 0, NULL, PVAL_PTR_DTOR, 0);
13421340
//printf("Cache miss! Initialized %x\n", function_state.function_symbol_table);
13431341
}
1342+
calling_symbol_table = EG(active_symbol_table);
13441343
EG(active_symbol_table) = function_state.function_symbol_table;
13451344
if (object_ptr && function_being_called && function_being_called->type!=ZEND_OVERLOADED_FUNCTION) {
13461345
zval *dummy = (zval *) emalloc(sizeof(zval)), **this_ptr;
@@ -1367,12 +1366,12 @@ binary_assign_op_addr: {
13671366
*(++EG(symtable_cache_ptr)) = function_state.function_symbol_table;
13681367
zend_hash_clean(*EG(symtable_cache_ptr));
13691368
}
1369+
EG(active_symbol_table) = calling_symbol_table;
13701370
} else { /* ZEND_OVERLOADED_FUNCTION */
13711371
call_overloaded_function(opline->extended_value, &Ts[opline->result.u.var].tmp_var, &EG(regular_list), &EG(persistent_list));
13721372
efree(function_being_called);
13731373
}
13741374
function_state.function = (zend_function *) op_array;
1375-
EG(active_symbol_table) = calling_symbol_table;
13761375
EG(function_state_ptr) = &function_state;
13771376
zend_ptr_stack_clear_multiple(ELS_C);
13781377
}

0 commit comments

Comments
 (0)