summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@php.net>2006-09-18 12:03:10 +0000
committerDmitry Stogov <dmitry@php.net>2006-09-18 12:03:10 +0000
commita16cb0b4d56e168922b2e8c8aee64160bf5ae078 (patch)
treedd8fc9f9d0f691c767377195e855e8079d5d6e4b
parent5aa6dcc6c8e5965c75e138481e101528de37b14d (diff)
downloadphp-git-a16cb0b4d56e168922b2e8c8aee64160bf5ae078.tar.gz
Fixed non-specialized executor
-rw-r--r--Zend/zend_vm_gen.php4
1 files changed, 4 insertions, 0 deletions
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php
index e81597d6af..a6ce7f737f 100644
--- a/Zend/zend_vm_gen.php
+++ b/Zend/zend_vm_gen.php
@@ -342,6 +342,8 @@ function gen_code($f, $spec, $kind, $code, $op1, $op2) {
"/defined\(ZEND_VM_SPEC\)/m",
"/ZEND_VM_C_LABEL\(\s*([A-Za-z_]*)\s*\)/m",
"/ZEND_VM_C_GOTO\(\s*([A-Za-z_]*)\s*\)/m",
+ "/^#if\s+1\s*\\|\\|.*[^\\\\]$/m",
+ "/^#if\s+0\s*&&.*[^\\\\]$/m"
),
array(
$op1_type[$op1],
@@ -370,6 +372,8 @@ function gen_code($f, $spec, $kind, $code, $op1, $op2) {
($op1!="ANY"||$op2!="ANY")?"1":"0",
"\\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2]):""),
"goto \\1".(($spec && $kind != ZEND_VM_KIND_CALL)?("_SPEC".$prefix[$op1].$prefix[$op2]):""),
+ "#if 1",
+ "#if 0",
),
$code);