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, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=13, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getDebugContext:()Lorg/graalvm/compiler/debug/DebugContext;
astore 3
start local 3 1: aconst_null
astore 4
aconst_null
astore 5
2: aload 3
ldc "MethodSubstitutionTest"
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 6
start local 6 3: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
aload 3
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.parseEager:(Ljava/lang/String;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;Lorg/graalvm/compiler/debug/DebugContext;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 7
start local 7 4: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getDefaultHighTierContext:()Lorg/graalvm/compiler/phases/tiers/HighTierContext;
astore 8
start local 8 5: aload 3
iconst_1
aload 7
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
6: new org.graalvm.compiler.phases.common.inlining.InliningPhase
dup
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
invokespecial org.graalvm.compiler.phases.common.inlining.InliningPhase.<init>:(Lorg/graalvm/compiler/phases/common/CanonicalizerPhase;)V
aload 7
aload 8
invokevirtual org.graalvm.compiler.phases.common.inlining.InliningPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
7: aload 3
iconst_1
aload 7
ldc "Graph"
invokevirtual org.graalvm.compiler.debug.DebugContext.dump:(ILjava/lang/Object;Ljava/lang/String;)V
8: new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
aload 7
aload 8
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 7
invokevirtual org.graalvm.compiler.phases.common.DeadCodeEliminationPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;)V
10: aload 7
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
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
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 7
aload 8
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 java.lang.String java.lang.String 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 7
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
new org.graalvm.compiler.phases.common.CanonicalizerPhase
dup
invokespecial org.graalvm.compiler.phases.common.CanonicalizerPhase.<init>:()V
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 7
aload 8
invokevirtual org.graalvm.compiler.phases.common.LoweringPhase.apply:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljava/lang/Object;)V
14: StackMap locals:
StackMap stack:
aload 7
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 27
16: aload 7
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 10
goto 25
StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String 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 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 18: aload 9
instanceof org.graalvm.compiler.nodes.Invoke
ifeq 25
19: aload 9
checkcast org.graalvm.compiler.nodes.Invoke
astore 11
start local 11 20: aload 11
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
instanceof org.graalvm.compiler.nodes.java.MethodCallTargetNode
ifeq 25
21: aload 11
invokeinterface org.graalvm.compiler.nodes.Invoke.callTarget:()Lorg/graalvm/compiler/nodes/CallTargetNode;
checkcast org.graalvm.compiler.nodes.java.MethodCallTargetNode
astore 12
start local 12 22: aload 12
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
ifeq 23
iconst_0
goto 24
StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String 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
StackMap stack:
23: iconst_1
StackMap locals:
StackMap stack: int
24: ldc "Unexpected invoke of intrinsic %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 12
invokevirtual org.graalvm.compiler.nodes.java.MethodCallTargetNode.targetMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aastore
invokestatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.assertTrue:(ZLjava/lang/String;[Ljava/lang/Object;)V
end local 12 end local 11 end local 9 25: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String 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 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
26: goto 28
27: StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String 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 7
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
28: StackMap locals:
StackMap stack:
aload 7
29: aload 6
ifnull 30
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
30: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
end local 8 end local 7 StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
31: astore 4
32: aload 6
ifnull 33
aload 6
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 6 StackMap locals:
StackMap stack:
33: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
34: astore 5
aload 4
ifnonnull 35
aload 5
astore 4
goto 36
StackMap locals:
StackMap stack:
35: aload 4
aload 5
if_acmpeq 36
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
36: aload 4
athrow
StackMap locals: org.graalvm.compiler.replacements.test.MethodSubstitutionTest java.lang.String java.lang.String org.graalvm.compiler.debug.DebugContext
StackMap stack: java.lang.Throwable
37: astore 4
start local 4 38: aload 3
aload 4
invokevirtual org.graalvm.compiler.debug.DebugContext.handle:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lorg/graalvm/compiler/replacements/test/MethodSubstitutionTest;
0 39 1 snippet Ljava/lang/String;
0 39 2 name Ljava/lang/String;
1 39 3 debug Lorg/graalvm/compiler/debug/DebugContext;
3 33 6 s Lorg/graalvm/compiler/debug/DebugContext$Scope;
4 31 7 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
5 31 8 context Lorg/graalvm/compiler/phases/tiers/HighTierContext;
18 25 9 node Lorg/graalvm/compiler/graph/Node;
20 25 11 invoke Lorg/graalvm/compiler/nodes/Invoke;
22 25 12 call Lorg/graalvm/compiler/nodes/java/MethodCallTargetNode;
38 39 4 e Ljava/lang/Throwable;
Exception table:
from to target type
3 29 31 any
2 30 34 any
31 34 34 any
1 30 37 Class java.lang.Throwable
31 37 37 Class java.lang.Throwable
MethodParameters:
Name Flags
snippet final
name
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, [], []);
descriptor: (Ljava/lang/String;Ljava/lang/Class;Ljava/lang/Class;Ljava/lang/String;[Ljava/lang/Class;Z[Ljava/lang/Object;[Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=18, args_size=9
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 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 9
start local 9 1: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getResolvedJavaMethod:(Ljava/lang/String;)Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 10
start local 10 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.testGraph:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 11
start local 11 3: aload 0
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 9
iconst_m1
iconst_0
aconst_null
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.getSubstitution:(Ljdk/vm/ci/meta/ResolvedJavaMethod;IZLorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 12
start local 12 4: aload 12
ifnonnull 6
iload 6
ifne 6
5: aload 11
aload 2
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 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 10
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.getCode:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljdk/vm/ci/code/InstalledCode;
astore 13
start local 13 7: getstatic org.graalvm.compiler.replacements.test.MethodSubstitutionTest.$assertionsDisabled:Z
ifne 8
iload 6
ifne 8
aload 13
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 14
start local 14 9: goto 16
10: StackMap locals: int
StackMap stack:
aload 7
iload 14
aaload
astore 15
start local 15 11: aload 8
iload 14
aaload
astore 16
start local 16 12: aload 0
aload 9
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 15
aastore
dup
iconst_1
aload 16
aastore
invokevirtual org.graalvm.compiler.replacements.test.MethodSubstitutionTest.invokeSafe:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 17
start local 17 13: aload 0
aload 17
aload 0
aload 10
aconst_null
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 15
aastore
dup
iconst_1
aload 16
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 17
aload 13
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 15
aastore
dup
iconst_1
aload 16
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 17 end local 16 end local 15 15: iinc 14 1
StackMap locals:
StackMap stack:
16: iload 14
aload 7
arraylength
if_icmplt 10
end local 14 17: return
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 args1 [Ljava/lang/Object;
0 18 8 args2 [Ljava/lang/Object;
1 18 9 realMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 18 10 testMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 18 11 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 18 12 replacement Lorg/graalvm/compiler/nodes/StructuredGraph;
7 18 13 code Ljdk/vm/ci/code/InstalledCode;
9 17 14 i I
11 15 15 arg1 Ljava/lang/Object;
12 15 16 arg2 Ljava/lang/Object;
13 15 17 expected Ljava/lang/Object;
Signature: (Ljava/lang/String;Ljava/lang/Class<*>;Ljava/lang/Class<*>;Ljava/lang/String;[Ljava/lang/Class<*>;Z[Ljava/lang/Object;[Ljava/lang/Object;)V
MethodParameters:
Name Flags
testMethodName
intrinsicClass
holder
methodName
parameterTypes
optional
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: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, 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 0
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
5: 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
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
6: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 7 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 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