public class org.jruby.ir.interpreter.FullInterpreterContext extends org.jruby.ir.interpreter.InterpreterContext
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ir.interpreter.FullInterpreterContext
super_class: org.jruby.ir.interpreter.InterpreterContext
{
private org.jruby.ir.representations.CFG cfg;
descriptor: Lorg/jruby/ir/representations/CFG;
flags: (0x0002) ACC_PRIVATE
private org.jruby.ir.representations.BasicBlock[] linearizedBBList;
descriptor: [Lorg/jruby/ir/representations/BasicBlock;
flags: (0x0002) ACC_PRIVATE
private java.util.Map<java.lang.String, org.jruby.ir.dataflow.DataFlowProblem> dataFlowProblems;
descriptor: Ljava/util/Map;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ir/dataflow/DataFlowProblem;>;
private java.util.List<org.jruby.ir.passes.CompilerPass> executedPasses;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
private java.util.Set<org.jruby.ir.operands.LocalVariable> definedLocalVars;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
private java.util.Set<org.jruby.ir.operands.LocalVariable> usedLocalVars;
descriptor: Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
public int floatVariableIndex;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public int fixnumVariableIndex;
descriptor: I
flags: (0x0001) ACC_PUBLIC
public int booleanVariableIndex;
descriptor: I
flags: (0x0001) ACC_PUBLIC
private static volatile int[] $SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$org$jruby$ir$IRFlags;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(org.jruby.ir.IRScope, org.jruby.ir.representations.CFG, org.jruby.ir.representations.BasicBlock[], int, java.util.EnumSet<org.jruby.ir.IRFlags>);
descriptor: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aconst_null
iload 4
aload 5
invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
1: aload 0
aconst_null
putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
3: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
4: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
5: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
6: aload 0
aload 2
putfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
7: aload 0
aload 3
putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 9 1 scope Lorg/jruby/ir/IRScope;
0 9 2 cfg Lorg/jruby/ir/representations/CFG;
0 9 3 linearizedBBList [Lorg/jruby/ir/representations/BasicBlock;
0 9 4 temporaryVariableCount I
0 9 5 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
Signature: (Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
MethodParameters:
Name Flags
scope
cfg
linearizedBBList
temporaryVariableCount
flags
public void <init>(org.jruby.ir.IRScope, org.jruby.ir.instructions.Instr[], int, java.util.EnumSet<org.jruby.ir.IRFlags>);
descriptor: (Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aconst_null
iload 3
aload 4
invokespecial org.jruby.ir.interpreter.InterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Ljava/util/List;ILjava/util/EnumSet;)V
1: aload 0
aconst_null
putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
2: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
3: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
4: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
5: aload 0
iconst_m1
putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
6: aload 0
aload 0
aload 2
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.buildCFG:([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/ir/representations/CFG;
putfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 8 1 scope Lorg/jruby/ir/IRScope;
0 8 2 instructions [Lorg/jruby/ir/instructions/Instr;
0 8 3 temporaryVariableCount I
0 8 4 flags Ljava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;
Signature: (Lorg/jruby/ir/IRScope;[Lorg/jruby/ir/instructions/Instr;ILjava/util/EnumSet<Lorg/jruby/ir/IRFlags;>;)V
MethodParameters:
Name Flags
scope
instructions
temporaryVariableCount
flags
public org.jruby.ir.representations.BasicBlock[] linearizeBasicBlocks();
descriptor: ()[Lorg/jruby/ir/representations/BasicBlock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
invokestatic org.jruby.ir.representations.CFGLinearizer.linearize:(Lorg/jruby/ir/representations/CFG;)[Lorg/jruby/ir/representations/BasicBlock;
putfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
1: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
private org.jruby.ir.representations.CFG buildCFG(org.jruby.ir.instructions.Instr[]);
descriptor: ([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/ir/representations/CFG;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: new org.jruby.ir.representations.CFG
dup
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokespecial org.jruby.ir.representations.CFG.<init>:(Lorg/jruby/ir/IRScope;)V
astore 2
start local 2 1: aload 2
aload 1
invokevirtual org.jruby.ir.representations.CFG.build:([Lorg/jruby/ir/instructions/Instr;)Lorg/jruby/dirgra/DirectedGraph;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 3 1 instructions [Lorg/jruby/ir/instructions/Instr;
1 3 2 newCFG Lorg/jruby/ir/representations/CFG;
MethodParameters:
Name Flags
instructions
public boolean hasExplicitCallProtocol();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.hasExplicitCallProtocol:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public boolean needsBinding();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.reuseParentDynScope:()Z
ifne 1
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.isDynamicScopeEliminated:()Z
ifeq 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public void generateInstructionsForInterpretation();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
pop
1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 1
start local 1 2: iconst_0
istore 2
start local 2 3: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 18
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int top int int org.jruby.ir.representations.BasicBlock[]
StackMap stack:
4: aload 6
iload 4
aaload
astore 3
start local 3 5: aload 3
invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
iload 2
invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
6: aload 3
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
astore 7
start local 7 7: aload 7
invokeinterface java.util.List.size:()I
istore 8
start local 8 8: iconst_0
istore 9
start local 9 9: goto 16
10: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.representations.BasicBlock int int org.jruby.ir.representations.BasicBlock[] java.util.List int int
StackMap stack:
aload 7
iload 9
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 10
start local 10 11: aload 10
instanceof org.jruby.ir.instructions.ReceiveSelfInstr
ifne 15
12: aload 10
instanceof org.jruby.ir.instructions.LabelInstr
ifeq 13
aload 10
checkcast org.jruby.ir.instructions.LabelInstr
invokevirtual org.jruby.ir.instructions.LabelInstr.getLabel:()Lorg/jruby/ir/operands/Label;
iload 2
invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
13: StackMap locals: org.jruby.ir.instructions.Instr
StackMap stack:
aload 1
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
14: iinc 2 1
end local 10 15: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
16: iload 9
iload 8
if_icmplt 10
end local 9 end local 8 end local 7 end local 3 17: iinc 4 1
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int top int int org.jruby.ir.representations.BasicBlock[]
StackMap stack:
18: iload 4
iload 5
if_icmplt 4
19: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
invokevirtual org.jruby.ir.representations.CFG.getExitBB:()Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
iload 2
iconst_1
iadd
invokevirtual org.jruby.ir.operands.Label.setTargetPC:(I)V
20: aload 1
aload 1
invokeinterface java.util.List.size:()I
anewarray org.jruby.ir.instructions.Instr
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr[]
astore 3
start local 3 21: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
astore 4
start local 4 22: aload 0
iconst_2
aload 4
arraylength
imul
newarray 10
putfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
23: iconst_0
istore 2
24: iconst_0
istore 5
start local 5 25: goto 41
26: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int
StackMap stack:
aload 4
iload 5
aaload
astore 6
start local 6 27: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
aload 6
invokevirtual org.jruby.ir.representations.CFG.getRescuerBBFor:(Lorg/jruby/ir/representations/BasicBlock;)Lorg/jruby/ir/representations/BasicBlock;
astore 7
start local 7 28: aload 7
ifnonnull 29
iconst_m1
goto 30
StackMap locals: org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock
StackMap stack:
29: aload 7
invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
invokevirtual org.jruby.ir.operands.Label.getTargetPC:()I
StackMap locals:
StackMap stack: int
30: istore 8
start local 8 31: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
iload 5
iconst_2
imul
iload 2
aload 6
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.size:()I
iadd
iastore
32: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
iload 5
iconst_2
imul
iconst_1
iadd
iload 8
iastore
33: aload 6
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 39
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int top java.util.Iterator
StackMap stack:
34: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 9
start local 9 35: aload 9
instanceof org.jruby.ir.instructions.ReceiveSelfInstr
ifne 38
36: iinc 2 1
37: goto 39
38: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int org.jruby.ir.instructions.Instr java.util.Iterator
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
iload 5
iconst_2
imul
dup2
iaload
iconst_1
isub
iastore
end local 9 39: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int org.jruby.ir.representations.BasicBlock org.jruby.ir.representations.BasicBlock int top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 34
end local 8 end local 7 end local 6 40: iinc 5 1
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.util.List int org.jruby.ir.instructions.Instr[] org.jruby.ir.representations.BasicBlock[] int
StackMap stack:
41: iload 5
aload 4
arraylength
if_icmplt 26
end local 5 42: aload 0
aload 3
putfield org.jruby.ir.interpreter.FullInterpreterContext.instructions:[Lorg/jruby/ir/instructions/Instr;
43: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 44 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
2 44 1 newInstrs Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
3 44 2 ipc I
5 17 3 b Lorg/jruby/ir/representations/BasicBlock;
7 17 7 bbInstrs Ljava/util/List<Lorg/jruby/ir/instructions/Instr;>;
8 17 8 bbInstrsLength I
9 17 9 i I
11 15 10 instr Lorg/jruby/ir/instructions/Instr;
21 44 3 linearizedInstrArray [Lorg/jruby/ir/instructions/Instr;
22 44 4 basicBlocks [Lorg/jruby/ir/representations/BasicBlock;
25 42 5 i I
27 40 6 bb Lorg/jruby/ir/representations/BasicBlock;
28 40 7 rescuerBB Lorg/jruby/ir/representations/BasicBlock;
31 40 8 rescuerPC I
35 39 9 instr Lorg/jruby/ir/instructions/Instr;
public org.jruby.ir.representations.CFG getCFG();
descriptor: ()Lorg/jruby/ir/representations/CFG;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public void computeScopeFlagsFromInstructions();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
invokevirtual org.jruby.ir.representations.CFG.getBasicBlocks:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 6
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
StackMap stack:
1: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.representations.BasicBlock
astore 1
start local 1 2: aload 1
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 5
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 3
start local 3 4: aload 3
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
invokevirtual org.jruby.ir.instructions.Instr.computeScopeFlags:(Lorg/jruby/ir/IRScope;Ljava/util/EnumSet;)Z
pop
end local 3 5: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 1 6: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
2 6 1 b Lorg/jruby/ir/representations/BasicBlock;
4 5 3 i Lorg/jruby/ir/instructions/Instr;
public java.util.Map<java.lang.String, org.jruby.ir.dataflow.DataFlowProblem> getDataFlowProblems();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
ifnonnull 1
aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.dataFlowProblems:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
Signature: ()Ljava/util/Map<Ljava/lang/String;Lorg/jruby/ir/dataflow/DataFlowProblem;>;
public java.util.List<org.jruby.ir.passes.CompilerPass> getExecutedPasses();
descriptor: ()Ljava/util/List;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.executedPasses:Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
Signature: ()Ljava/util/List<Lorg/jruby/ir/passes/CompilerPass;>;
public org.jruby.ir.representations.BasicBlock[] getLinearizedBBList();
descriptor: ()[Lorg/jruby/ir/representations/BasicBlock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public java.lang.String toStringInstrs();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "\nCFG:\n"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
invokevirtual org.jruby.ir.representations.CFG.toStringGraph:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\nInstructions:\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
invokevirtual org.jruby.ir.representations.CFG.toStringInstrs:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public java.lang.String toStringLinearized();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getLinearizedBBList:()[Lorg/jruby/ir/representations/BasicBlock;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 5
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext java.lang.StringBuilder top int int org.jruby.ir.representations.BasicBlock[]
StackMap stack:
2: aload 5
iload 3
aaload
astore 2
start local 2 3: aload 1
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
aload 2
invokevirtual org.jruby.ir.representations.BasicBlock.toStringInstrs:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 2 4: iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
iload 4
if_icmplt 2
6: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
1 7 1 buf Ljava/lang/StringBuilder;
3 4 2 bb Lorg/jruby/ir/representations/BasicBlock;
public org.jruby.ir.interpreter.FullInterpreterContext duplicate();
descriptor: ()Lorg/jruby/ir/interpreter/FullInterpreterContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.cfg:Lorg/jruby/ir/representations/CFG;
new org.jruby.ir.transformations.inlining.SimpleCloneInfo
dup
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
iconst_0
iconst_1
invokespecial org.jruby.ir.transformations.inlining.SimpleCloneInfo.<init>:(Lorg/jruby/ir/IRScope;ZZ)V
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.representations.CFG.clone:(Lorg/jruby/ir/transformations/inlining/CloneInfo;Lorg/jruby/ir/IRScope;)Lorg/jruby/ir/representations/CFG;
astore 1
start local 1 1: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
arraylength
anewarray org.jruby.ir.representations.BasicBlock
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 6
4: StackMap locals: org.jruby.ir.representations.CFG org.jruby.ir.representations.BasicBlock[] int
StackMap stack:
aload 2
iload 3
aload 1
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
iload 3
aaload
invokevirtual org.jruby.ir.representations.BasicBlock.getLabel:()Lorg/jruby/ir/operands/Label;
invokevirtual org.jruby.ir.representations.CFG.getBBForLabel:(Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/representations/BasicBlock;
aastore
5: iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.linearizedBBList:[Lorg/jruby/ir/representations/BasicBlock;
arraylength
if_icmplt 4
end local 3 7: new org.jruby.ir.interpreter.FullInterpreterContext
dup
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
aload 1
aload 2
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
invokespecial org.jruby.ir.interpreter.FullInterpreterContext.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/representations/CFG;[Lorg/jruby/ir/representations/BasicBlock;ILjava/util/EnumSet;)V
8: areturn
end local 2 end local 1 9: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext
StackMap stack: java.lang.Throwable
astore 1
start local 1 10: aload 1
invokevirtual java.lang.Throwable.printStackTrace:()V
11: aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
1 9 1 newCFG Lorg/jruby/ir/representations/CFG;
2 9 2 newLinearizedBBList [Lorg/jruby/ir/representations/BasicBlock;
3 7 3 i I
10 12 1 t Ljava/lang/Throwable;
Exception table:
from to target type
0 8 9 Class java.lang.Throwable
public int determineRPC(int);
descriptor: (I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
arraylength
istore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 5
3: StackMap locals: int int
StackMap stack:
iload 1
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
iload 3
iaload
if_icmpgt 4
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.rescueIPCs:[I
iload 3
iconst_1
iadd
iaload
ireturn
4: StackMap locals:
StackMap stack:
iinc 3 2
StackMap locals:
StackMap stack:
5: iload 3
iconst_1
iadd
iload 2
if_icmplt 3
end local 3 6: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "BUG: no RPC found for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFileName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getName:()Lorg/jruby/RubySymbol;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ":"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 7 1 ipc I
1 7 2 length I
2 6 3 i I
MethodParameters:
Name Flags
ipc
public org.jruby.ir.representations.BasicBlock findBasicBlockOf(long);
descriptor: (J)Lorg/jruby/ir/representations/BasicBlock;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.linearizeBasicBlocks:()[Lorg/jruby/ir/representations/BasicBlock;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 9
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long top int int org.jruby.ir.representations.BasicBlock[]
StackMap stack:
1: aload 6
iload 4
aaload
astore 3
start local 3 2: aload 3
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 7
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long org.jruby.ir.representations.BasicBlock int int org.jruby.ir.representations.BasicBlock[] top java.util.Iterator
StackMap stack:
3: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 7
start local 7 4: aload 7
instanceof org.jruby.ir.instructions.Site
ifeq 7
5: aload 7
checkcast org.jruby.ir.instructions.Site
astore 9
start local 9 6: aload 9
invokeinterface org.jruby.ir.instructions.Site.getCallSiteId:()J
lload 1
lcmp
ifne 7
aload 3
areturn
end local 9 end local 7 7: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
end local 3 8: iinc 4 1
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext long top int int org.jruby.ir.representations.BasicBlock[]
StackMap stack:
9: iload 4
iload 5
if_icmplt 1
10: new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Bug: Looking for callsiteId: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 1
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 11 1 callsiteId J
2 8 3 basicBlock Lorg/jruby/ir/representations/BasicBlock;
4 7 7 instr Lorg/jruby/ir/instructions/Instr;
6 7 9 site Lorg/jruby/ir/instructions/Site;
MethodParameters:
Name Flags
callsiteId
public java.util.Set<org.jruby.ir.operands.LocalVariable> getUsedLocalVariables();
descriptor: ()Ljava/util/Set;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
Signature: ()Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
public void setUpUseDefLocalVarMaps();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
new java.util.HashSet
dup
iconst_1
invokespecial java.util.HashSet.<init>:(I)V
putfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
1: aload 0
new java.util.HashSet
dup
iconst_1
invokespecial java.util.HashSet.<init>:(I)V
putfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
2: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getCFG:()Lorg/jruby/ir/representations/CFG;
invokevirtual org.jruby.ir.representations.CFG.getBasicBlocks:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 15
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
StackMap stack:
3: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.representations.BasicBlock
astore 1
start local 1 4: aload 1
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 3
start local 3 6: aload 3
invokevirtual org.jruby.ir.instructions.Instr.getUsedVariables:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 9
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator org.jruby.ir.instructions.Instr java.util.Iterator top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.Variable
astore 5
start local 5 8: aload 5
instanceof org.jruby.ir.operands.LocalVariable
ifeq 9
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
aload 5
checkcast org.jruby.ir.operands.LocalVariable
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 9: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
10: aload 3
instanceof org.jruby.ir.instructions.ResultInstr
ifeq 14
11: aload 3
checkcast org.jruby.ir.instructions.ResultInstr
invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
astore 5
start local 5 12: aload 5
instanceof org.jruby.ir.operands.LocalVariable
ifeq 14
aload 5
checkcast org.jruby.ir.operands.LocalVariable
invokevirtual org.jruby.ir.operands.LocalVariable.isOuterScopeVar:()Z
ifne 14
13: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
aload 5
checkcast org.jruby.ir.operands.LocalVariable
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 5 end local 3 14: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.representations.BasicBlock java.util.Iterator top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
end local 1 15: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext top java.util.Iterator
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
16: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 2
goto 19
StackMap locals:
StackMap stack:
17: aload 2
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.IRClosure
astore 1
start local 1 18: aload 1
invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
end local 1 19: StackMap locals:
StackMap stack:
aload 2
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
4 15 1 bb Lorg/jruby/ir/representations/BasicBlock;
6 14 3 i Lorg/jruby/ir/instructions/Instr;
8 9 5 v Lorg/jruby/ir/operands/Variable;
12 14 5 v Lorg/jruby/ir/operands/Variable;
18 19 1 cl Lorg/jruby/ir/IRClosure;
public boolean usesLocalVariable(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.usedLocalVars:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.operands.Variable top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.IRClosure
astore 2
start local 2 4: aload 2
invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.usesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifeq 5
iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 7 1 v Lorg/jruby/ir/operands/Variable;
4 5 2 cl Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
v
public boolean definesLocalVariable(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
ifnonnull 1
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.setUpUseDefLocalVarMaps:()V
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.definedLocalVars:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getClosures:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 3
goto 5
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext org.jruby.ir.operands.Variable top java.util.Iterator
StackMap stack:
3: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.IRClosure
astore 2
start local 2 4: aload 2
invokevirtual org.jruby.ir.IRClosure.getFullInterpreterContext:()Lorg/jruby/ir/interpreter/FullInterpreterContext;
aload 1
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.definesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifeq 5
iconst_1
ireturn
end local 2 5: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
6: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 7 1 v Lorg/jruby/ir/operands/Variable;
4 5 2 cl Lorg/jruby/ir/IRClosure;
MethodParameters:
Name Flags
v
protected void initialize();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public org.jruby.ir.operands.TemporaryVariable createTemporaryVariable();
descriptor: ()Lorg/jruby/ir/operands/TemporaryVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
dup
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
iadd
putfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
1: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
getstatic org.jruby.ir.IRScopeType.CLOSURE:Lorg/jruby/ir/IRScopeType;
if_acmpne 3
2: new org.jruby.ir.operands.TemporaryClosureVariable
dup
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
checkcast org.jruby.ir.IRClosure
getfield org.jruby.ir.IRClosure.closureId:I
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
isub
invokespecial org.jruby.ir.operands.TemporaryClosureVariable.<init>:(II)V
areturn
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
isub
invokevirtual org.jruby.ir.IRManager.newTemporaryLocalVariable:(I)Lorg/jruby/ir/operands/TemporaryLocalVariable;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public org.jruby.ir.operands.TemporaryLocalVariable getNewTemporaryVariableFor(org.jruby.ir.operands.LocalVariable);
descriptor: (Lorg/jruby/ir/operands/LocalVariable;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
dup
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
iadd
putfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
1: new org.jruby.ir.operands.TemporaryLocalReplacementVariable
dup
aload 1
invokevirtual org.jruby.ir.operands.LocalVariable.getId:()Ljava/lang/String;
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
isub
invokespecial org.jruby.ir.operands.TemporaryLocalReplacementVariable.<init>:(Ljava/lang/String;I)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 2 1 var Lorg/jruby/ir/operands/LocalVariable;
MethodParameters:
Name Flags
var
public org.jruby.ir.operands.TemporaryLocalVariable getNewUnboxedVariable(java.lang.Class);
descriptor: (Ljava/lang/Class;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
ldc Ljava/lang/Float;
if_acmpne 3
1: getstatic org.jruby.ir.operands.TemporaryVariableType.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
astore 2
start local 2 2: goto 10
end local 2 StackMap locals:
StackMap stack:
3: aload 1
ldc Lorg/jruby/ir/operands/Fixnum;
if_acmpne 6
4: getstatic org.jruby.ir.operands.TemporaryVariableType.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
astore 2
start local 2 5: goto 10
end local 2 StackMap locals:
StackMap stack:
6: aload 1
ldc Ljava/lang/Boolean;
if_acmpne 9
7: getstatic org.jruby.ir.operands.TemporaryVariableType.BOOLEAN:Lorg/jruby/ir/operands/TemporaryVariableType;
astore 2
start local 2 8: goto 10
end local 2 9: StackMap locals:
StackMap stack:
getstatic org.jruby.ir.operands.TemporaryVariableType.LOCAL:Lorg/jruby/ir/operands/TemporaryVariableType;
astore 2
start local 2 10: StackMap locals: org.jruby.ir.operands.TemporaryVariableType
StackMap stack:
aload 0
aload 2
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getNewTemporaryVariable:(Lorg/jruby/ir/operands/TemporaryVariableType;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 11 1 type Ljava/lang/Class;
2 3 2 varType Lorg/jruby/ir/operands/TemporaryVariableType;
5 6 2 varType Lorg/jruby/ir/operands/TemporaryVariableType;
8 9 2 varType Lorg/jruby/ir/operands/TemporaryVariableType;
10 11 2 varType Lorg/jruby/ir/operands/TemporaryVariableType;
MethodParameters:
Name Flags
type
public org.jruby.ir.operands.TemporaryLocalVariable getNewTemporaryVariable(org.jruby.ir.operands.TemporaryVariableType);
descriptor: (Lorg/jruby/ir/operands/TemporaryVariableType;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:()[I
aload 1
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 7
2: 5
3: 1
4: 3
default: 8
}
1: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
iconst_1
iadd
putfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
2: new org.jruby.ir.operands.TemporaryFloatVariable
dup
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.floatVariableIndex:I
invokespecial org.jruby.ir.operands.TemporaryFloatVariable.<init>:(I)V
areturn
3: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
iconst_1
iadd
putfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
4: new org.jruby.ir.operands.TemporaryFixnumVariable
dup
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.fixnumVariableIndex:I
invokespecial org.jruby.ir.operands.TemporaryFixnumVariable.<init>:(I)V
areturn
5: StackMap locals:
StackMap stack:
aload 0
dup
getfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
iconst_1
iadd
putfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
6: new org.jruby.ir.operands.TemporaryBooleanVariable
dup
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.booleanVariableIndex:I
invokespecial org.jruby.ir.operands.TemporaryBooleanVariable.<init>:(I)V
areturn
7: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getManager:()Lorg/jruby/ir/IRManager;
aload 0
getfield org.jruby.ir.interpreter.FullInterpreterContext.temporaryVariableCount:I
iconst_1
isub
invokevirtual org.jruby.ir.IRManager.newTemporaryLocalVariable:(I)Lorg/jruby/ir/operands/TemporaryLocalVariable;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.RuntimeException
dup
new java.lang.StringBuilder
dup
ldc "Invalid temporary variable being alloced in this scope: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
0 9 1 type Lorg/jruby/ir/operands/TemporaryVariableType;
MethodParameters:
Name Flags
type
public boolean needsFrame();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.bindingHasEscaped:()Z
istore 1
start local 1 1: iload 1
ifne 2
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.usesEval:()Z
ifne 2
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.usesZSuper:()Z
ifne 2
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.canCaptureCallersBinding:()Z
ifne 2
iconst_0
goto 3
StackMap locals: int
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 2
start local 2 4: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 4
goto 8
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int top java.util.Iterator
StackMap stack:
5: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.IRFlags
astore 3
start local 3 6: invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:()[I
aload 3
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iaload
tableswitch { // 1 - 11
1: 7
2: 8
3: 8
4: 7
5: 7
6: 7
7: 7
8: 7
9: 7
10: 8
11: 7
default: 8
}
7: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int org.jruby.ir.IRFlags java.util.Iterator
StackMap stack:
iconst_1
istore 2
end local 3 8: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int int top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 5
9: iload 2
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
1 10 1 bindingHasEscaped Z
4 10 2 requireFrame Z
6 8 3 flag Lorg/jruby/ir/IRFlags;
public boolean bindingHasEscaped();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
invokevirtual java.util.EnumSet.contains:(Ljava/lang/Object;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
public boolean needsOnlyBackref();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.usesEval:()Z
ifne 1
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.usesZSuper:()Z
ifne 1
aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.canCaptureCallersBinding:()Z
ifeq 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
istore 1
start local 1 3: aload 0
invokevirtual org.jruby.ir.interpreter.FullInterpreterContext.getFlags:()Ljava/util/EnumSet;
invokevirtual java.util.EnumSet.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int top java.util.Iterator
StackMap stack:
4: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.IRFlags
astore 2
start local 2 5: invokestatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:()[I
aload 2
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iaload
tableswitch { // 1 - 11
1: 6
2: 8
3: 8
4: 6
5: 7
6: 6
7: 6
8: 6
9: 6
10: 8
11: 6
default: 8
}
6: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int org.jruby.ir.IRFlags java.util.Iterator
StackMap stack:
iconst_0
ireturn
7: StackMap locals:
StackMap stack:
iconst_1
istore 1
end local 2 8: StackMap locals: org.jruby.ir.interpreter.FullInterpreterContext int top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
9: iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/jruby/ir/interpreter/FullInterpreterContext;
3 10 1 backrefSeen Z
5 8 2 flag Lorg/jruby/ir/IRFlags;
static int[] $SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.ir.operands.TemporaryVariableType.values:()[Lorg/jruby/ir/operands/TemporaryVariableType;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.BOOLEAN:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iconst_2
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.CLOSURE:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.CURRENT_MODULE:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
bipush 6
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.FIXNUM:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iconst_4
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.FLOAT:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iconst_3
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.ir.operands.TemporaryVariableType.LOCAL:Lorg/jruby/ir/operands/TemporaryVariableType;
invokevirtual org.jruby.ir.operands.TemporaryVariableType.ordinal:()I
iconst_1
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
dup
putstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$operands$TemporaryVariableType:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
static int[] $SWITCH_TABLE$org$jruby$ir$IRFlags();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.jruby.ir.IRFlags.values:()[Lorg/jruby/ir/IRFlags;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.jruby.ir.IRFlags.BINDING_HAS_ESCAPED:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.jruby.ir.IRFlags.FLAGS_COMPUTED:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 14
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.jruby.ir.IRFlags.HAS_END_BLOCKS:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iconst_2
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_BACKREF:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iconst_5
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_BLOCK:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 7
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_CLASS:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_DYNSCOPE:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iconst_3
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_FILENAME:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 12
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_LASTLINE:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
iconst_4
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_LINE:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 10
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_METHODNAME:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 9
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_SCOPE:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 13
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_SELF:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 8
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic org.jruby.ir.IRFlags.REQUIRES_VISIBILITY:Lorg/jruby/ir/IRFlags;
invokevirtual org.jruby.ir.IRFlags.ordinal:()I
bipush 6
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
dup
putstatic org.jruby.ir.interpreter.FullInterpreterContext.$SWITCH_TABLE$org$jruby$ir$IRFlags:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
}
SourceFile: "FullInterpreterContext.java"