public abstract class org.graalvm.compiler.replacements.test.MethodSubstitutionTest extends org.graalvm.compiler.core.test.GraalCompilerTest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.replacements.test.MethodSubstitutionTest
super_class: org.graalvm.compiler.core.test.GraalCompilerTest
{
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
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.core.test.GraalCompilerTest.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
protected org.graalvm.compiler.nodes.StructuredGraph testGraph(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 1 1 snippet Ljava/lang/String;
MethodParameters:
Name Flags
snippet final
protected org.graalvm.compiler.nodes.StructuredGraph testGraph(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aconst_null
iload 2
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 1 1 snippet Ljava/lang/String;
0 1 2 assertInvoke Z
MethodParameters:
Name Flags
snippet final
assertInvoke
protected org.graalvm.compiler.nodes.StructuredGraph testGraph(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljava/lang/String;Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 1 1 snippet Ljava/lang/String;
0 1 2 name Ljava/lang/String;
MethodParameters:
Name Flags
snippet final
name
protected org.graalvm.compiler.nodes.StructuredGraph testGraph(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 2
iload 3
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 1 1 snippet Ljava/lang/String;
0 1 2 name Ljava/lang/String;
0 1 3 assertInvoke Z
MethodParameters:
Name Flags
snippet final
name
assertInvoke
protected org.graalvm.compiler.nodes.StructuredGraph testGraph(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.String, boolean);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/String;Z)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
astore 4
start local 4 1: aconst_null
astore 5
aconst_null
astore 6
2: aload 4
ldc "MethodSubstitutionTest"
aload 1
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 7
start local 7 3: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 4
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.parseEager:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 8
start local 8 4: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
astore 9
start local 9 5: aload 4
iconst_1
aload 8
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
6: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.createInliningPhase:()Lorg/graalvm/compiler/phases/BasePhase;
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.BasePhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
7: aload 4
iconst_1
aload 8
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
8: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.common.CanonicalizerPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
9: new org.graalvm.compiler.phases.common.DeadCodeEliminationPhase
dup
invokespecial org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.<init>:()V
aload 8
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
10: aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/replacements/nodes/MacroNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifeq 12
11: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
12: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext
StackMap stack:
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
ldc Lorg/graalvm/compiler/replacements/nodes/MacroNode;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.filter:(Ljava/lang/Class;)Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.isNotEmpty:()Z
ifeq 14
13: new org.graalvm.compiler.phases.common.LoweringPhase
dup
aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.createCanonicalizerPhase:()Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
invokespecial org.graalvm.compiler.phases.common.LoweringPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
aload 8
aload 9
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 8
ldc Lorg/graalvm/compiler/replacements/nodes/MacroNode;
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertNotInGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
15: aload 2
ifnull 29
16: aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 11
goto 27
StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext top java.util.Iterator
StackMap stack:
17: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 10
start local 10 18: aload 10
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 27
19: aload 10
checkcast org.graalvm.compiler.nodes.Invoke
astore 12
start local 12 20: aload 12
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifeq 27
21: aload 12
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 13
start local 13 22: aload 13
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 2
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
istore 14
start local 14 23: iload 3
ifeq 26
24: iload 14
ldc "Expected to find a call to %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
25: goto 27
26: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext org.graalvm.compiler.graph.Node java.util.Iterator org.graalvm.compiler.nodes.Invoke org.graalvm.compiler.nodes.java.MethodCallTargetNode int
StackMap stack:
iload 14
ldc "Unexpected call to %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertFalse:(ZLjava/lang/String;[Ljava/lang/Object;)V
end local 14 end local 13 end local 12 end local 10 27: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
28: goto 33
29: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.phases.tiers.HighTierContext
StackMap stack:
iload 3
ifeq 32
30: aload 8
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/nodes/Invoke;
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertInGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
31: goto 33
32: StackMap locals:
StackMap stack:
aload 8
ldc Lorg/graalvm/compiler/nodes/Invoke;
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertNotInGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
33: StackMap locals:
StackMap stack:
aload 8
34: aload 7
ifnull 35
aload 7
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
35: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 9 end local 8 StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
36: astore 5
37: aload 7
ifnull 38
aload 7
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 7 StackMap locals:
StackMap stack:
38: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
39: astore 6
aload 5
ifnonnull 40
aload 6
astore 5
goto 41
StackMap locals:
StackMap stack:
40: aload 5
aload 6
if_acmpeq 41
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
41: aload 5
athrow
StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest jdk.vm.ci.meta.ResolvedJavaMethod java.lang.String int org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
42: astore 5
start local 5 43: aload 4
aload 5
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
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 44 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 44 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 44 2 name Ljava/lang/String;
0 44 3 assertInvoke Z
1 44 4 debug Lorg/graalvm/compiler/debug/DebugContext;
3 38 7 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
4 36 8 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
5 36 9 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
18 27 10 node Lorg/graalvm/compiler/graph/Node;
20 27 12 invoke Lorg/graalvm/compiler/nodes/Invoke;
22 27 13 call Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
23 27 14 found Z
43 44 5 e Ljava/lang/Throwable;
Exception table:
from to target type
3 34 36 any
2 35 39 any
36 39 39 any
1 35 42 Class java.lang.Throwable
36 42 42 Class java.lang.Throwable
MethodParameters:
Name Flags
method final
name
assertInvoke
protected static org.graalvm.compiler.nodes.StructuredGraph assertNotInGraph(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Class<?>);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 4
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Class top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 1
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 4
3: aload 2
invokevirtual org.graalvm.compiler.graph.Node.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.fail:(Ljava/lang/String;[Ljava/lang/Object;)V
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 6 1 clazz Ljava/lang/Class<*>;
2 4 2 node Lorg/graalvm/compiler/graph/Node;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Class<*>;)Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
clazz
protected void testSubstitution(java.lang.String, java.lang.Class<?>, java.lang.Class<?>, java.lang.String, java.lang.Class<?>[], boolean, boolean, [], []);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=19, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 3
aload 4
aload 5
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getResolvedJavaMethod:(Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 11
start local 11 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 3: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 10
iconst_m1
iconst_0
aconst_null
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.allowAssumptions:()Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 12
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;IZLorg/graalvm/compiler/graph/NodeSourcePosition;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/options/OptionValues;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 13
start local 13 4: aload 13
ifnonnull 6
iload 6
ifne 6
5: aload 12
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertInGraph:(Lorg/graalvm/compiler/nodes/StructuredGraph;[Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
pop
6: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.Class java.lang.Class java.lang.String java.lang.Class[] int int java.lang.Object[] java.lang.Object[] jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 0
aload 11
aconst_null
iload 7
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;Z)Ljdk/vm/ci/code/InstalledCode;
astore 14
start local 14 7: getstatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.$assertionsDisabled:Z
ifne 8
iload 6
ifne 8
aload 14
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: jdk.vm.ci.code.InstalledCode
StackMap stack:
iconst_0
istore 15
start local 15 9: goto 16
10: StackMap locals: int
StackMap stack:
aload 8
iload 15
aaload
astore 16
start local 16 11: aload 9
iload 15
aaload
astore 17
start local 17 12: aload 0
aload 10
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 16
aastore
dup
iconst_1
aload 17
aastore
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 18
start local 18 13: aload 0
aload 18
aload 0
aload 11
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 16
aastore
dup
iconst_1
aload 17
aastore
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
14: aload 0
aload 18
aload 14
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 16
aastore
dup
iconst_1
aload 17
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.executeVarargsSafe:(Ljdk/vm/ci/code/InstalledCode;[Ljava/lang/Object;)Ljava/lang/Object;
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertDeepEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 18 end local 17 end local 16 15: iinc 15 1
StackMap locals:
StackMap stack:
16: iload 15
aload 8
arraylength
if_icmplt 10
end local 15 17: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 18 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 18 1 testMethodName Ljava/lang/String;
0 18 2 intrinsicClass Ljava/lang/Class<*>;
0 18 3 holder Ljava/lang/Class<*>;
0 18 4 methodName Ljava/lang/String;
0 18 5 parameterTypes [Ljava/lang/Class;
0 18 6 optional Z
0 18 7 forceCompilation Z
0 18 8 args1 [Ljava/lang/Object;
0 18 9 args2 [Ljava/lang/Object;
1 18 10 realMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 18 11 testMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 18 12 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 18 13 replacement Lorg/graalvm/compiler/nodes/StructuredGraph;
7 18 14 code Ljdk/vm/ci/code/InstalledCode;
9 17 15 i I
11 15 16 arg1 Ljava/lang/Object;
12 15 17 arg2 Ljava/lang/Object;
13 15 18 expected Ljava/lang/Object;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;ZZ[Ljava/lang/Object;[Ljava/lang/Object;)V
MethodParameters:
Name Flags
testMethodName
intrinsicClass
holder
methodName
parameterTypes
optional
forceCompilation
args1
args2
protected static org.graalvm.compiler.nodes.StructuredGraph assertInGraph(org.graalvm.compiler.nodes.StructuredGraph, java.lang.Class<?>[]);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Ljava/lang/Class;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getNodes:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.iterator:()Ljava/util/Iterator;
astore 3
goto 8
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Class[] top java.util.Iterator
StackMap stack:
1: aload 3
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 2
start local 2 2: aload 1
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Class[] org.graalvm.compiler.graph.Node java.util.Iterator top int int java.lang.Class[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: aload 4
aload 2
invokevirtual java.lang.Class.isInstance:(Ljava/lang/Object;)Z
ifeq 6
5: aload 0
areturn
end local 4 6: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
iload 6
if_icmplt 3
end local 2 8: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Class[] top java.util.Iterator
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
9: aload 1
arraylength
iconst_1
if_icmpne 12
10: new java.lang.StringBuilder
dup
ldc "Graph does not contain a node of class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
iconst_0
aaload
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.fail:(Ljava/lang/String;[Ljava/lang/Object;)V
11: goto 13
12: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph java.lang.Class[]
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Graph does not contain a node of one these classes class "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokestatic java.util.Arrays.toString:([Ljava/lang/Object;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_0
anewarray java.lang.Object
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.fail:(Ljava/lang/String;[Ljava/lang/Object;)V
13: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 14 1 clazzes [Ljava/lang/Class;
2 8 2 node Lorg/graalvm/compiler/graph/Node;
4 6 4 clazz Ljava/lang/Class<*>;
Signature: (Lorg/graalvm/compiler/nodes/StructuredGraph;[Ljava/lang/Class<*>;)Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
graph
clazzes
protected static java.lang.Object executeVarargsSafe(jdk.vm.ci.code.InstalledCode, java.lang.Object[]);
descriptor: (Ljdk/vm/ci/code/InstalledCode;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x008c) ACC_PROTECTED, ACC_STATIC, ACC_VARARGS
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual jdk.vm.ci.code.InstalledCode.executeVarargs:([Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: jdk.vm.ci.code.InvalidInstalledCodeException
astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 code Ljdk/vm/ci/code/InstalledCode;
0 4 1 args [Ljava/lang/Object;
3 4 2 e Ljdk/vm/ci/code/InvalidInstalledCodeException;
Exception table:
from to target type
0 1 2 Class jdk.vm.ci.code.InvalidInstalledCodeException
MethodParameters:
Name Flags
code
args
protected java.lang.Object invokeSafe(jdk.vm.ci.meta.ResolvedJavaMethod, java.lang.Object, java.lang.Object[]);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0084) ACC_PROTECTED, ACC_VARARGS
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.invoke:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: java.lang.Exception
astore 4
start local 4 3: new java.lang.RuntimeException
dup
aload 4
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 4 1 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 4 2 receiver Ljava/lang/Object;
0 4 3 args [Ljava/lang/Object;
3 4 4 e Ljava/lang/Exception;
Exception table:
from to target type
0 1 2 Class java.lang.IllegalAccessException
0 1 2 Class java.lang.IllegalArgumentException
0 1 2 Class java.lang.reflect.InvocationTargetException
0 1 2 Class java.lang.InstantiationException
MethodParameters:
Name Flags
method
receiver
args
}
SourceFile: "MethodSubstitutionTest.java"
InnerClasses:
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public final StandardLoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool