summaryrefslogtreecommitdiff
path: root/Zend/zend_execute.c
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2018-06-05 17:19:17 +0800
committerXinchen Hui <laruence@gmail.com>2018-06-05 17:19:17 +0800
commit1ce4b484f84f9f43daee7e1fe75d42cac3b1ca34 (patch)
treeed7f301fb8ab1b929f67ea5209a9571c14738074 /Zend/zend_execute.c
parent0a0f6c495fefdbc4b70751466d0ecb1e8de58dcc (diff)
parent59c2ff254368190687a030bab4ad0a61deb2026d (diff)
downloadphp-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.c7
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++