From 8247f49fb253b085102db32e6bac3c2f6d65ad80 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Mon, 16 Mar 2015 17:00:04 +0800 Subject: [PATCH] Exposed ZEND_VM_KIND etc --- Zend/zend_vm_gen.php | 14 +++++++++++++- Zend/zend_vm_opcodes.h | 7 +++++++ 2 files changed, 20 insertions(+), 1 deletion(-) diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php index 7fc7902ae6..cd0fb378b0 100644 --- a/Zend/zend_vm_gen.php +++ b/Zend/zend_vm_gen.php @@ -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"); diff --git a/Zend/zend_vm_opcodes.h b/Zend/zend_vm_opcodes.h index e161ee0078..3965740fb2 100644 --- a/Zend/zend_vm_opcodes.h +++ b/Zend/zend_vm_opcodes.h @@ -21,6 +21,13 @@ #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); -- 2.40.0