class com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest extends com.oracle.truffle.api.dsl.test.TypeSystemTest$ValueNode
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest
super_class: com.oracle.truffle.api.dsl.test.TypeSystemTest$ValueNode
{
private final java.util.Map<java.lang.Integer, com.oracle.truffle.api.Assumption> assumptions;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Integer;Lcom/oracle/truffle/api/Assumption;>;
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.api.dsl.test.TypeSystemTest$ValueNode.<init>:()V
1: aload 0
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putfield com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest.assumptions:Ljava/util/Map;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/dsl/test/AssumptionsTest$CacheAssumptionTest;
static java.lang.String do1(int, int);
descriptor: (II)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "do1"
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value I
0 1 1 cachedValue I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization(guards = {"value == cachedValue"}, limit = "3", assumptions = {"getAssumption(cachedValue)"})
RuntimeInvisibleParameterAnnotations:
0:
1:
com.oracle.truffle.api.dsl.Cached(value = "value")
MethodParameters:
Name Flags
value
cachedValue
static java.lang.String do2(int);
descriptor: (I)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: ldc "do2"
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 value I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.dsl.Specialization()
MethodParameters:
Name Flags
value
com.oracle.truffle.api.Assumption getAssumption(int);
descriptor: (I)Lcom/oracle/truffle/api/Assumption;
flags: (0x0000)
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest.assumptions:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.Assumption
astore 2
start local 2 1: aload 2
ifnonnull 4
2: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
astore 2
3: aload 0
getfield com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest.assumptions:Ljava/util/Map;
iload 1
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 2
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: StackMap locals: com.oracle.truffle.api.Assumption
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/dsl/test/AssumptionsTest$CacheAssumptionTest;
0 5 1 value I
1 5 2 assumption Lcom/oracle/truffle/api/Assumption;
MethodParameters:
Name Flags
value
}
SourceFile: "AssumptionsTest.java"
NestHost: com.oracle.truffle.api.dsl.test.AssumptionsTest
InnerClasses:
CacheAssumptionTest = com.oracle.truffle.api.dsl.test.AssumptionsTest$CacheAssumptionTest of com.oracle.truffle.api.dsl.test.AssumptionsTest
public ValueNode = com.oracle.truffle.api.dsl.test.TypeSystemTest$ValueNode of com.oracle.truffle.api.dsl.test.TypeSystemTest
RuntimeInvisibleAnnotations:
com.oracle.truffle.api.dsl.NodeChild()