diff options
author | Xinchen Hui <laruence@gmail.com> | 2015-10-20 08:12:04 -0700 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2015-10-23 11:38:13 +0200 |
commit | 64c52c805f1e9745488c6c787af5f0fc3753f375 (patch) | |
tree | b084b9c49c538133b4a125158f615c10996aac15 | |
parent | bbabab1cdc2915156bdcbae890d5fb10d2e0fa94 (diff) | |
download | php-git-64c52c805f1e9745488c6c787af5f0fc3753f375.tar.gz |
Revert "Ensure proper exception handling and EX(opline) state in USER_OPCODE handler"
read: http://news.php.net/php.internals/88887
This reverts commit 808f62bb4d9812e9b7b35c87f3e90e5fc2bc244b.
-rw-r--r-- | Zend/zend_vm_def.h | 8 | ||||
-rw-r--r-- | Zend/zend_vm_execute.h | 8 |
2 files changed, 2 insertions, 14 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h index f9739445f5..0af6500b6a 100644 --- a/Zend/zend_vm_def.h +++ b/Zend/zend_vm_def.h @@ -7176,14 +7176,10 @@ ZEND_VM_HANDLER(150, ZEND_USER_OPCODE, ANY, ANY) SAVE_OPLINE(); ret = zend_user_opcode_handlers[opline->opcode](execute_data); - - if (EG(exception)) { - HANDLE_EXCEPTION(); - } + LOAD_OPLINE(); switch (ret) { case ZEND_USER_OPCODE_CONTINUE: - LOAD_OPLINE(); ZEND_VM_CONTINUE(); case ZEND_USER_OPCODE_RETURN: if (UNEXPECTED((EX(func)->op_array.fn_flags & ZEND_ACC_GENERATOR) != 0)) { @@ -7199,10 +7195,8 @@ ZEND_VM_HANDLER(150, ZEND_USER_OPCODE, ANY, ANY) LOAD_OPLINE(); ZEND_VM_LEAVE(); case ZEND_USER_OPCODE_DISPATCH: - ZEND_ASSERT(EX(opline) == opline); ZEND_VM_DISPATCH(opline->opcode, opline); default: - ZEND_ASSERT(EX(opline) == opline); ZEND_VM_DISPATCH((zend_uchar)(ret & 0xff), opline); } } diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h index 728fc49c8f..cd5df3e61c 100644 --- a/Zend/zend_vm_execute.h +++ b/Zend/zend_vm_execute.h @@ -1566,14 +1566,10 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_ SAVE_OPLINE(); ret = zend_user_opcode_handlers[opline->opcode](execute_data); - - if (EG(exception)) { - HANDLE_EXCEPTION(); - } + LOAD_OPLINE(); switch (ret) { case ZEND_USER_OPCODE_CONTINUE: - LOAD_OPLINE(); ZEND_VM_CONTINUE(); case ZEND_USER_OPCODE_RETURN: if (UNEXPECTED((EX(func)->op_array.fn_flags & ZEND_ACC_GENERATOR) != 0)) { @@ -1589,10 +1585,8 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_ LOAD_OPLINE(); ZEND_VM_LEAVE(); case ZEND_USER_OPCODE_DISPATCH: - ZEND_ASSERT(EX(opline) == opline); ZEND_VM_DISPATCH(opline->opcode, opline); default: - ZEND_ASSERT(EX(opline) == opline); ZEND_VM_DISPATCH((zend_uchar)(ret & 0xff), opline); } } |