]> granicus.if.org Git - php/commitdiff
Fixed Zend/tests/bug70785.phpt on builds wothout global regesters
authorDmitry Stogov <dmitry@zend.com>
Tue, 8 Oct 2019 14:08:59 +0000 (17:08 +0300)
committerDmitry Stogov <dmitry@zend.com>
Tue, 8 Oct 2019 14:08:59 +0000 (17:08 +0300)
Zend/zend_execute.c

index a860c0856049165d5bfa0a677564d64c6f0393ce..14e52b390cd799dab58e6b427dc7860c81f7f223 100644 (file)
@@ -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 { \