@@ -1954,7 +1954,7 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
19541954 out ($ f ,"#endif \n" );
19551955 out ($ f ,"\n" );
19561956 out ($ f ,"#if defined(ZEND_VM_FP_GLOBAL_REG) && defined(ZEND_VM_IP_GLOBAL_REG) \n" );
1957- out ($ f ,"# define ZEND_OPCODE_HANDLER_RET void \n" );
1957+ out ($ f ,"# define ZEND_OPCODE_HANDLER_RET void \n" );
19581958 out ($ f ,"# define ZEND_VM_TAIL_CALL(call) call; return \n" );
19591959 out ($ f ,"# define ZEND_VM_CONTINUE() return \n" );
19601960 if ($ kind == ZEND_VM_KIND_HYBRID ) {
@@ -1971,18 +1971,19 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
19711971 out ($ f ,"# define ZEND_VM_RETURN() opline = NULL; return \n" );
19721972 out ($ f ,"# define ZEND_VM_COLD ZEND_COLD ZEND_OPT_SIZE \n" );
19731973 }
1974- out ($ f ,"# define ZEND_VM_DISPATCH(handler) (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); return \n" );
1974+ out ($ f ,"# define ZEND_VM_DISPATCH(handler) \\\n" );
1975+ out ($ f , " (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); return \n" );
19751976 out ($ f ,"# define ZEND_VM_DISPATCH_EX(handler, ...) \\\n" );
1976- out ($ f ," return (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_EX __VA_ARGS__) \n" );
1977+ out ($ f , " (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_EX __VA_ARGS__); return \n" );
19771978 out ($ f ,"#else \n" );
1978- out ($ f ,"# define ZEND_OPCODE_HANDLER_RET const zend_op * \n" );
1979- out ($ f ,"# define ZEND_VM_TAIL_CALL(call) return call \n" );
1980- out ($ f ,"# define ZEND_VM_CONTINUE() return opline \n" );
1981- out ($ f ,"# define ZEND_VM_RETURN() return (const zend_op*)ZEND_VM_ENTER_BIT \n" );
1982- out ($ f ,"# define ZEND_VM_DISPATCH(handler) return (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) \n" );
1979+ out ($ f ,"# define ZEND_OPCODE_HANDLER_RET const zend_op * \n" );
1980+ out ($ f ,"# define ZEND_VM_TAIL_CALL(call) return call \n" );
1981+ out ($ f ,"# define ZEND_VM_CONTINUE() return opline \n" );
1982+ out ($ f ,"# define ZEND_VM_RETURN() return (const zend_op*)ZEND_VM_ENTER_BIT \n" );
1983+ out ($ f ,"# define ZEND_VM_DISPATCH(handler) \\\n" );
1984+ out ($ f ," return (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU) \n" );
19831985 out ($ f ,"# define ZEND_VM_DISPATCH_EX(handler, ...) \\\n" );
19841986 out ($ f ," return (handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_EX __VA_ARGS__) \n" );
1985- out ($ f ,"# define ZEND_VM_INTERRUPT() ZEND_VM_DISPATCH(zend_interrupt_helper " .($ spec ?"_SPEC " :"" ).") \n" );
19861987 if ($ kind == ZEND_VM_KIND_HYBRID ) {
19871988 out ($ f ,"# define ZEND_VM_HOT \n" );
19881989 }
@@ -2023,8 +2024,8 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
20232024 out ($ f ,"# define ZEND_VM_ENTER_EX() return (zend_op*)((uintptr_t)opline | ZEND_VM_ENTER_BIT) \n" );
20242025 out ($ f ,"# define ZEND_VM_ENTER() execute_data = EG(current_execute_data); LOAD_OPLINE(); ZEND_VM_ENTER_EX() \n" );
20252026 out ($ f ,"# define ZEND_VM_LEAVE() return (zend_op*)((uintptr_t)opline | ZEND_VM_ENTER_BIT) \n" );
2026- out ($ f ,"# define ZEND_VM_INTERRUPT() ZEND_VM_DISPATCH(zend_interrupt_helper " .($ spec ?"_SPEC " :"" ).") \n" );
20272027 out ($ f ,"#endif \n" );
2028+ out ($ f ,"#define ZEND_VM_INTERRUPT() ZEND_VM_DISPATCH(zend_interrupt_helper " .($ spec ?"_SPEC " :"" ).") \n" );
20282029 out ($ f ,"#define ZEND_VM_LOOP_INTERRUPT() zend_interrupt_helper " .($ spec ?"_SPEC " :"" )."(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); \n" );
20292030 if ($ kind == ZEND_VM_KIND_HYBRID ) {
20302031 out ($ f ,"#define ZEND_VM_DISPATCH_OPCODE(opcode, opline) return zend_vm_get_opcode_handler_func(opcode, opline)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU); \n" );
@@ -2129,10 +2130,10 @@ function gen_executor($f, $skl, $spec, $kind, $executor_name, $initializer_name)
21292130 out ($ f ,"# define ZEND_VM_DISPATCH_NOTAIL(handler) return opline \n" );
21302131 out ($ f ,"# define ZEND_VM_DISPATCH(handler) ZEND_VM_DISPATCH_DEFAULT(handler) \n" );
21312132 out ($ f ,"# define ZEND_VM_DISPATCH_EX(_handler, ...) \\\n" );
2132- out ($ f ," do { \\\n" );
2133- out ($ f , " opline = (_handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_EX __VA_ARGS__); \\\n" );
2134- out ($ f , " ZEND_VM_DISPATCH(opline->handler); \\\n" );
2135- out ($ f , " } while (0) \n" );
2133+ out ($ f ," do { \\\n" );
2134+ out ($ f ," opline = (_handler)(ZEND_OPCODE_HANDLER_ARGS_PASSTHRU_EX __VA_ARGS__); \\\n" );
2135+ out ($ f ," ZEND_VM_DISPATCH(opline->handler); \\\n" );
2136+ out ($ f ," } while (0) \n" );
21362137 out ($ f ,"# define ZEND_VM_DISPATCH_LEAVE_HELPER(helper) opline = &call_leave_op; SAVE_OPLINE(); ZEND_VM_DISPATCH(helper) \n" );
21372138 out ($ f ,"# define ZEND_VM_INTERRUPT() ZEND_VM_DISPATCH(zend_interrupt_helper " .($ spec ?"_SPEC " :"" )."_TAILCALL) \n" );
21382139 out ($ f ,"\n" );
0 commit comments