]> granicus.if.org Git - php/commitdiff
Exposed ZEND_VM_KIND etc
authorXinchen Hui <laruence@php.net>
Mon, 16 Mar 2015 09:00:04 +0000 (17:00 +0800)
committerXinchen Hui <laruence@php.net>
Mon, 16 Mar 2015 09:00:04 +0000 (17:00 +0800)
Zend/zend_vm_gen.php
Zend/zend_vm_opcodes.h

index 7fc7902ae64129a84aaefd662889d6bbdabfe713..cd0fb378b0071b5ac72cf0f3dc7972b67433e1c5 100644 (file)
@@ -54,6 +54,12 @@ define("ZEND_VM_KIND_CALL",   1);
 define("ZEND_VM_KIND_SWITCH", 2);
 define("ZEND_VM_KIND_GOTO",   3);
 
+$vm_kind_name = array(
+       ZEND_VM_KIND_CALL => "ZEND_VM_KIND_CALL",
+       ZEND_VM_KIND_SWITCH => "ZEND_VM_KIND_SWITCH",
+       ZEND_VM_KIND_GOTO => "ZEND_VM_KIND_GOTO",
+);
+
 $op_types = array(
        "ANY",
        "CONST",
@@ -1351,8 +1357,14 @@ function gen_vm($def, $skel) {
 
        // Insert header
        out($f, $GLOBALS['header_text']);
-
        fputs($f, "#ifndef ZEND_VM_OPCODES_H\n#define ZEND_VM_OPCODES_H\n\n");
+       fputs($f, "#define ZEND_VM_SPEC\t\t" . ZEND_VM_SPEC . "\n");
+       fputs($f, "#define ZEND_VM_LINES\t\t" . ZEND_VM_LINES . "\n");
+       fputs($f, "#define ZEND_VM_KIND_CALL\t" . ZEND_VM_KIND_CALL . "\n");
+       fputs($f, "#define ZEND_VM_KIND_SWITCH\t" . ZEND_VM_KIND_SWITCH . "\n");
+       fputs($f, "#define ZEND_VM_KIND_GOTO\t" . ZEND_VM_KIND_GOTO . "\n");
+       fputs($f, "#define ZEND_VM_KIND\t\t" . $GLOBALS["vm_kind_name"][ZEND_VM_KIND] . "\n");
+       fputs($f, "\n");
        fputs($f, "BEGIN_EXTERN_C()\n\n");
        fputs($f, "ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);\n\n");
        fputs($f, "END_EXTERN_C()\n\n");
index e161ee0078a0abd7f34bba7c6b896a497c745b72..3965740fb27f52a92ac3c6f5bdd321ad5e00c275 100644 (file)
 #ifndef ZEND_VM_OPCODES_H
 #define ZEND_VM_OPCODES_H
 
+#define ZEND_VM_SPEC           1
+#define ZEND_VM_LINES          0
+#define ZEND_VM_KIND_CALL      1
+#define ZEND_VM_KIND_SWITCH    2
+#define ZEND_VM_KIND_GOTO      3
+#define ZEND_VM_KIND           ZEND_VM_KIND_CALL
+
 BEGIN_EXTERN_C()
 
 ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);