From e5b436cd76961741a3ba59e3c825f0b6e17864cb Mon Sep 17 00:00:00 2001 From: naruse Date: Wed, 27 Apr 2016 07:11:07 +0000 Subject: * tool/instruction.rb: fix to follow current implementation. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@54794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 4 ++++ tool/instruction.rb | 27 +++++++++++++++++---------- 2 files changed, 21 insertions(+), 10 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4251ee485c..e27a0e69ed 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Wed Apr 27 16:10:35 2016 NARUSE, Yui + + * tool/instruction.rb: fix to follow current implementation. + Wed Apr 27 15:47:54 2016 Nobuyoshi Nakada * ext/stringio/stringio.c (strio_s_new): warn if a block is given, diff --git a/tool/instruction.rb b/tool/instruction.rb index 4f7d08c369..45117950cf 100755 --- a/tool/instruction.rb +++ b/tool/instruction.rb @@ -453,9 +453,9 @@ class RubyVM pops.concat e_pops rets.concat e_rets defopes.concat e_defs - sp_inc += "#{insn.sp_inc}" + sp_inc << "#{insn.sp_inc}" - body += "{ /* unif: #{i} */\n" + + body << "{ /* unif: #{i} */\n" + passed_vars.map{|rpvars| pv = rpvars[0] rv = rpvars[1] @@ -463,15 +463,22 @@ class RubyVM }.join("\n") + "\n" + redef_vars.map{|v, type| - "#define #{v} #{v}_#{i}" - }.join("\n") + "\n" + - insn.body + - passed_vars.map{|rpvars| - "#undef #{rpvars[0][1]}" + "#{type} #{v} = #{v}_#{i};" + }.join("\n") + "\n" + if line = insn.body.instance_variable_get(:@line_no) + file = insn.body.instance_variable_get(:@file) + body << "#line #{line+1} \"#{file}\"\n" + body << insn.body + body << "\n#line __CURRENT_LINE__ \"__CURRENT_FILE__\"\n" + else + body << insn.body + end + body << redef_vars.keys.map{|v| + "#{v}_#{i} = #{v};" }.join("\n") + "\n" + - redef_vars.keys.map{|v| - "#undef #{v}" + passed_vars.map{|rpvars| + "#undef #{rpvars[0][1]}" }.join("\n") + "\n}\n" } @@ -893,7 +900,7 @@ class RubyVM commit insn.body commit '#line __CURRENT_LINE__ "__CURRENT_FILE__"' else - insn.body + commit insn.body end make_footer(insn) end -- cgit v1.2.3