public class BSwitchInstr extends MultiBranchInstr
EMPTY_OPERANDS| Constructor and Description |
|---|
BSwitchInstr(int[] jumps,
Operand operand,
Label rubyCase,
Label[] targets,
Label elseTarget) |
| Modifier and Type | Method and Description |
|---|---|
Instr |
clone(CloneInfo info)
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).
|
static BSwitchInstr |
decode(IRReaderDecoder d) |
void |
encode(IRWriterEncoder e) |
Operand |
getCaseOperand() |
Label |
getElseTarget() |
int[] |
getJumps() |
Label[] |
getJumpTargets() |
Operand[] |
getOperands() |
Label |
getRubyCaseLabel() |
Label[] |
getTargets() |
int |
interpretAndGetNewIPC(ThreadContext context,
DynamicScope currDynScope,
StaticScope currScope,
IRubyObject self,
java.lang.Object[] temp,
int ipc) |
void |
setOperand(int i,
Operand operand) |
void |
visit(IRVisitor visitor) |
canBeDeletedFromScope, canRaiseException, cloneOperands, computeScopeFlags, dumpableFields, getOperation, getUsedVariables, hasSideEffects, interpret, isDead, isDeletable, markDead, renameVars, simplifyAndGetResult, simplifyOperands, toString, toStringNonOperandArgs, transfersControlpublic Operand[] getOperands()
getOperands in class Instrpublic Operand getCaseOperand()
public int[] getJumps()
public Label getRubyCaseLabel()
public Label[] getTargets()
public Label getElseTarget()
public void setOperand(int i,
Operand operand)
setOperand in class Instrpublic Instr clone(CloneInfo info)
Instrpublic void encode(IRWriterEncoder e)
public static BSwitchInstr decode(IRReaderDecoder d)
public int interpretAndGetNewIPC(ThreadContext context, DynamicScope currDynScope, StaticScope currScope, IRubyObject self, java.lang.Object[] temp, int ipc)
interpretAndGetNewIPC in class Instrpublic Label[] getJumpTargets()
getJumpTargets in class MultiBranchInstrCopyright © 2001-2018 JRuby. All Rights Reserved.