From b5d5cce11b6980e963d84a7ee16a3d9a04a682da Mon Sep 17 00:00:00 2001 From: ko1 Date: Mon, 11 Dec 2017 16:07:21 +0000 Subject: vm_exec.h: introduce macros for abstarction. * vm_exec.h: declare two macros * START_OF_ORIGINAL_INSN() * DISPATCH_ORIGINAL_INSN() instead of inserting label and goto lines. For OPT_CALL_THREADED_CODE, first macro is empty and second macro is simply call the original insn function. * tool/instruction.rb: use above macros. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@61120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- tool/instruction.rb | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'tool') diff --git a/tool/instruction.rb b/tool/instruction.rb index 3354933da9..447fed5948 100755 --- a/tool/instruction.rb +++ b/tool/instruction.rb @@ -540,7 +540,7 @@ class RubyVM @insns.dup.each{|insn| body = <<-EOS vm_trace(ec, GET_CFP(), GET_PC()); - goto start_of_#{insn.name}; + DISPATCH_ORIGINAL_INSN(#{insn.name}); EOS trace_insn = Instruction.new(name = "trace_#{insn.name}", @@ -884,7 +884,7 @@ class RubyVM end def make_header insn - label = insn.trace ? '' : "start_of_#{insn.name}:;" + label = insn.trace ? '' : "START_OF_ORIGINAL_INSN(#{insn.name});" commit "INSN_ENTRY(#{insn.name}){#{label}" make_header_prepare_stack insn commit "{" -- cgit v1.2.1