Skip to content

Commit 86c806a

Browse files
committed
Merge branch 'PHP-5.6'
* PHP-5.6: Fixed ability to build non-specialized GOTO VM
2 parents 1acee05 + 9447181 commit 86c806a

File tree

1 file changed

+9
-3
lines changed

1 file changed

+9
-3
lines changed

Zend/zend_vm_gen.php

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -911,9 +911,15 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name,
911911
out($f,"#undef CHECK_EXCEPTION\n");
912912
out($f,"#undef HANDLE_EXCEPTION\n");
913913
out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
914-
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
915-
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
916-
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
914+
if (ZEND_VM_SPEC) {
915+
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
916+
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
917+
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
918+
} else {
919+
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
920+
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
921+
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
922+
}
917923
out($f,"#define LOAD_REGS()\n");
918924
out($f,"#define ZEND_VM_CONTINUE() goto *(void**)(OPLINE->handler)\n");
919925
out($f,"#define ZEND_VM_RETURN() EG(in_execution) = original_in_execution; return\n");

0 commit comments

Comments
 (0)