Module: YTLJit::VM::YARVTranslatorCRubyObjectMixin

Includes:
Node
Included in:
YARVTranslatorCRubyObject
Defined in:
lib/ytljit/vm_cruby_obj.rb

Instance Method Summary collapse

Instance Method Details

#visit_getinstancevariable(code, ins, context) ⇒ Object



76
77
78
79
80
# File 'lib/ytljit/vm_cruby_obj.rb', line 76

def visit_getinstancevariable(code, ins, context)
  curnode = context.current_node
  node = CRubyInstanceVarRefNode.new(curnode, ins[1])
  context.expstack.push node
end

#visit_setinstancevariable(code, ins, context) ⇒ Object



82
83
84
85
86
87
88
89
90
91
# File 'lib/ytljit/vm_cruby_obj.rb', line 82

def visit_setinstancevariable(code, ins, context)
  val = context.expstack.pop
  curnode = context.current_node
  node = CRubyInstanceVarAssignNode.new(curnode, ins[1], val)
  if context.expstack[-1] == val then
    context.expstack[-1] = CRubyInstanceVarRefNode.new(curnode, ins[1])
  end
  curnode.body = node
  context.current_node = node
end