diff options
author | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-06 09:38:51 +0000 |
---|---|---|
committer | ko1 <ko1@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2007-08-06 09:38:51 +0000 |
commit | fe0f6734bf0ee31f17b29e2e1c90d2ce8fb58e3f (patch) | |
tree | 52fc94cf876d3d084d2b4516a56abbe73f9701c4 /lib | |
parent | 7bc137942d07349a5ab90e4f1e54ce17fd376fe5 (diff) | |
download | ruby-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
Diffstat (limited to 'lib')
-rw-r--r-- | lib/vm/instruction.rb | 13 |
1 files changed, 9 insertions, 4 deletions
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 |