diff options
author | Dmitry Stogov <dmitry@zend.com> | 2019-10-08 17:08:59 +0300 |
---|---|---|
committer | Dmitry Stogov <dmitry@zend.com> | 2019-10-08 17:08:59 +0300 |
commit | 31c3b0c7cc38453763e8f8d33baa214de906d60f (patch) | |
tree | da177d76bf980528de7b838e8df865e942f8fdd4 /Zend | |
parent | cffa81e438a5639d50683c8b49b1cf38bfef2143 (diff) | |
download | php-git-31c3b0c7cc38453763e8f8d33baa214de906d60f.tar.gz |
Fixed Zend/tests/bug70785.phpt on builds wothout global regesters
Diffstat (limited to 'Zend')
-rw-r--r-- | Zend/zend_execute.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c index a860c08560..14e52b390c 100644 --- a/Zend/zend_execute.c +++ b/Zend/zend_execute.c @@ -4253,7 +4253,9 @@ static zend_never_inline int ZEND_FASTCALL zend_quick_check_constant( OPLINE = opline; \ ZEND_VM_CONTINUE() #define ZEND_VM_SMART_BRANCH(_result, _check) do { \ - if (EXPECTED((opline+1)->opcode == ZEND_JMPZ)) { \ + if ((_check) && UNEXPECTED(EG(exception))) { \ + OPLINE = EX(opline); \ + } else if (EXPECTED((opline+1)->opcode == ZEND_JMPZ)) { \ if (_result) { \ ZEND_VM_SET_NEXT_OPCODE(opline + 2); \ } else { \ @@ -4269,9 +4271,6 @@ static zend_never_inline int ZEND_FASTCALL zend_quick_check_constant( ZVAL_BOOL(EX_VAR(opline->result.var), _result); \ ZEND_VM_SET_NEXT_OPCODE(opline + 1); \ } \ - if ((_check) && UNEXPECTED(EG(exception))) { \ - OPLINE = EX(opline); \ - } \ ZEND_VM_CONTINUE(); \ } while (0) #define ZEND_VM_SMART_BRANCH_JMPZ(_result, _check) do { \ |