summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2015-10-26 16:01:20 +0300
committerAnatol Belski <ab@php.net>2015-10-27 02:23:49 +0100
commit579f10c0a1bf0331256ba7b12b8a9dd78c14ef1f (patch)
treec067df7a2a1f5281a22a450c712c5c62eaf53dd6
parentc031d6de68ad7ffc815651a6ac851b0185b11670 (diff)
downloadphp-git-579f10c0a1bf0331256ba7b12b8a9dd78c14ef1f.tar.gz
Fixed inconsistent exception handling (uopz/tests/006.phpt was failed when PHP build with --disable-gcc-global-regs).
-rw-r--r--Zend/zend_vm_def.h3
-rw-r--r--Zend/zend_vm_execute.h3
2 files changed, 2 insertions, 4 deletions
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index 4d5c2578af..ad6dc58ec9 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -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);
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index e7257f1186..97e08b75f9 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -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);