aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-06 09:38:51 +0000
committerko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2007-08-06 09:38:51 +0000
commitfe0f6734bf0ee31f17b29e2e1c90d2ce8fb58e3f (patch)
tree52fc94cf876d3d084d2b4516a56abbe73f9701c4
parent7bc137942d07349a5ab90e4f1e54ce17fd376fe5 (diff)
downloadruby-fe0f6734bf0ee31f17b29e2e1c90d2ce8fb58e3f.tar.gz
* lib/vm/instruction.rb (make_header_analysys): add to separate
header addition process. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@12885 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--lib/vm/instruction.rb13
2 files changed, 14 insertions, 4 deletions
diff --git a/ChangeLog b/ChangeLog
index c5a36ac2ac..c482dfdc55 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Aug 6 18:33:22 2007 Koichi Sasada <ko1@atdot.net>
+
+ * lib/vm/instruction.rb (make_header_analysys): add to separate
+ header addition process.
+
Mon Aug 6 17:36:29 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rexml/encodings/{ISO-8859-15,CP-1252}.rb: fixed invalid syntax.
diff --git a/lib/vm/instruction.rb b/lib/vm/instruction.rb
index ed59af0faa..af8f0ac648 100644
--- a/lib/vm/instruction.rb
+++ b/lib/vm/instruction.rb
@@ -786,6 +786,14 @@ module RubyVM
ret.join("\n") + "\n"
end
+ def make_header_analysys insn
+ ret = " USAGE_ANALYSIS_INSN(BIN(#{insn.name}));\n"
+ insn.opes.each_with_index{|op, i|
+ ret += " USAGE_ANALYSIS_OPERAND(BIN(#{insn.name}), #{i}, #{op[1]});\n"
+ }
+ ret
+ end
+
def make_header insn
ret = "\nINSN_ENTRY(#{insn.name}){\n"
ret += " /* prepare stack status */\n" if verbose?
@@ -814,10 +822,7 @@ module RubyVM
ret += " #define LABEL_IS_SC(lab) LABEL_##lab##_###{insn.sc.size == 0 ? 't' : 'f'}\n"
- ret += " USAGE_ANALYSIS_INSN(BIN(#{insn.name}));\n"
- insn.opes.each_with_index{|op, i|
- ret += " USAGE_ANALYSIS_OPERAND(BIN(#{insn.name}), #{i}, #{op[1]});\n"
- }
+ ret += make_header_analysys insn
ret += "{\n"
end