Skip to content

Commit 9ed6058

Browse files
committed
Fixed ability to build non-specialized GOTO VM
1 parent 2d31ead commit 9ed6058

File tree

1 file changed

+10
-3
lines changed

1 file changed

+10
-3
lines changed

Zend/zend_vm_gen.php

Lines changed: 10 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -886,9 +886,16 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name,
886886
out($f,"#undef CHECK_EXCEPTION\n");
887887
out($f,"#undef HANDLE_EXCEPTION\n");
888888
out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
889-
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
890-
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
891-
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
889+
if (ZEND_VM_SPEC) {
890+
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
891+
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
892+
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
893+
} else {
894+
out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
895+
out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
896+
out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
897+
}
898+
892899
out($f,"#define LOAD_REGS() do {Ts = EX(Ts); CVs = EX(CVs);} while (0)\n");
893900
out($f,"#define ZEND_VM_CONTINUE() goto *(void**)(OPLINE->handler)\n");
894901
out($f,"#define ZEND_VM_RETURN() EG(in_execution) = original_in_execution; return\n");

0 commit comments

Comments
 (0)