diff options
Diffstat (limited to 'Zend/zend_execute.c')
-rw-r--r-- | Zend/zend_execute.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index bd9fcce771..e863328121 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -3269,14 +3269,17 @@ static zend_never_inline zend_bool ZEND_FASTCALL zend_fe_reset_iterator(zval *ar #define ZEND_VM_SET_RELATIVE_OPCODE(opline, offset) \ ZEND_VM_SET_OPCODE(ZEND_OFFSET_TO_OPLINE(opline, offset)) -#define ZEND_VM_JMP(new_op) do { \ - if (UNEXPECTED(EG(exception))) { \ +#define ZEND_VM_JMP_EX(new_op, check_exception) do { \ + if (check_exception && UNEXPECTED(EG(exception))) { \ HANDLE_EXCEPTION(); \ } \ ZEND_VM_SET_OPCODE(new_op); \ ZEND_VM_CONTINUE(); \ } while (0) +#define ZEND_VM_JMP(new_op) \ + ZEND_VM_JMP_EX(new_op, 1) + #define ZEND_VM_INC_OPCODE() \ OPLINE++ |