Top Inners Fields Constructors Methods
org.jruby.ir.instructions

public Class RuntimeHelperCall

extends NOperandResultBaseInstr
Class Inheritance
Imports
org.jruby.RubyArray, .RubyModule, org.jruby.ir.IRFlags, .IRScope, .IRVisitor, .Operation, org.jruby.ir.operands.Boolean, .Fixnum, .FrozenString, .Integer, .Operand, .Stringable, .Variable, org.jruby.ir.persistence.IRReaderDecoder, .IRWriterEncoder, org.jruby.ir.runtime.IRRuntimeHelpers, org.jruby.ir.transformations.inlining.CloneInfo, org.jruby.parser.StaticScope, org.jruby.runtime.Block, .DynamicScope, .ThreadContext, org.jruby.runtime.builtin.IRubyObject, java.util.EnumSet

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum

Field Summary

Modifier and TypeField and Description
pack-priv final RuntimeHelperCall.Methods

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public Object
callHelper(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block)

public Instr
clone(CloneInfo
This object manages renaming of variables and labels, handles args and return values.
ii
)

Implements abstract org.jruby.ir.instructions.Instr.clone.

Clone the instruction for use in an inlining context (either when a scope is inlined into another scope, or when a block has to be cloned because its associated call belongs to an inlined scope).

public boolean

Returns:

true if it modified the scope.
computeScopeFlags
(IRScope scope, EnumSet<IRFlags>
to be updated
flags
)

Overrides org.jruby.ir.instructions.Instr.computeScopeFlags.

Does this instruction do anything the scope is interested in?

public static RuntimeHelperCall
public void
public Operand[]
public RuntimeHelperCall.Methods
public String[]
public void
Inherited from org.jruby.ir.instructions.NOperandResultBaseInstr:
getOperandssetOperand

Field Detail

helperMethodback to summary
pack-priv final RuntimeHelperCall.Methods helperMethod

Constructor Detail

RuntimeHelperCallback to summary
public RuntimeHelperCall(Variable result, RuntimeHelperCall.Methods helperMethod, Operand[] args)

Method Detail

callHelperback to summary
public Object callHelper(ThreadContext context, StaticScope currScope, DynamicScope currDynScope, IRubyObject self, Object[] temp, Block block)
cloneback to summary
public Instr clone(CloneInfo ii)

Implements abstract org.jruby.ir.instructions.Instr.clone.

Doc from org.jruby.ir.instructions.Instr.clone.

Clone the instruction for use in an inlining context (either when a scope is inlined into another scope, or when a block has to be cloned because its associated call belongs to an inlined scope). This might renaming variables and labels to eliminate naming conflicts. The implementation might vary on the cloning mode.

Parameters
ii:CloneInfo

This object manages renaming of variables and labels, handles args and return values.

Returns:Instr

a new instruction that can be used in the target scope.

Annotations
@Override
computeScopeFlagsback to summary
public boolean computeScopeFlags(IRScope scope, EnumSet<IRFlags> flags)

Overrides org.jruby.ir.instructions.Instr.computeScopeFlags.

Does this instruction do anything the scope is interested in?

Parameters
flags:EnumSet<IRFlags>

to be updated

Returns:boolean

true if it modified the scope.

Annotations
@Override
decodeback to summary
public static RuntimeHelperCall decode(IRReaderDecoder d)
encodeback to summary
public void encode(IRWriterEncoder e)

Overrides org.jruby.ir.instructions.ResultBaseInstr.encode.

Annotations
@Override
getArgsback to summary
public Operand[] getArgs()
getHelperMethodback to summary
public RuntimeHelperCall.Methods getHelperMethod()
toStringNonOperandArgsback to summary
public String[] toStringNonOperandArgs()

Overrides org.jruby.ir.instructions.Instr.toStringNonOperandArgs.

Annotations
@Override
visitback to summary
public void visit(IRVisitor visitor)

Overrides org.jruby.ir.instructions.Instr.visit.

Annotations
@Override
org.jruby.ir.instructions back to summary

public final Enum RuntimeHelperCall.Methods

extends Enum<RuntimeHelperCall.Methods>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
public static final RuntimeHelperCall.Methods
private static final RuntimeHelperCall.Methods[]

Constructor Summary

AccessConstructor and Description
private

Method Summary

Modifier and TypeMethod and Description
pack-priv static RuntimeHelperCall.Methods
fromOrdinal(int value)

public static RuntimeHelperCall.Methods
public static RuntimeHelperCall.Methods[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

ARRAY_LENGTHback to summary
public static final RuntimeHelperCall.Methods ARRAY_LENGTH
HANDLE_BREAK_AND_RETURNS_IN_LAMBDAback to summary
public static final RuntimeHelperCall.Methods HANDLE_BREAK_AND_RETURNS_IN_LAMBDA
HANDLE_NONLOCAL_RETURNback to summary
public static final RuntimeHelperCall.Methods HANDLE_NONLOCAL_RETURN
HANDLE_PROPAGATED_BREAKback to summary
public static final RuntimeHelperCall.Methods HANDLE_PROPAGATED_BREAK
HASH_CHECKback to summary
public static final RuntimeHelperCall.Methods HASH_CHECK
IS_DEFINED_BACKREFback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_BACKREF
IS_DEFINED_CALLback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_CALL
IS_DEFINED_CLASS_VARback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_CLASS_VAR
IS_DEFINED_CONSTANT_OR_METHODback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_CONSTANT_OR_METHOD
IS_DEFINED_GLOBALback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_GLOBAL
IS_DEFINED_METHODback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_METHOD
IS_DEFINED_NTH_REFback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_NTH_REF
IS_DEFINED_SUPERback to summary
public static final RuntimeHelperCall.Methods IS_DEFINED_SUPER
IS_HASH_EMPTYback to summary
public static final RuntimeHelperCall.Methods IS_HASH_EMPTY
MERGE_KWARGSback to summary
public static final RuntimeHelperCall.Methods MERGE_KWARGS
TRACE_RESCUEback to summary
public static final RuntimeHelperCall.Methods TRACE_RESCUE
VALUESback to summary
private static final RuntimeHelperCall.Methods[] VALUES

Constructor Detail

Methodsback to summary
private Methods()

Method Detail

fromOrdinalback to summary
pack-priv static RuntimeHelperCall.Methods fromOrdinal(int value)
valueOfback to summary
public static RuntimeHelperCall.Methods valueOf(String name)
valuesback to summary
public static RuntimeHelperCall.Methods[] values()