diff options
Diffstat (limited to 'Zend/zend_vm_gen.php')
-rw-r--r-- | Zend/zend_vm_gen.php | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/Zend/zend_vm_gen.php b/Zend/zend_vm_gen.php index 3eddeefbeb..551599d7ac 100644 --- a/Zend/zend_vm_gen.php +++ b/Zend/zend_vm_gen.php @@ -1181,6 +1181,7 @@ function gen_vm($def, $skel) { out($f, $GLOBALS['header_text']); fputs($f, "#ifndef ZEND_VM_OPCODES_H\n#define ZEND_VM_OPCODES_H\n\n"); + fputs($f, "extern ZEND_API const char *zend_vm_opcodes_map[".($max_opcode + 1)."];\n\n"); foreach ($opcodes as $code => $dsc) { $code = str_pad((string)$code,$code_len," ",STR_PAD_LEFT); @@ -1188,15 +1189,24 @@ function gen_vm($def, $skel) { fputs($f,"#define $op $code\n"); } - fputs($f,"\nstatic const char *zend_vm_opcodes_map[] = {\n"); + fputs($f, "\n#endif"); + fclose($f); + echo "zend_vm_opcodes.h generated successfully.\n"; + + // zend_vm_opcodes.c + $f = fopen(__DIR__ . "zend_vm_opcodes.c", "w+") or die("ERROR: Cannot create zend_vm_opcodes.c\n"); + + // Insert header + out($f, $GLOBALS['header_text']); + + fputs($f,"const char *zend_vm_opcodes_map[".($max_opcode + 1)."] = {\n"); for ($i = 0; $i <= $max_opcode; $i++) { fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n"); } fputs($f, "};\n"); - fputs($f, "\n#endif"); fclose($f); - echo "zend_vm_opcodes.h generated successfully.\n"; + echo "zend_vm_opcodes.c generated successfully.\n"; // Generate zend_vm_execute.h $f = fopen(__DIR__ . "/zend_vm_execute.h", "w+") or die("ERROR: Cannot create zend_vm_execute.h\n"); |