diff --git a/tool/ruby_vm/views/vm.inc.erb b/tool/ruby_vm/views/vm.inc.erb index 3c7b602859..91e0b930c0 100644 --- a/tool/ruby_vm/views/vm.inc.erb +++ b/tool/ruby_vm/views/vm.inc.erb @@ -25,16 +25,19 @@ <%= render 'insn_entry', locals: { insn: insn } -%> % end % -% RubyVM::TraceInstructions.to_a.each do |insn| -<%= render 'trace_instruction', locals: { insn: insn } -%> -% end % RubyVM::MicroJIT::ExampleInstructions.to_a.each do |insn| INSN_ENTRY(<%= insn.name %>) { START_OF_ORIGINAL_INSN(<%= insn.name %>); +#if USE_MACHINE_REGS // assumes USE_MACHINE_REGS, aka reg_pc setup, // aka #define SET_PC(x) (reg_cfp->pc = reg_pc = (x)) reg_pc = rb_ujit_empty_func(GET_CFP()); +#endif END_INSN(<%= insn.name %>); } % end +% +% RubyVM::TraceInstructions.to_a.each do |insn| +<%= render 'trace_instruction', locals: { insn: insn } -%> +% end diff --git a/vm_opts.h b/vm_opts.h index b0ca81f304..a10b26039c 100644 --- a/vm_opts.h +++ b/vm_opts.h @@ -34,7 +34,7 @@ * 2: call (function call for each insn dispatch) */ #ifndef OPT_THREADED_CODE -#define OPT_THREADED_CODE 0 +#define OPT_THREADED_CODE 2 #endif #define OPT_DIRECT_THREADED_CODE (OPT_THREADED_CODE == 0)