]> granicus.if.org Git - php/commitdiff
Fixed non-specialized executor
authorDmitry Stogov <dmitry@php.net>
Mon, 18 Sep 2006 12:03:10 +0000 (12:03 +0000)
committerDmitry Stogov <dmitry@php.net>
Mon, 18 Sep 2006 12:03:10 +0000 (12:03 +0000)
Zend/zend_vm_gen.php

index e81597d6afa99cf77eb9119feb25dc4830265054..a6ce7f737f40ed30be5ea3b6c3ee5b2de3ea98de 100644 (file)
@@ -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);