From 85f537bfc0017d3e143ba00a99a0ccf5724e0c55 Mon Sep 17 00:00:00 2001 From: Nikita Popov Date: Fri, 18 Apr 2014 17:19:46 +0200 Subject: [PATCH] Revert "Fix include/eval with custom zend_execute" This reverts commit ead8a6636d5f3fc01397addfcbd87b56e79f5b89. --- Zend/zend_vm_def.h | 7 ++----- Zend/zend_vm_execute.h | 13 ++----------- 2 files changed, 4 insertions(+), 16 deletions(-) diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index b17dbbf59f..aa8b2a5e83 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -1751,9 +1751,8 @@ ZEND_VM_HELPER(zend_leave_helper, ANY, ANY) zend_bool nested = EX(nested); zend_op_array *op_array = EX(op_array); - if ((EX(prev_execute_data) && EX(prev_execute_data)->opline - && EX(prev_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL) - || EG(active_symbol_table) == &EG(symbol_table)) { + if ((nested && EX(prev_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL) || + EG(active_symbol_table) == &EG(symbol_table)) { zend_detach_symbol_table(TSRMLS_C); } @@ -3901,8 +3900,6 @@ ZEND_VM_HANDLER(73, ZEND_INCLUDE_OR_EVAL, CONST|TMP|VAR|CV, ANY) zend_execute(new_op_array, return_value TSRMLS_CC); } - zend_attach_symbol_table(TSRMLS_C); - EX(function_state).function = (zend_function *) EX(op_array); EG(opline_ptr) = &EX(opline); diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 4f4df9d3f2..24e6ef1658 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -386,9 +386,8 @@ static int ZEND_FASTCALL zend_leave_helper_SPEC(ZEND_OPCODE_HANDLER_ARGS) zend_bool nested = EX(nested); zend_op_array *op_array = EX(op_array); - if ((EX(prev_execute_data) && EX(prev_execute_data)->opline - && EX(prev_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL) - || EG(active_symbol_table) == &EG(symbol_table)) { + if ((nested && EX(prev_execute_data)->opline->opcode == ZEND_INCLUDE_OR_EVAL) || + EG(active_symbol_table) == &EG(symbol_table)) { zend_detach_symbol_table(TSRMLS_C); } @@ -2931,8 +2930,6 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CONST_HANDLER(ZEND_OPCODE_HA zend_execute(new_op_array, return_value TSRMLS_CC); } - zend_attach_symbol_table(TSRMLS_C); - EX(function_state).function = (zend_function *) EX(op_array); EG(opline_ptr) = &EX(opline); @@ -7881,8 +7878,6 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_TMP_HANDLER(ZEND_OPCODE_HAND zend_execute(new_op_array, return_value TSRMLS_CC); } - zend_attach_symbol_table(TSRMLS_C); - EX(function_state).function = (zend_function *) EX(op_array); EG(opline_ptr) = &EX(opline); @@ -12873,8 +12868,6 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_VAR_HANDLER(ZEND_OPCODE_HAND zend_execute(new_op_array, return_value TSRMLS_CC); } - zend_attach_symbol_table(TSRMLS_C); - EX(function_state).function = (zend_function *) EX(op_array); EG(opline_ptr) = &EX(opline); @@ -29395,8 +29388,6 @@ static int ZEND_FASTCALL ZEND_INCLUDE_OR_EVAL_SPEC_CV_HANDLER(ZEND_OPCODE_HANDL zend_execute(new_op_array, return_value TSRMLS_CC); } - zend_attach_symbol_table(TSRMLS_C); - EX(function_state).function = (zend_function *) EX(op_array); EG(opline_ptr) = &EX(opline); -- 2.40.0