summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-11-26 22:44:58 +0300
committerDmitry Stogov <dmitry@zend.com>2014-11-26 22:44:58 +0300
commit303d73ecd26db0f88dfd1630ae55557ca47caece (patch)
tree9d806a902f37185a4ab491523d9f0ed5f7d493f6 /Zend/zend_execute.c
parentd1c83ef6a4db2b7bea595f7d4fe873b4d1f4d924 (diff)
downloadphp-git-303d73ecd26db0f88dfd1630ae55557ca47caece.tar.gz
Reimplemented silence operator (@) handling on exceptions. Now each silence region is stored in op_array->brk_cont_array. On exception ZEND_HANDLE_EXCEPTION handler traverse this array and restore original EG(error_reporting) if exception occured inside a "silence" region.
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r--Zend/zend_execute.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index 6c8ebca707..fc8cd57ced 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1486,7 +1486,6 @@ static zend_always_inline void i_init_func_execute_data(zend_execute_data *execu
EX(call) = NULL;
EX(return_value) = return_value;
EX(delayed_exception) = NULL;
- EX(silence_op_num) = -1;
/* Handle arguments */
first_extra_arg = op_array->num_args;
@@ -1553,7 +1552,6 @@ static zend_always_inline void i_init_code_execute_data(zend_execute_data *execu
EX(return_value) = return_value;
EX(scope) = EG(scope);
EX(delayed_exception) = NULL;
- EX(silence_op_num) = -1;
zend_attach_symbol_table(execute_data);
@@ -1580,7 +1578,6 @@ static zend_always_inline void i_init_execute_data(zend_execute_data *execute_da
EX(return_value) = return_value;
EX(scope) = EG(scope);
EX(delayed_exception) = NULL;
- EX(silence_op_num) = -1;
if (UNEXPECTED(EX(symbol_table) != NULL)) {
zend_attach_symbol_table(execute_data);