public abstract class org.jruby.ir.transformations.inlining.CloneInfo
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.jruby.ir.transformations.inlining.CloneInfo
super_class: java.lang.Object
{
protected java.util.Map<org.jruby.ir.operands.Label, org.jruby.ir.operands.Label> labelRenameMap;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Map<Lorg/jruby/ir/operands/Label;Lorg/jruby/ir/operands/Label;>;
protected java.util.Map<org.jruby.ir.operands.Variable, org.jruby.ir.operands.Variable> variableRenameMap;
descriptor: Ljava/util/Map;
flags: (0x0004) ACC_PROTECTED
Signature: Ljava/util/Map<Lorg/jruby/ir/operands/Variable;Lorg/jruby/ir/operands/Variable;>;
protected org.jruby.ir.IRScope scope;
descriptor: Lorg/jruby/ir/IRScope;
flags: (0x0004) ACC_PROTECTED
protected void <init>(org.jruby.ir.IRScope);
descriptor: (Lorg/jruby/ir/IRScope;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.ir.transformations.inlining.CloneInfo.labelRenameMap:Ljava/util/Map;
2: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield org.jruby.ir.transformations.inlining.CloneInfo.variableRenameMap:Ljava/util/Map;
3: aload 0
aload 1
putfield org.jruby.ir.transformations.inlining.CloneInfo.scope:Lorg/jruby/ir/IRScope;
4: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ir/transformations/inlining/CloneInfo;
0 5 1 scope Lorg/jruby/ir/IRScope;
MethodParameters:
Name Flags
scope
public org.jruby.ir.transformations.inlining.SimpleCloneInfo cloneForCloningClosure(org.jruby.ir.IRClosure);
descriptor: (Lorg/jruby/ir/IRClosure;)Lorg/jruby/ir/transformations/inlining/SimpleCloneInfo;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 0
instanceof org.jruby.ir.transformations.inlining.SimpleCloneInfo
ifeq 1
aload 0
checkcast org.jruby.ir.transformations.inlining.SimpleCloneInfo
invokevirtual org.jruby.ir.transformations.inlining.SimpleCloneInfo.isEnsureBlockCloneMode:()Z
ifeq 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: new org.jruby.ir.transformations.inlining.SimpleCloneInfo
dup
aload 1
iload 2
invokespecial org.jruby.ir.transformations.inlining.SimpleCloneInfo.<init>:(Lorg/jruby/ir/IRScope;Z)V
astore 3
start local 3 4: aload 3
getfield org.jruby.ir.transformations.inlining.SimpleCloneInfo.variableRenameMap:Ljava/util/Map;
aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.variableRenameMap:Ljava/util/Map;
invokeinterface java.util.Map.putAll:(Ljava/util/Map;)V
5: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/transformations/inlining/CloneInfo;
0 6 1 clonedClosure Lorg/jruby/ir/IRClosure;
3 6 2 ensureClone Z
4 6 3 clone Lorg/jruby/ir/transformations/inlining/SimpleCloneInfo;
MethodParameters:
Name Flags
clonedClosure
public org.jruby.ir.IRScope getScope();
descriptor: ()Lorg/jruby/ir/IRScope;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.scope:Lorg/jruby/ir/IRScope;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ir/transformations/inlining/CloneInfo;
protected abstract org.jruby.ir.operands.Label getRenamedLabelSimple(org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Label;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
l
public org.jruby.ir.operands.Label getRenamedLabel(org.jruby.ir.operands.Label);
descriptor: (Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Label;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.jruby.ir.operands.Label.UNRESCUED_REGION_LABEL:Lorg/jruby/ir/operands/Label;
aload 1
invokevirtual org.jruby.ir.operands.Label.equals:(Ljava/lang/Object;)Z
ifeq 1
aload 1
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.labelRenameMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ir.operands.Label
astore 2
start local 2 2: aload 2
ifnonnull 5
3: aload 0
aload 1
invokevirtual org.jruby.ir.transformations.inlining.CloneInfo.getRenamedLabelSimple:(Lorg/jruby/ir/operands/Label;)Lorg/jruby/ir/operands/Label;
astore 2
4: aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.labelRenameMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: org.jruby.ir.operands.Label
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/transformations/inlining/CloneInfo;
0 6 1 label Lorg/jruby/ir/operands/Label;
2 6 2 newLabel Lorg/jruby/ir/operands/Label;
MethodParameters:
Name Flags
label
protected abstract org.jruby.ir.operands.Variable getRenamedSelfVariable(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Variable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
self
protected abstract org.jruby.ir.operands.Variable getRenamedVariableSimple(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Variable;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
variable
public org.jruby.ir.operands.Variable getRenamedVariable(org.jruby.ir.operands.Variable);
descriptor: (Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Variable;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.jruby.ir.operands.Self
ifeq 1
aload 0
aload 1
invokevirtual org.jruby.ir.transformations.inlining.CloneInfo.getRenamedSelfVariable:(Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Variable;
areturn
1: StackMap locals:
StackMap stack:
aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.variableRenameMap:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.jruby.ir.operands.Variable
astore 2
start local 2 2: aload 2
ifnonnull 5
3: aload 0
aload 1
invokevirtual org.jruby.ir.transformations.inlining.CloneInfo.getRenamedVariableSimple:(Lorg/jruby/ir/operands/Variable;)Lorg/jruby/ir/operands/Variable;
astore 2
4: aload 0
getfield org.jruby.ir.transformations.inlining.CloneInfo.variableRenameMap:Ljava/util/Map;
aload 1
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: StackMap locals: org.jruby.ir.operands.Variable
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ir/transformations/inlining/CloneInfo;
0 6 1 variable Lorg/jruby/ir/operands/Variable;
2 6 2 newVariable Lorg/jruby/ir/operands/Variable;
MethodParameters:
Name Flags
variable
}
SourceFile: "CloneInfo.java"