org.jruby.compiler.ir.instructions
Class RubyInternalCallInstr

java.lang.Object
  extended by org.jruby.compiler.ir.instructions.Instr
      extended by org.jruby.compiler.ir.instructions.MultiOperandInstr
          extended by org.jruby.compiler.ir.instructions.CallInstr
              extended by org.jruby.compiler.ir.instructions.RubyInternalCallInstr

public class RubyInternalCallInstr
extends CallInstr


Field Summary
 
Fields inherited from class org.jruby.compiler.ir.instructions.CallInstr
_profile
 
Fields inherited from class org.jruby.compiler.ir.instructions.Instr
operation, result
 
Constructor Summary
RubyInternalCallInstr(Variable result, MethAddr methAddr, Operand receiver, Operand[] args)
           
RubyInternalCallInstr(Variable result, MethAddr methAddr, Operand receiver, Operand[] args, Operand closure)
           
 
Method Summary
 Instr cloneForInlining(InlinerInfo ii)
          Clone the instruction for inlining -- this will rename all variables (including local variables and self!) and replace RECV_ARG and RETURN instructions to regular copy instructions,
 IRMethod getTargetMethodWithReceiver(Operand receiver)
           
 Label interpret(InterpreterContext interp, IRubyObject self)
           
 boolean isRubyInternalsCall()
           
 boolean isStaticCallTarget()
           
 
Methods inherited from class org.jruby.compiler.ir.instructions.CallInstr
canBeEval, canCaptureCallersBinding, canModifyCode, cloneCallArgs, getCallArgs, getClosureArg, getMethodAddr, getOperands, getReceiver, getTargetMethod, interpret_with_inline, isLVADataflowBarrier, requiresBinding, setMethodAddr, simplifyOperands, toString
 
Methods inherited from class org.jruby.compiler.ir.instructions.MultiOperandInstr
cloneOperandsForInlining, prepareArguments
 
Methods inherited from class org.jruby.compiler.ir.instructions.Instr
canRaiseException, getOperation, getResult, getUsedVariables, hasSideEffects, isDead, markDead, simplifyAndGetResult
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

RubyInternalCallInstr

public RubyInternalCallInstr(Variable result,
                             MethAddr methAddr,
                             Operand receiver,
                             Operand[] args)

RubyInternalCallInstr

public RubyInternalCallInstr(Variable result,
                             MethAddr methAddr,
                             Operand receiver,
                             Operand[] args,
                             Operand closure)
Method Detail

isRubyInternalsCall

public boolean isRubyInternalsCall()
Overrides:
isRubyInternalsCall in class CallInstr

isStaticCallTarget

public boolean isStaticCallTarget()
Overrides:
isStaticCallTarget in class CallInstr

getTargetMethodWithReceiver

public IRMethod getTargetMethodWithReceiver(Operand receiver)
Overrides:
getTargetMethodWithReceiver in class CallInstr

cloneForInlining

public Instr cloneForInlining(InlinerInfo ii)
Description copied from class: Instr
Clone the instruction for inlining -- this will rename all variables (including local variables and self!) and replace RECV_ARG and RETURN instructions to regular copy instructions,

Overrides:
cloneForInlining in class CallInstr

interpret

public Label interpret(InterpreterContext interp,
                       IRubyObject self)
Overrides:
interpret in class CallInstr


Copyright © 2002-2009 JRuby Team. All Rights Reserved.