Lines Matching refs:f
272 function out($f, $s) { argument
275 fputs($f,$s);
280 function out_line($f) { argument
283 fputs($f,"#line ".($line_no+1)." \"".$executor_file."\"\n");
307 function gen_code($f, $spec, $kind, $export, $code, $op1, $op2, $name) { argument
477 out($f, $code);
481 function gen_handler($f, $spec, $kind, $name, $op1, $op2, $use, $code, $lineno) { argument
485 out($f, "#line $lineno \"$definition_file\"\n");
491 …out($f,"static int ZEND_FASTCALL ".$name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2]."_HANDLER…
495 …out($f,"case ".((string)($opnames[$name]*25+($typecode[$op1]*5)+$typecode[$op2])).": /*".$name."_S…
497 out($f,"case ".$name.":");
501 out($f," ".$name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2]."_LABEL:\n");
503 out($f,"\n");
507 …out($f,$name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2]."_HANDLER: ZEND_VM_GUARD(".$name.($spe…
512 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name);
516 function gen_helper($f, $spec, $kind, $name, $op1, $op2, $param, $code, $lineno) { argument
520 out($f, "#line $lineno \"$definition_file\"\n");
528 …out($f, "static int ZEND_FASTCALL ".$name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2]."(ZEND_OP…
531 …out($f, "static int ZEND_FASTCALL ".$name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2]."(".$para…
535 out($f, $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].":\n");
538 out($f, $name.($spec?"_SPEC":"").$prefix[$op1].$prefix[$op2].":\n");
543 gen_code($f, $spec, $kind, 0, $code, $op1, $op2, $name);
547 function gen_labels($f, $spec, $kind, $prolog) { argument
570 out($f,$prolog."ZEND_NULL_HANDLER,\n");
573 out($f,$prolog."(opcode_handler_t)-1,\n");
576 out($f,$prolog."(opcode_handler_t)&&ZEND_NULL_HANDLER,\n");
608 out($f,$prolog.$dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2]."_HANDLER,\n");
611 … out($f,$prolog."(opcode_handler_t)".((string)($num*25+$typecode[$op1]*5+$typecode[$op2])).",\n");
614 …out($f,$prolog."(opcode_handler_t)&&".$dsc["op"]."_SPEC".$prefix[$op1].$prefix[$op2]."_HANDLER,\n"…
621 out($f,$prolog."ZEND_NULL_HANDLER,\n");
624 out($f,$prolog."(opcode_handler_t)-1,\n");
627 out($f,$prolog."(opcode_handler_t)&&ZEND_NULL_HANDLER,\n");
646 out($f,$prolog."ZEND_NULL_HANDLER,\n");
649 out($f,$prolog."(opcode_handler_t)-1,\n");
652 out($f,$prolog."(opcode_handler_t)&&ZEND_NULL_HANDLER,\n");
661 out($f,$prolog.$dsc["op"]."_HANDLER,\n");
664 out($f,$prolog."(opcode_handler_t)".((string)$num).",\n");
667 out($f,$prolog."(opcode_handler_t)&&".$dsc["op"]."_HANDLER,\n");
676 out($f,$prolog."ZEND_NULL_HANDLER\n");
679 out($f,$prolog."(opcode_handler_t)-1\n");
682 out($f,$prolog."(opcode_handler_t)&&ZEND_NULL_HANDLER\n");
688 function gen_null_handler($f) { argument
695 out($f,"static int ZEND_FASTCALL ZEND_NULL_HANDLER(ZEND_OPCODE_HANDLER_ARGS)\n");
696 out($f,"{\n");
697 …out($f,"\tzend_error_noreturn(E_ERROR, \"Invalid opcode %d/%d/%d.\", OPLINE->opcode, OPLINE->op1_t…
698 out($f,"}\n\n");
703 function gen_executor_code($f, $spec, $kind, $prolog) { argument
722 …gen_handler($f, 1, $kind, $opcodes[$num]["op"], $op1, $op2, isset($opcodes[$num]["use"]), $opcodes…
730 …gen_helper($f, 1, $kind, $num, $op1, $op2, $helpers[$num]["param"], $helpers[$num]["code"], $linen…
747 …gen_handler($f, 0, $kind, $opcodes[$num]["op"], "ANY", "ANY", isset($opcodes[$num]["use"]), $opcod…
751 …gen_helper($f, 0, $kind, $num, "ANY", "ANY", $helpers[$num]["param"], $helpers[$num]["code"], $lin…
761 out_line($f);
767 gen_null_handler($f);
770 out($f,"default:\n");
771 …out($f,"\tzend_error_noreturn(E_ERROR, \"Invalid opcode %d/%d/%d.\", OPLINE->opcode, OPLINE->op1_t…
774 out($f,"ZEND_NULL_HANDLER:\n");
775 …out($f,"\tzend_error_noreturn(E_ERROR, \"Invalid opcode %d/%d/%d.\", OPLINE->opcode, OPLINE->op1_t…
780 function skip_blanks($f, $prolog, $epilog) { argument
782 out($f, $prolog.$epilog);
787 function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name, $old) { argument
798 out($f,"static int zend_vm_old_executor = 0;\n\n");
800 … out($f,"static opcode_handler_t zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op);\n\n");
803 out($f,"\n");
804 out($f,"#undef OPLINE\n");
805 out($f,"#undef DCL_OPLINE\n");
806 out($f,"#undef USE_OPLINE\n");
807 out($f,"#undef LOAD_OPLINE\n");
808 out($f,"#undef SAVE_OPLINE\n");
809 out($f,"#define OPLINE EX(opline)\n");
810 out($f,"#define DCL_OPLINE\n");
811 out($f,"#define USE_OPLINE zend_op *opline = EX(opline);\n");
812 out($f,"#define LOAD_OPLINE()\n");
813 out($f,"#define SAVE_OPLINE()\n");
814 out($f,"#undef CHECK_EXCEPTION\n");
815 out($f,"#undef HANDLE_EXCEPTION\n");
816 out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
817 out($f,"#define CHECK_EXCEPTION() LOAD_OPLINE()\n");
818 out($f,"#define HANDLE_EXCEPTION() LOAD_OPLINE(); ZEND_VM_CONTINUE()\n");
819 out($f,"#define HANDLE_EXCEPTION_LEAVE() LOAD_OPLINE(); ZEND_VM_LEAVE()\n");
820 out($f,"#define LOAD_REGS()\n");
821 out($f,"#define ZEND_VM_CONTINUE() return 0\n");
822 out($f,"#define ZEND_VM_RETURN() return 1\n");
823 out($f,"#define ZEND_VM_ENTER() return 2\n");
824 out($f,"#define ZEND_VM_LEAVE() return 3\n");
825 …out($f,"#define ZEND_VM_DISPATCH(opcode, opline) return zend_vm_get_opcode_handler(opcode, opline)…
826 out($f,"#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL execute_data TSRMLS_CC\n");
827 out($f,"#undef EX\n");
828 out($f,"#define EX(element) execute_data->element\n\n");
829 out($f,"#undef EX_CV\n");
830 out($f,"#define EX_CV(var) EX(CVs)[var]\n");
831 out($f,"#undef EX_CVs\n");
832 out($f,"#define EX_CVs() EX(CVs)\n");
833 out($f,"#undef EX_T\n");
834 out($f,"#define EX_T(offset) (*(temp_variable *)((char *) EX(Ts) + offset))\n");
835 out($f,"#undef EX_Ts\n");
836 out($f,"#define EX_Ts() EX(Ts)\n\n");
839 out($f,"\n");
840 out($f,"#undef OPLINE\n");
841 out($f,"#undef DCL_OPLINE\n");
842 out($f,"#undef USE_OPLINE\n");
843 out($f,"#undef LOAD_OPLINE\n");
844 out($f,"#undef SAVE_OPLINE\n");
845 out($f,"#define OPLINE opline\n");
846 out($f,"#define DCL_OPLINE zend_op *opline;\n");
847 out($f,"#define USE_OPLINE\n");
848 out($f,"#define LOAD_OPLINE() opline = EX(opline)\n");
849 out($f,"#define SAVE_OPLINE() EX(opline) = opline\n");
850 out($f,"#undef CHECK_EXCEPTION\n");
851 out($f,"#undef HANDLE_EXCEPTION\n");
852 out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
853 out($f,"#define CHECK_EXCEPTION() LOAD_OPLINE()\n");
854 out($f,"#define HANDLE_EXCEPTION() LOAD_OPLINE(); ZEND_VM_CONTINUE()\n");
855 out($f,"#define HANDLE_EXCEPTION_LEAVE() LOAD_OPLINE(); ZEND_VM_LEAVE()\n");
856 out($f,"#define LOAD_REGS() do {Ts = EX(Ts); CVs = EX(CVs);} while (0)\n");
857 out($f,"#define ZEND_VM_CONTINUE() goto zend_vm_continue\n");
858 out($f,"#define ZEND_VM_RETURN() EG(in_execution) = original_in_execution; return\n");
859 out($f,"#define ZEND_VM_ENTER() op_array = EG(active_op_array); goto zend_vm_enter\n");
860 out($f,"#define ZEND_VM_LEAVE() ZEND_VM_CONTINUE()\n");
861 …out($f,"#define ZEND_VM_DISPATCH(opcode, opline) dispatch_handler = zend_vm_get_opcode_handler(opc…
862 out($f,"#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL execute_data TSRMLS_CC\n");
863 out($f,"#undef EX\n");
864 out($f,"#define EX(element) execute_data->element\n\n");
865 out($f,"#undef EX_CV\n");
866 out($f,"#define EX_CV(var) CVs[var]\n");
867 out($f,"#undef EX_CVs\n");
868 out($f,"#define EX_CVs() CVs\n");
869 out($f,"#undef EX_T\n");
870 out($f,"#define EX_T(offset) T(offset)\n");
871 out($f,"#undef EX_Ts\n");
872 out($f,"#define EX_Ts() Ts\n\n");
875 out($f,"\n");
876 out($f,"#undef OPLINE\n");
877 out($f,"#undef DCL_OPLINE\n");
878 out($f,"#undef USE_OPLINE\n");
879 out($f,"#undef LOAD_OPLINE\n");
880 out($f,"#undef SAVE_OPLINE\n");
881 out($f,"#define OPLINE opline\n");
882 out($f,"#define DCL_OPLINE zend_op *opline;\n");
883 out($f,"#define USE_OPLINE\n");
884 out($f,"#define LOAD_OPLINE() opline = EX(opline)\n");
885 out($f,"#define SAVE_OPLINE() EX(opline) = opline\n");
886 out($f,"#undef CHECK_EXCEPTION\n");
887 out($f,"#undef HANDLE_EXCEPTION\n");
888 out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
890 …out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTIO…
891 out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
892 out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_SPEC_HANDLER\n");
894 …out($f,"#define CHECK_EXCEPTION() if (UNEXPECTED(EG(exception) != NULL)) goto ZEND_HANDLE_EXCEPTIO…
895 out($f,"#define HANDLE_EXCEPTION() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
896 out($f,"#define HANDLE_EXCEPTION_LEAVE() goto ZEND_HANDLE_EXCEPTION_HANDLER\n");
899 out($f,"#define LOAD_REGS() do {Ts = EX(Ts); CVs = EX(CVs);} while (0)\n");
900 out($f,"#define ZEND_VM_CONTINUE() goto *(void**)(OPLINE->handler)\n");
901 out($f,"#define ZEND_VM_RETURN() EG(in_execution) = original_in_execution; return\n");
902 out($f,"#define ZEND_VM_ENTER() op_array = EG(active_op_array); goto zend_vm_enter\n");
903 out($f,"#define ZEND_VM_LEAVE() ZEND_VM_CONTINUE()\n");
904 …out($f,"#define ZEND_VM_DISPATCH(opcode, opline) goto *(void**)(zend_vm_get_opcode_handler(opcode,…
905 out($f,"#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL execute_data TSRMLS_CC\n");
906 out($f,"#undef EX\n");
907 out($f,"#define EX(element) execute_data->element\n\n");
908 out($f,"#undef EX_CV\n");
909 out($f,"#define EX_CV(var) CVs[var]\n");
910 out($f,"#undef EX_CVs\n");
911 out($f,"#define EX_CVs() CVs\n");
912 out($f,"#undef EX_T\n");
913 out($f,"#define EX_T(offset) T(offset)\n\n");
914 out($f,"#undef EX_Ts\n");
915 out($f,"#define EX_Ts() Ts\n\n");
920 out($f, $m[1].$executor_name.$m[3]."\n");
924 out($f,$m[1]."temp_variable *Ts;\n");
925 out($f,$m[1]."zval ***CVs;\n");
927 out($f,$m[1]."opcode_handler_t dispatch_handler;\n");
931 out($f,$m[1].$param.";\n");
934 skip_blanks($f, $m[1], $m[3]."\n");
939 out($f, $m[1] . "zend_bool original_in_execution = EG(in_execution);\n");
941 out($f, $m[1] . "zend_bool original_in_execution = op_array? EG(in_execution) : 0;\n");
949 out($f,$prolog."if (op_array == NULL) {\n");
950 out($f,$prolog."\tstatic const opcode_handler_t labels[] = {\n");
951 gen_labels($f, $spec, $kind, $prolog."\t\t");
952 out($f,$prolog."\t};\n");
953 out($f,$prolog."\tzend_opcode_handlers = (opcode_handler_t*)labels;\n");
954 out($f,$prolog."\treturn;\n");
955 out($f,$prolog."}\n");
957 skip_blanks($f, $m[1], $m[3]);
963 out($f,$m[1]."\tint ret;".$m[3]."\n");
966 out($f,"zend_vm_continue:".$m[3]."\n");
968 skip_blanks($f, $m[1], $m[3]);
975 out($f, $m[1]."if ((ret = OPLINE->handler(execute_data TSRMLS_CC)) > 0)".$m[3]."\n");
978 …out($f, $m[1]."dispatch_handler = OPLINE->handler;\nzend_vm_dispatch:\n".$m[1]."switch ((int)dispa…
981 out($f, $m[1]."goto *(void**)(OPLINE->handler);".$m[3]."\n");
988 out($f, $m[1]."switch (ret) {\n" .
1002 gen_executor_code($f, $spec, $kind, $m[1]);
1011 gen_executor_code($f, $spec, $kind, $m[1]);
1016 out($f, $m[1].$initializer_name.$m[3]."\n");
1024 out($f,$prolog."TSRMLS_FETCH();\n");
1025 out($f,$prolog."zend_execute(NULL TSRMLS_CC);\n");
1029 out($f,$prolog."static opcode_handler_t labels[512] = {\n");
1031 out($f,$prolog."static const opcode_handler_t labels[] = {\n");
1033 gen_labels($f, $spec, $kind, $prolog."\t");
1034 out($f,$prolog."};\n");
1035 out($f,$prolog."zend_opcode_handlers = (opcode_handler_t*)labels;\n");
1038 out($f,$prolog."zend_vm_old_executor = 1;\n");
1039 out($f,$prolog."zend_execute = old_execute;\n");
1048 out($f, $line);
1199 $f = fopen("zend_vm_opcodes.h", "w+") or die("ERROR: Cannot create zend_vm_opcodes.h\n");
1202 out($f, $GLOBALS['header_text']);
1204 fputs($f, "#ifndef ZEND_VM_OPCODES_H\n#define ZEND_VM_OPCODES_H\n\n");
1205 fputs($f, "ZEND_API const char *zend_get_opcode_name(zend_uchar opcode);\n\n");
1210 fputs($f,"#define $op $code\n");
1213 fputs($f, "\n#endif\n");
1214 fclose($f);
1218 $f = fopen("zend_vm_opcodes.c", "w+") or die("ERROR: Cannot create zend_vm_opcodes.c\n");
1221 out($f, $GLOBALS['header_text']);
1222 fputs($f,"#include <stdio.h>\n");
1223 fputs($f,"#include <zend.h>\n\n");
1225 fputs($f,"const char *zend_vm_opcodes_map[".($max_opcode + 1)."] = {\n");
1227 fputs($f,"\t".(isset($opcodes[$i]["op"])?'"'.$opcodes[$i]["op"].'"':"NULL").",\n");
1229 fputs($f, "};\n\n");
1231 fputs($f, "ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {\n");
1232 fputs($f, "\treturn zend_vm_opcodes_map[opcode];\n");
1233 fputs($f, "}\n");
1235 fclose($f);
1239 $f = fopen("zend_vm_execute.h", "w+") or die("ERROR: Cannot create zend_vm_execute.h\n");
1243 out($f, $GLOBALS['header_text']);
1246 out($f, "#ifdef ZEND_WIN32\n# pragma warning(once : 4101)\n#endif\n");
1249 out($f, "static user_opcode_handler_t zend_user_opcode_handlers[256] = {\n");
1251 out($f, "\t(user_opcode_handler_t)NULL,\n");
1253 out($f, "\t(user_opcode_handler_t)NULL\n};\n\n");
1255 out($f, "static zend_uchar zend_user_opcodes[256] = {");
1257 if ($i % 16 == 1) out($f, "\n\t");
1258 out($f, "$i,");
1260 out($f, "255\n};\n\n");
1263 gen_executor($f, $skl, ZEND_VM_SPEC, ZEND_VM_KIND, "execute", "zend_init_opcodes_handlers", 0);
1267 out($f,"\n/* Old executor */\n\n");
1268 out($f,"#undef EX\n");
1269 out($f,"#define EX(element) execute_data.element\n\n");
1270 out($f,"#undef EX_CV\n");
1271 out($f,"#define EX_CV(var) EX(CVs)[var]\n");
1272 out($f,"#undef EX_CVs\n");
1273 out($f,"#define EX_CVs() EX(CVs)\n");
1274 out($f,"#undef EX_T\n");
1275 out($f,"#define EX_T(offset) (*(temp_variable *)((char *) EX(Ts) + offset))\n\n");
1276 out($f,"#undef ZEND_VM_CONTINUE\n\n");
1277 out($f,"#undef ZEND_VM_RETURN\n\n");
1278 out($f,"#undef ZEND_VM_ENTER\n\n");
1279 out($f,"#undef ZEND_VM_LEAVE\n\n");
1280 out($f,"#undef ZEND_VM_DISPATCH\n\n");
1281 out($f,"#undef ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL\n\n");
1282 gen_executor($f, $skl, 0, ZEND_VM_KIND_CALL, "old_execute", "zend_vm_use_old_executor", 1);
1286 out($f, "static opcode_handler_t zend_vm_get_opcode_handler(zend_uchar opcode, zend_op* op)\n");
1287 out($f, "{\n");
1289 out($f, "\treturn zend_opcode_handlers[opcode];\n");
1292 out($f, "\tif (zend_vm_old_executor) {\n");
1293 out($f, "\t\treturn zend_opcode_handlers[opcode];\n");
1294 out($f, "\t} else {\n");
1296 out($f, "\t\tstatic const int zend_vm_decode[] = {\n");
1297 out($f, "\t\t\t_UNUSED_CODE, /* 0 */\n");
1298 out($f, "\t\t\t_CONST_CODE, /* 1 = IS_CONST */\n");
1299 out($f, "\t\t\t_TMP_CODE, /* 2 = IS_TMP_VAR */\n");
1300 out($f, "\t\t\t_UNUSED_CODE, /* 3 */\n");
1301 out($f, "\t\t\t_VAR_CODE, /* 4 = IS_VAR */\n");
1302 out($f, "\t\t\t_UNUSED_CODE, /* 5 */\n");
1303 out($f, "\t\t\t_UNUSED_CODE, /* 6 */\n");
1304 out($f, "\t\t\t_UNUSED_CODE, /* 7 */\n");
1305 out($f, "\t\t\t_UNUSED_CODE, /* 8 = IS_UNUSED */\n");
1306 out($f, "\t\t\t_UNUSED_CODE, /* 9 */\n");
1307 out($f, "\t\t\t_UNUSED_CODE, /* 10 */\n");
1308 out($f, "\t\t\t_UNUSED_CODE, /* 11 */\n");
1309 out($f, "\t\t\t_UNUSED_CODE, /* 12 */\n");
1310 out($f, "\t\t\t_UNUSED_CODE, /* 13 */\n");
1311 out($f, "\t\t\t_UNUSED_CODE, /* 14 */\n");
1312 out($f, "\t\t\t_UNUSED_CODE, /* 15 */\n");
1313 out($f, "\t\t\t_CV_CODE /* 16 = IS_CV */\n");
1314 out($f, "\t\t};\n");
1315 …out($f, "\t\treturn zend_opcode_handlers[opcode * 25 + zend_vm_decode[op->op1_type] * 5 + zend_vm_…
1317 out($f, "\t}\n");
1320 out($f, "}\n\n");
1323 out($f, "ZEND_API void zend_vm_set_opcode_handler(zend_op* op)\n");
1324 out($f, "{\n");
1325 out($f, "\top->handler = zend_vm_get_opcode_handler(zend_user_opcodes[op->opcode], op);\n");
1326 out($f, "}\n\n");
1332 out($f,"#undef OPLINE\n");
1333 out($f,"#undef DCL_OPLINE\n");
1334 out($f,"#undef USE_OPLINE\n");
1335 out($f,"#undef LOAD_OPLINE\n");
1336 out($f,"#undef SAVE_OPLINE\n");
1337 out($f,"#define OPLINE EX(opline)\n");
1338 out($f,"#define DCL_OPLINE\n");
1339 out($f,"#define USE_OPLINE zend_op *opline = EX(opline);\n");
1340 out($f,"#define LOAD_OPLINE()\n");
1341 out($f,"#define SAVE_OPLINE()\n");
1342 out($f,"#undef CHECK_EXCEPTION\n");
1343 out($f,"#undef HANDLE_EXCEPTION\n");
1344 out($f,"#undef HANDLE_EXCEPTION_LEAVE\n");
1345 out($f,"#define CHECK_EXCEPTION() LOAD_OPLINE()\n");
1346 out($f,"#define HANDLE_EXCEPTION() LOAD_OPLINE(); ZEND_VM_CONTINUE()\n");
1347 out($f,"#define HANDLE_EXCEPTION_LEAVE() LOAD_OPLINE(); ZEND_VM_LEAVE()\n");
1348 out($f,"#undef EX\n");
1349 out($f,"#define EX(element) execute_data->element\n\n");
1350 out($f,"#undef EX_CV\n");
1351 out($f,"#define EX_CV(var) EX(CVs)[var]\n");
1352 out($f,"#undef EX_CVs\n");
1353 out($f,"#define EX_CVs() EX(CVs)\n");
1354 out($f,"#undef EX_T\n");
1355 out($f,"#define EX_T(offset) (*(temp_variable *)((char *) EX(Ts) + offset))\n\n");
1356 out($f,"#undef ZEND_VM_CONTINUE\n");
1357 out($f,"#undef ZEND_VM_RETURN\n");
1358 out($f,"#undef ZEND_VM_ENTER\n");
1359 out($f,"#undef ZEND_VM_LEAVE\n");
1360 out($f,"#undef ZEND_VM_DISPATCH\n");
1361 out($f,"#undef ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL\n\n");
1362 out($f,"#define ZEND_VM_CONTINUE() return 0\n");
1363 out($f,"#define ZEND_VM_RETURN() return 1\n");
1364 out($f,"#define ZEND_VM_ENTER() return 2\n");
1365 out($f,"#define ZEND_VM_LEAVE() return 3\n");
1366 …out($f,"#define ZEND_VM_DISPATCH(opcode, opline) return zend_vm_get_opcode_handler(opcode, opline)…
1367 out($f,"#define ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_INTERNAL execute_data TSRMLS_CC\n\n");
1371 out($f, "ZEND_API int $func(");
1373 out($f, "ZEND_OPCODE_HANDLER_ARGS)\n");
1378 out($f, "ZEND_OPCODE_HANDLER_ARGS)\n");
1380 out($f, $h['param']. ", ZEND_OPCODE_HANDLER_ARGS)\n");
1387 out($f, "{\n\treturn ".$name."_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);\n}\n\n");
1390 out($f, "{\n\treturn ".$name."(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);\n}\n\n");
1397 …out($f, "{\n\treturn ".$name.(ZEND_VM_SPEC?"_SPEC":"")."_HANDLER(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU…
1403 …out($f, "{\n\treturn ".$name.(ZEND_VM_SPEC?"_SPEC":"")."(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU);\n}\n\…
1409 gen_code($f, 0, ZEND_VM_KIND_CALL, 1, $code, 'ANY', 'ANY', $name);
1413 fclose($f);