public class org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest extends org.graalvm.compiler.truffle.test.PartialEvaluationTest
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest
super_class: org.graalvm.compiler.truffle.test.PartialEvaluationTest
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial org.graalvm.compiler.truffle.test.PartialEvaluationTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest;
public static java.lang.Object constant42();
descriptor: ()Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public void constantValue();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=1
start local 0 0: 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 1
start local 1 1: new org.graalvm.compiler.truffle.test.nodes.ConstantWithAssumptionTestNode
dup
aload 1
bipush 42
invokespecial org.graalvm.compiler.truffle.test.nodes.ConstantWithAssumptionTestNode.<init>:(Lcom/oracle/truffle/api/Assumption;I)V
astore 2
start local 2 2: new org.graalvm.compiler.truffle.test.nodes.RootTestNode
dup
new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
ldc "constantValue"
aload 2
invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
astore 3
start local 3 3: aload 0
ldc "constant42"
aload 3
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest.assertPartialEvalEquals:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
astore 4
start local 4 4: aload 4
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 0
bipush 42
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
6: aload 4
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 1
invokeinterface com.oracle.truffle.api.Assumption.check:()V
8: goto 11
StackMap locals: org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest com.oracle.truffle.api.Assumption org.graalvm.compiler.truffle.test.nodes.AbstractTestNode org.graalvm.compiler.truffle.test.nodes.RootTestNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget
StackMap stack: com.oracle.truffle.api.nodes.InvalidAssumptionException
9: pop
10: ldc "Assumption must not have been invalidated."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
11: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.api.Assumption.invalidate:()V
12: aload 1
invokeinterface com.oracle.truffle.api.Assumption.check:()V
13: ldc "Assumption must have been invalidated."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
14: goto 16
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.InvalidAssumptionException
15: pop
16: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.isValid:()Z
invokestatic org.junit.Assert.assertFalse:(Z)V
17: aload 0
bipush 43
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
18: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest;
1 19 1 assumption Lcom/oracle/truffle/api/Assumption;
2 19 2 result Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;
3 19 3 rootNode Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
4 19 4 callTarget Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
Exception table:
from to target type
7 8 9 Class com.oracle.truffle.api.nodes.InvalidAssumptionException
12 14 15 Class com.oracle.truffle.api.nodes.InvalidAssumptionException
RuntimeVisibleAnnotations:
org.junit.Test()
public void assumptionBranchCutoff();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=1
start local 0 0: 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 1
start local 1 1: new org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode
dup
aload 1
invokespecial org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.<init>:(Lcom/oracle/truffle/api/Assumption;)V
astore 2
start local 2 2: new org.graalvm.compiler.truffle.test.nodes.RootTestNode
dup
new com.oracle.truffle.api.frame.FrameDescriptor
dup
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:()V
ldc "cutoffBranch"
aload 2
invokespecial org.graalvm.compiler.truffle.test.nodes.RootTestNode.<init>:(Lcom/oracle/truffle/api/frame/FrameDescriptor;Ljava/lang/String;Lorg/graalvm/compiler/truffle/test/nodes/AbstractTestNode;)V
astore 3
start local 3 3: aload 0
ldc "cutoffBranch"
aload 3
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest.compileHelper:(Ljava/lang/String;Lcom/oracle/truffle/api/nodes/RootNode;[Ljava/lang/Object;)Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: goto 8
6: StackMap locals: org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest com.oracle.truffle.api.Assumption org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode org.graalvm.compiler.truffle.test.nodes.RootTestNode org.graalvm.compiler.truffle.runtime.OptimizedCallTarget int
StackMap stack:
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 4
iconst_0
anewarray java.lang.Object
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedCallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
7: iinc 5 1
StackMap locals:
StackMap stack:
8: iload 5
ldc 100000
if_icmplt 6
end local 5 9: aload 2
invokevirtual org.graalvm.compiler.truffle.test.nodes.AssumptionCutsBranchTestNode.getChildNode:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic org.junit.Assert.assertNull:(Ljava/lang/Object;)V
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest;
1 11 1 assumption Lcom/oracle/truffle/api/Assumption;
2 11 2 result Lorg/graalvm/compiler/truffle/test/nodes/AssumptionCutsBranchTestNode;
3 11 3 rootNode Lorg/graalvm/compiler/truffle/test/nodes/RootTestNode;
4 11 4 compilable Lorg/graalvm/compiler/truffle/runtime/OptimizedCallTarget;
5 9 5 i I
RuntimeVisibleAnnotations:
org.junit.Test()
public void testAssumptionDependencyManagement();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:()Lcom/oracle/truffle/api/Assumption;
checkcast org.graalvm.compiler.truffle.runtime.OptimizedAssumption
astore 1
start local 1 1: lconst_0
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
2: aconst_null
astore 2
start local 2 3: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.registerDependency:()Ljava/util/function/Consumer;
aload 2
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
4: bipush 100
anewarray org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency
astore 3
start local 3 5: iconst_0
istore 4
start local 4 6: goto 11
7: StackMap locals: org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest org.graalvm.compiler.truffle.runtime.OptimizedAssumption org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency[] int
StackMap stack:
new org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency
dup
invokespecial org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency.<init>:()V
astore 5
start local 5 8: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.registerDependency:()Ljava/util/function/Consumer;
aload 5
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
9: aload 3
iload 4
aload 5
aastore
end local 5 10: iinc 4 1
StackMap locals:
StackMap stack:
11: iload 4
aload 3
arraylength
if_icmplt 7
end local 4 12: aload 3
arraylength
i2l
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
13: iconst_0
istore 4
start local 4 14: iconst_0
istore 5
start local 5 15: goto 20
16: StackMap locals: int
StackMap stack:
iload 5
iconst_2
irem
ifne 19
17: aload 3
iload 5
aaload
aload 1
aconst_null
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency.onAssumptionInvalidated:(Ljava/lang/Object;Ljava/lang/CharSequence;)V
18: iinc 4 1
19: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
20: iload 5
aload 3
arraylength
if_icmplt 16
end local 5 21: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.removeInvalidDependencies:()V
22: iload 4
i2l
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
23: iconst_0
istore 5
start local 5 24: goto 27
25: StackMap locals:
StackMap stack:
aload 3
iload 5
aaload
aload 1
aconst_null
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency.onAssumptionInvalidated:(Ljava/lang/Object;Ljava/lang/CharSequence;)V
26: iinc 5 1
StackMap locals:
StackMap stack:
27: iload 5
aload 3
arraylength
if_icmplt 25
end local 5 28: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.removeInvalidDependencies:()V
29: lconst_0
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
30: new java.lang.ref.WeakReference
dup
new org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency
dup
invokespecial org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency.<init>:()V
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 31: aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnull 42
32: aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency
invokevirtual org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency.soleExecutionEntryPoint:()Z
invokestatic org.junit.Assert.assertTrue:(Z)V
33: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.registerDependency:()Ljava/util/function/Consumer;
aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
34: lconst_1
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
35: bipush 10
istore 6
start local 6 36: goto 38
37: StackMap locals: org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest org.graalvm.compiler.truffle.runtime.OptimizedAssumption org.graalvm.compiler.truffle.common.OptimizedAssumptionDependency org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency[] int java.lang.ref.WeakReference int
StackMap stack:
invokestatic java.lang.System.gc:()V
38: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnull 39
iload 6
iinc 6 -1
ifgt 37
39: StackMap locals:
StackMap stack:
aload 5
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnonnull 42
40: aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.removeInvalidDependencies:()V
41: lconst_0
aload 1
invokevirtual org.graalvm.compiler.truffle.runtime.OptimizedAssumption.countDependencies:()I
i2l
invokestatic org.junit.Assert.assertEquals:(JJ)V
end local 6 42: StackMap locals:
StackMap stack:
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 43 0 this Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest;
1 43 1 assumption Lorg/graalvm/compiler/truffle/runtime/OptimizedAssumption;
3 43 2 failedCodeInstall Lorg/graalvm/compiler/truffle/common/OptimizedAssumptionDependency;
5 43 3 deps [Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency;
6 12 4 i I
8 10 5 dep Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency;
14 43 4 invalidated I
15 21 5 i I
24 28 5 i I
31 43 5 dep Ljava/lang/ref/WeakReference<Lorg/graalvm/compiler/truffle/test/AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency;>;
36 42 6 attempts I
RuntimeVisibleAnnotations:
org.junit.Test()
}
SourceFile: "AssumptionPartialEvaluationTest.java"
NestMembers:
org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency
InnerClasses:
TestOptimizedAssumptionDependency = org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest$TestOptimizedAssumptionDependency of org.graalvm.compiler.truffle.test.AssumptionPartialEvaluationTest