]> granicus.if.org Git - php/commitdiff
Added ability to make non-local control transfer through interrupt function
authorDmitry Stogov <dmitry@zend.com>
Fri, 24 Jun 2016 09:20:41 +0000 (12:20 +0300)
committerDmitry Stogov <dmitry@zend.com>
Fri, 24 Jun 2016 09:20:41 +0000 (12:20 +0300)
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

index feded0a9374db7711b60a407d6f8849b2663383d..dcfaf97b100a058a1fc4d29c29ee1537c9318a77 100644 (file)
@@ -8613,7 +8613,7 @@ ZEND_VM_HELPER(zend_interrupt_helper, ANY, ANY)
        } else if (zend_interrupt_function) {
                SAVE_OPLINE();
                zend_interrupt_function(execute_data);
-               LOAD_OPLINE();
+               ZEND_VM_ENTER();
        }
        ZEND_VM_CONTINUE();
 }
index 1943dc553a8015c1da61279264c0b5d86198bede..e68f8e4bedc9dc5e5373118313d2662f6fd0570c 100644 (file)
@@ -2081,7 +2081,7 @@ static ZEND_OPCODE_HANDLER_RET ZEND_FASTCALL zend_interrupt_helper_SPEC(ZEND_OPC
        } else if (zend_interrupt_function) {
                SAVE_OPLINE();
                zend_interrupt_function(execute_data);
-               LOAD_OPLINE();
+               ZEND_VM_ENTER();
        }
        ZEND_VM_CONTINUE();
 }