diff options
author | Xinchen Hui <laruence@gmail.com> | 2018-06-05 17:19:17 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2018-06-05 17:19:17 +0800 |
commit | 1ce4b484f84f9f43daee7e1fe75d42cac3b1ca34 (patch) | |
tree | ed7f301fb8ab1b929f67ea5209a9571c14738074 /Zend/zend_execute.c | |
parent | 0a0f6c495fefdbc4b70751466d0ecb1e8de58dcc (diff) | |
parent | 59c2ff254368190687a030bab4ad0a61deb2026d (diff) | |
download | php-git-1ce4b484f84f9f43daee7e1fe75d42cac3b1ca34.tar.gz |
Merge branch 'master' of git.php.net:/php-src
* 'master' of git.php.net:/php-src:
Embed zend_leave_helper() into hybrid executor to avoid call overhead.
Cleanup
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++ |