]> granicus.if.org Git - php/commitdiff
Fixed inconsistent exception handling (uopz/tests/006.phpt was failed when PHP build...
authorDmitry Stogov <dmitry@zend.com>
Mon, 26 Oct 2015 13:01:20 +0000 (16:01 +0300)
committerDmitry Stogov <dmitry@zend.com>
Mon, 26 Oct 2015 13:01:20 +0000 (16:01 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index 4d5c2578afca573753ff0236a04597ec0ce20d0a..ad6dc58ec9b07c1892b1b992efd57746e931f6ea 100644 (file)
@@ -7170,7 +7170,7 @@ ZEND_VM_HANDLER(150, ZEND_USER_OPCODE, ANY, ANY)
 
        SAVE_OPLINE();
        ret = zend_user_opcode_handlers[opline->opcode](execute_data);
-       LOAD_OPLINE();
+       opline = EX(opline);
 
        switch (ret) {
                case ZEND_USER_OPCODE_CONTINUE:
@@ -7186,7 +7186,6 @@ ZEND_VM_HANDLER(150, ZEND_USER_OPCODE, ANY, ANY)
                case ZEND_USER_OPCODE_ENTER:
                        ZEND_VM_ENTER();
                case ZEND_USER_OPCODE_LEAVE:
-                       LOAD_OPLINE();
                        ZEND_VM_LEAVE();
                case ZEND_USER_OPCODE_DISPATCH:
                        ZEND_VM_DISPATCH(opline->opcode, opline);
index e7257f11864c3df5ce1fe49009ebc1e5d321ff77..97e08b75f9357ba4a05601fc006cbd63e5831c63 100644 (file)
@@ -1566,7 +1566,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_
 
        SAVE_OPLINE();
        ret = zend_user_opcode_handlers[opline->opcode](execute_data);
-       LOAD_OPLINE();
+       opline = EX(opline);
 
        switch (ret) {
                case ZEND_USER_OPCODE_CONTINUE:
@@ -1582,7 +1582,6 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL ZEND_USER_OPCODE_SPEC_HANDLER(ZEND_
                case ZEND_USER_OPCODE_ENTER:
                        ZEND_VM_ENTER();
                case ZEND_USER_OPCODE_LEAVE:
-                       LOAD_OPLINE();
                        ZEND_VM_LEAVE();
                case ZEND_USER_OPCODE_DISPATCH:
                        ZEND_VM_DISPATCH(opline->opcode, opline);