com php-src: Fixed ZEND_VM_DEFINE_OP build when --w ithout-specializer: Zend/zend_vm_gen.php
| From: | Xinchen Hui | Date: | Sun, 28 Jun 2015 13:16:08 +0000 |
| Subject: | com php-src: Fixed ZEND_VM_DEFINE_OP build when --w ithout-specializer: Zend/zend_vm_gen.php | ||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-87572@lists.php.net to get a copy of this message | ||
Commit: f70950d0049fad1a2de00396680618efa31485df
Author: Xinchen Hui <laruence@php.net> Sun, 28 Jun 2015 21:16:08 +0800
Parents: 15979d2c9e029089b06c48570e8cf0faa0a20dc7
Branches: master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=f70950d0049fad1a2de00396680618efa31485df
Log:
Fixed ZEND_VM_DEFINE_OP build when --without-specializer
Changed paths:
M Zend/zend_vm_gen.php
Diff:
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index 316eb55..ff181ce 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -866,8 +866,11 @@ function gen_labels($f, $spec, $kind, $prolog) {
$next++;
}
$next = $num+1;
- // Emit pointer to unspecialized handler
- switch ($kind) {
+
+ //ugly trick for ZEND_VM_DEFINE_OP
+ if ($dsc["code"]) {
+ // Emit pointer to unspecialized handler
+ switch ($kind) {
case ZEND_VM_KIND_CALL:
out($f,$prolog.$dsc["op"]."_HANDLER,\n");
break;
@@ -877,6 +880,19 @@ function gen_labels($f, $spec, $kind, $prolog) {
case ZEND_VM_KIND_GOTO:
out($f,$prolog."(void*)&&".$dsc["op"]."_HANDLER,\n");
break;
+ }
+ } else {
+ switch ($kind) {
+ case ZEND_VM_KIND_CALL:
+ out($f,$prolog."ZEND_NULL_HANDLER,\n");
+ break;
+ case ZEND_VM_KIND_SWITCH:
+ out($f,$prolog."(void*)(uintptr_t)-1,\n");
+ break;
+ case ZEND_VM_KIND_GOTO:
+ out($f,$prolog."(void*)&&ZEND_NULL_HANDLER,\n");
+ break;
+ }
}
}
}