diff options
Diffstat (limited to 'tool/ruby_vm/models')
-rwxr-xr-x | tool/ruby_vm/models/bare_instructions.rb | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tool/ruby_vm/models/bare_instructions.rb b/tool/ruby_vm/models/bare_instructions.rb index 297a93f5b2..f540295531 100755 --- a/tool/ruby_vm/models/bare_instructions.rb +++ b/tool/ruby_vm/models/bare_instructions.rb @@ -101,6 +101,10 @@ class RubyVM::BareInstructions }.join end + def handles_stack? + /\b(false|0)\b/ !~ @attrs['handles_stack'].expr.expr + end + def inspect sprintf "#<%s %s@%s:%d>", self.class.name, @name, @loc[0], @loc[1] end @@ -125,6 +129,7 @@ class RubyVM::BareInstructions generate_attribute 'rb_num_t', 'retn', rets.size generate_attribute 'rb_num_t', 'width', width generate_attribute 'rb_snum_t', 'sp_inc', rets.size - pops.size + generate_attribute 'bool', 'handles_stack', false end def typesplit a |