public class org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode extends org.jruby.ir.dataflow.FlowGraphNode<org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem, org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode
super_class: org.jruby.ir.dataflow.FlowGraphNode
{
java.util.Set<org.jruby.ir.operands.LocalVariable> inDirtyVars;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
java.util.Set<org.jruby.ir.operands.LocalVariable> outDirtyVars;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
java.util.Set<org.jruby.ir.operands.LocalVariable> dirtyVars;
descriptor: Ljava/util/Set;
flags: (0x0000)
Signature: Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
public void <init>(org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem, org.jruby.ir.representations.BasicBlock);
descriptor: (Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;Lorg/jruby/ir/representations/BasicBlock;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
invokespecial org.jruby.ir.dataflow.FlowGraphNode.<init>:(Lorg/jruby/ir/dataflow/DataFlowProblem;Lorg/jruby/ir/representations/BasicBlock;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
0 2 1 prob Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;
0 2 2 n Lorg/jruby/ir/representations/BasicBlock;
MethodParameters:
Name Flags
prob
n
public void init();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.outDirtyVars:Ljava/util/Set;
1: aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.getBB:()Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.isRescueEntry:()Z
ifeq 2
aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
public void buildDataFlowVars(org.jruby.ir.instructions.Instr);
descriptor: (Lorg/jruby/ir/instructions/Instr;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
0 1 1 i Lorg/jruby/ir/instructions/Instr;
MethodParameters:
Name Flags
i
public void applyPreMeetHandler();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.getBB:()Lorg/jruby/ir/representations/BasicBlock;
astore 1
start local 1 1: aload 1
invokevirtual org.jruby.ir.representations.BasicBlock.isRescueEntry:()Z
ifne 10
2: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
3: aload 1
invokevirtual org.jruby.ir.representations.BasicBlock.isExitBB:()Z
ifeq 10
4: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
invokevirtual org.jruby.ir.IRScope.getLiveVariablesProblem:()Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
astore 2
start local 2 5: aload 2
invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getLocalVarsLiveOnScopeEntry:()Ljava/util/Collection;
astore 3
start local 3 6: aload 3
ifnull 9
7: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
aload 3
invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
pop
8: goto 10
9: StackMap locals: org.jruby.ir.representations.BasicBlock org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.Collection
StackMap stack:
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
end local 3 end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
1 11 1 bb Lorg/jruby/ir/representations/BasicBlock;
5 10 2 lvp Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
6 10 3 liveVars Ljava/util/Collection<Lorg/jruby/ir/operands/LocalVariable;>;
public void compute_MEET(org.jruby.dirgra.Edge, org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode);
descriptor: (Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.isRescueEntry:()Z
ifne 1
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
aload 2
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.outDirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
1: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
0 2 1 e Lorg/jruby/dirgra/Edge;
0 2 2 pred Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
MethodParameters:
Name Flags
e
pred
public void initSolution();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.util.HashSet
dup
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.inDirtyVars:Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
public void applyTransferFunction(org.jruby.ir.instructions.Instr);
descriptor: (Lorg/jruby/ir/instructions/Instr;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=10, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
astore 2
start local 2 1: aload 2
invokevirtual org.jruby.ir.IRScope.bindingHasEscaped:()Z
istore 3
start local 3 2: aload 1
instanceof org.jruby.ir.instructions.ClosureAcceptingInstr
ifeq 26
3: aload 1
checkcast org.jruby.ir.instructions.ClosureAcceptingInstr
invokeinterface org.jruby.ir.instructions.ClosureAcceptingInstr.getClosureArg:()Lorg/jruby/ir/operands/Operand;
astore 4
start local 4 4: aload 4
ifnull 15
aload 4
instanceof org.jruby.ir.operands.WrappedIRClosure
ifeq 15
5: aload 4
checkcast org.jruby.ir.operands.WrappedIRClosure
invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
astore 5
start local 5 6: iload 3
istore 6
start local 6 7: new java.util.HashSet
dup
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 7
start local 7 8: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 12
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set top java.util.Iterator
StackMap stack:
9: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 8
start local 8 10: iload 6
ifne 11
aload 5
aload 8
invokevirtual org.jruby.ir.IRClosure.usesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifne 11
aload 5
aload 8
invokevirtual org.jruby.ir.IRClosure.definesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifeq 12
11: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set org.jruby.ir.operands.LocalVariable java.util.Iterator
StackMap stack:
aload 7
aload 8
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 8 12: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set top java.util.Iterator
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
13: aload 0
aload 7
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
end local 7 end local 6 end local 5 14: goto 34
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int org.jruby.ir.operands.Operand
StackMap stack:
15: iload 3
ifeq 18
16: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
17: goto 34
18: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 5
start local 5 19: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 23
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int org.jruby.ir.operands.Operand java.util.Set top java.util.Iterator
StackMap stack:
20: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 6
start local 6 21: aload 6
instanceof org.jruby.ir.operands.ClosureLocalVariable
ifeq 23
aload 6
checkcast org.jruby.ir.operands.ClosureLocalVariable
invokevirtual org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:()Z
ifeq 23
22: aload 5
aload 6
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 6 23: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 20
24: aload 0
aload 5
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
end local 5 end local 4 25: goto 34
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode org.jruby.ir.instructions.Instr org.jruby.ir.IRScope int
StackMap stack:
26: aload 1
instanceof org.jruby.ir.instructions.ReturnBase
ifne 27
aload 1
instanceof org.jruby.ir.instructions.BreakInstr
ifeq 34
27: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.getBB:()Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.isExitBB:()Z
ifne 34
28: aload 2
invokevirtual org.jruby.ir.IRScope.getLiveVariablesProblem:()Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
astore 4
start local 4 29: aload 4
invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getLocalVarsLiveOnScopeEntry:()Ljava/util/Collection;
astore 5
start local 5 30: aload 5
ifnull 33
31: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 5
invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
pop
32: goto 34
33: StackMap locals: org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.Collection
StackMap stack:
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
end local 5 end local 4 34: StackMap locals:
StackMap stack:
iload 3
ifeq 36
aload 1
invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
getstatic org.jruby.ir.Operation.PUT_GLOBAL_VAR:Lorg/jruby/ir/Operation;
if_acmpne 36
35: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
36: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.jruby.ir.instructions.Instr.canRaiseException:()Z
ifeq 38
aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.hasExceptionsRescued:()Z
ifeq 38
37: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
38: StackMap locals:
StackMap stack:
aload 1
instanceof org.jruby.ir.instructions.ResultInstr
ifeq 41
39: aload 1
checkcast org.jruby.ir.instructions.ResultInstr
invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
astore 4
start local 4 40: aload 4
instanceof org.jruby.ir.operands.LocalVariable
ifeq 41
aload 4
invokevirtual org.jruby.ir.operands.Variable.isSelf:()Z
ifne 41
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 4
checkcast org.jruby.ir.operands.LocalVariable
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 4 41: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 42 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
0 42 1 i Lorg/jruby/ir/instructions/Instr;
1 42 2 scope Lorg/jruby/ir/IRScope;
2 42 3 scopeBindingHasEscaped Z
4 25 4 o Lorg/jruby/ir/operands/Operand;
6 14 5 cl Lorg/jruby/ir/IRClosure;
7 14 6 spillAllVars Z
8 14 7 newDirtyVars Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
10 12 8 v Lorg/jruby/ir/operands/LocalVariable;
19 25 5 newDirtyVars Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
21 23 6 v Lorg/jruby/ir/operands/LocalVariable;
29 34 4 lvp Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
30 34 5 liveVars Ljava/util/Collection<Lorg/jruby/ir/operands/LocalVariable;>;
40 41 4 v Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
i
public boolean solutionChanged();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.outDirtyVars:Ljava/util/Set;
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.equals:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
public void finalizeSolution();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.outDirtyVars:Ljava/util/Set;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc ""
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
public boolean addStores(java.util.Map<org.jruby.ir.operands.Operand, org.jruby.ir.operands.Operand>, java.util.Set<org.jruby.ir.operands.LocalVariable>);
descriptor: (Ljava/util/Map;Ljava/util/Set;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getScope:()Lorg/jruby/ir/IRScope;
astore 3
start local 3 1: iconst_0
istore 4
start local 4 2: aload 3
instanceof org.jruby.ir.IRClosure
pop
3: aload 3
invokevirtual org.jruby.ir.IRScope.bindingHasEscaped:()Z
istore 5
start local 5 4: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.getInstrs:()Ljava/util/List;
invokeinterface java.util.List.listIterator:()Ljava/util/ListIterator;
astore 6
start local 6 5: aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.initSolution:()V
6: goto 92
7: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator
StackMap stack:
aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.instructions.Instr
astore 7
start local 7 8: aload 7
instanceof org.jruby.ir.instructions.ClosureAcceptingInstr
ifeq 48
9: aload 7
checkcast org.jruby.ir.instructions.ClosureAcceptingInstr
invokeinterface org.jruby.ir.instructions.ClosureAcceptingInstr.getClosureArg:()Lorg/jruby/ir/operands/Operand;
astore 8
start local 8 10: aload 8
ifnull 25
aload 8
instanceof org.jruby.ir.operands.WrappedIRClosure
ifeq 25
11: aload 8
checkcast org.jruby.ir.operands.WrappedIRClosure
invokevirtual org.jruby.ir.operands.WrappedIRClosure.getClosure:()Lorg/jruby/ir/IRClosure;
astore 9
start local 9 12: aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
13: iload 5
istore 10
start local 10 14: new java.util.HashSet
dup
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 11
start local 11 15: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
goto 21
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set top java.util.Iterator
StackMap stack:
16: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 12
start local 12 17: iload 10
ifne 18
aload 9
aload 12
invokevirtual org.jruby.ir.IRClosure.usesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifne 18
aload 9
aload 12
invokevirtual org.jruby.ir.IRClosure.definesLocalVariable:(Lorg/jruby/ir/operands/Variable;)Z
ifeq 21
18: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set org.jruby.ir.operands.LocalVariable java.util.Iterator
StackMap stack:
iconst_1
istore 4
19: aload 6
new org.jruby.ir.instructions.StoreLocalVarInstr
dup
aload 3
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 12
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
aload 12
invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
20: aload 11
aload 12
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 12 21: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand org.jruby.ir.IRClosure int java.util.Set top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
22: aload 0
aload 11
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
23: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
end local 11 end local 10 end local 9 24: goto 63
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand
StackMap stack:
25: iload 5
ifeq 35
26: aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
27: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 10
goto 31
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand top java.util.Iterator
StackMap stack:
28: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 9
start local 9 29: iconst_1
istore 4
30: aload 6
new org.jruby.ir.instructions.StoreLocalVarInstr
dup
aload 3
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 9
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
aload 9
invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
end local 9 31: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 28
32: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
33: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
34: goto 63
35: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand
StackMap stack:
aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
36: new java.util.HashSet
dup
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokespecial java.util.HashSet.<init>:(Ljava/util/Collection;)V
astore 9
start local 9 37: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 11
goto 44
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand java.util.Set top java.util.Iterator
StackMap stack:
38: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 10
start local 10 39: aload 10
instanceof org.jruby.ir.operands.ClosureLocalVariable
ifeq 40
aload 10
checkcast org.jruby.ir.operands.ClosureLocalVariable
invokevirtual org.jruby.ir.operands.ClosureLocalVariable.isOuterScopeVar:()Z
ifne 41
40: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand java.util.Set org.jruby.ir.operands.LocalVariable java.util.Iterator
StackMap stack:
aload 10
instanceof org.jruby.ir.operands.ClosureLocalVariable
ifne 44
aload 3
invokevirtual org.jruby.ir.IRScope.getScopeType:()Lorg/jruby/ir/IRScopeType;
invokevirtual org.jruby.ir.IRScopeType.isClosureType:()Z
ifeq 44
41: StackMap locals:
StackMap stack:
iconst_1
istore 4
42: aload 6
new org.jruby.ir.instructions.StoreLocalVarInstr
dup
aload 3
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 10
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
aload 10
invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
43: aload 9
aload 10
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
end local 10 44: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr org.jruby.ir.operands.Operand java.util.Set top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 38
45: aload 0
aload 9
putfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
46: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
end local 9 end local 8 47: goto 63
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr
StackMap stack:
48: aload 7
instanceof org.jruby.ir.instructions.ReturnBase
ifne 49
aload 7
instanceof org.jruby.ir.instructions.BreakInstr
ifeq 63
49: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.isExitBB:()Z
ifne 56
50: aload 3
invokevirtual org.jruby.ir.IRScope.getLiveVariablesProblem:()Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
astore 8
start local 8 51: aload 8
invokevirtual org.jruby.ir.dataflow.analyses.LiveVariablesProblem.getLocalVarsLiveOnScopeEntry:()Ljava/util/Collection;
astore 9
start local 9 52: aload 9
ifnull 55
53: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.retainAll:(Ljava/util/Collection;)Z
pop
54: goto 56
55: StackMap locals: org.jruby.ir.dataflow.analyses.LiveVariablesProblem java.util.Collection
StackMap stack:
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
end local 9 end local 8 56: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
57: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 6
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.addScopeExitStoreLocalVars:(Ljava/util/ListIterator;Ljava/util/Set;Ljava/util/Map;)Z
istore 8
start local 8 58: iload 4
ifne 59
iload 8
ifne 59
iconst_0
goto 60
StackMap locals: int
StackMap stack:
59: iconst_1
StackMap locals:
StackMap stack: int
60: istore 4
61: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
62: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
end local 8 63: StackMap locals:
StackMap stack:
iload 5
ifeq 64
aload 7
invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
getstatic org.jruby.ir.Operation.PUT_GLOBAL_VAR:Lorg/jruby/ir/Operation;
if_acmpeq 65
64: StackMap locals:
StackMap stack:
aload 7
invokevirtual org.jruby.ir.instructions.Instr.getOperation:()Lorg/jruby/ir/Operation;
getstatic org.jruby.ir.Operation.THREAD_POLL:Lorg/jruby/ir/Operation;
if_acmpne 73
65: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
66: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 70
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr top java.util.Iterator
StackMap stack:
67: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 8
start local 8 68: iconst_1
istore 4
69: aload 6
new org.jruby.ir.instructions.StoreLocalVarInstr
dup
aload 3
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 8
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
aload 8
invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
end local 8 70: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 67
71: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
72: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
73: StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr
StackMap stack:
aload 7
invokevirtual org.jruby.ir.instructions.Instr.canRaiseException:()Z
ifeq 86
74: aload 0
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.hasExceptionsRescued:()Z
ifeq 84
75: aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
76: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 9
goto 80
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr top java.util.Iterator
StackMap stack:
77: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.jruby.ir.operands.LocalVariable
astore 8
start local 8 78: iconst_1
istore 4
79: aload 6
new org.jruby.ir.instructions.StoreLocalVarInstr
dup
aload 3
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 8
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
aload 8
invokespecial org.jruby.ir.instructions.StoreLocalVarInstr.<init>:(Lorg/jruby/ir/IRScope;Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/LocalVariable;)V
invokeinterface java.util.ListIterator.add:(Ljava/lang/Object;)V
end local 8 80: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 77
81: aload 6
invokeinterface java.util.ListIterator.next:()Ljava/lang/Object;
pop
82: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.clear:()V
83: goto 86
StackMap locals: org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode java.util.Map java.util.Set org.jruby.ir.IRScope int int java.util.ListIterator org.jruby.ir.instructions.Instr
StackMap stack:
84: aload 2
ifnull 86
85: aload 2
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
86: StackMap locals:
StackMap stack:
aload 7
instanceof org.jruby.ir.instructions.ResultInstr
ifeq 92
87: aload 7
checkcast org.jruby.ir.instructions.ResultInstr
invokeinterface org.jruby.ir.instructions.ResultInstr.getResult:()Lorg/jruby/ir/operands/Variable;
astore 8
start local 8 88: aload 8
instanceof org.jruby.ir.operands.LocalVariable
ifeq 92
aload 8
invokevirtual org.jruby.ir.operands.Variable.isSelf:()Z
ifne 92
89: aload 8
checkcast org.jruby.ir.operands.LocalVariable
astore 9
start local 9 90: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
91: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 9
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.getLocalVarReplacement:(Lorg/jruby/ir/operands/LocalVariable;Ljava/util/Map;)Lorg/jruby/ir/operands/TemporaryLocalVariable;
pop
end local 9 end local 8 end local 7 92: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.ListIterator.hasNext:()Z
ifne 7
93: aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.basicBlock:Lorg/jruby/ir/representations/BasicBlock;
invokevirtual org.jruby.ir.representations.BasicBlock.isExitBB:()Z
ifeq 99
94: aload 6
invokeinterface java.util.ListIterator.hasPrevious:()Z
ifeq 95
aload 6
invokeinterface java.util.ListIterator.previous:()Ljava/lang/Object;
pop
95: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.problem:Lorg/jruby/ir/dataflow/DataFlowProblem;
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem
aload 6
aload 0
getfield org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.dirtyVars:Ljava/util/Set;
aload 1
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementProblem.addScopeExitStoreLocalVars:(Ljava/util/ListIterator;Ljava/util/Set;Ljava/util/Map;)Z
istore 7
start local 7 96: iload 4
ifne 97
iload 7
ifne 97
iconst_0
goto 98
StackMap locals: int
StackMap stack:
97: iconst_1
StackMap locals:
StackMap stack: int
98: istore 4
end local 7 99: StackMap locals:
StackMap stack:
iload 4
ireturn
end local 6 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 100 0 this Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;
0 100 1 varRenameMap Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;
0 100 2 excTargetDirtyVars Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
1 100 3 scope Lorg/jruby/ir/IRScope;
2 100 4 addedStores Z
4 100 5 scopeBindingHasEscaped Z
5 100 6 instrs Ljava/util/ListIterator<Lorg/jruby/ir/instructions/Instr;>;
8 92 7 i Lorg/jruby/ir/instructions/Instr;
10 47 8 o Lorg/jruby/ir/operands/Operand;
12 24 9 cl Lorg/jruby/ir/IRClosure;
14 24 10 spillAllVars Z
15 24 11 newDirtyVars Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
17 21 12 v Lorg/jruby/ir/operands/LocalVariable;
29 31 9 v Lorg/jruby/ir/operands/LocalVariable;
37 47 9 newDirtyVars Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;
39 44 10 v Lorg/jruby/ir/operands/LocalVariable;
51 56 8 lvp Lorg/jruby/ir/dataflow/analyses/LiveVariablesProblem;
52 56 9 liveVars Ljava/util/Collection<Lorg/jruby/ir/operands/LocalVariable;>;
58 63 8 f Z
68 70 8 v Lorg/jruby/ir/operands/LocalVariable;
78 80 8 v Lorg/jruby/ir/operands/LocalVariable;
88 92 8 v Lorg/jruby/ir/operands/Variable;
90 92 9 lv Lorg/jruby/ir/operands/LocalVariable;
96 99 7 f Z
Signature: (Ljava/util/Map<Lorg/jruby/ir/operands/Operand;Lorg/jruby/ir/operands/Operand;>;Ljava/util/Set<Lorg/jruby/ir/operands/LocalVariable;>;)Z
MethodParameters:
Name Flags
varRenameMap
excTargetDirtyVars
public void compute_MEET(org.jruby.dirgra.Edge, org.jruby.ir.dataflow.FlowGraphNode);
descriptor: (Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/FlowGraphNode;)V
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
aload 2
checkcast org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode
invokevirtual org.jruby.ir.dataflow.analyses.StoreLocalVarPlacementNode.compute_MEET:(Lorg/jruby/dirgra/Edge;Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;)V
return
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Lorg/jruby/ir/dataflow/FlowGraphNode<Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementProblem;Lorg/jruby/ir/dataflow/analyses/StoreLocalVarPlacementNode;>;
SourceFile: "StoreLocalVarPlacementNode.java"