public class org.graalvm.compiler.replacements.IntrinsicGraphBuilder implements org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.replacements.IntrinsicGraphBuilder
super_class: java.lang.Object
{
protected final org.graalvm.compiler.nodes.spi.CoreProviders providers;
descriptor: Lorg/graalvm/compiler/nodes/spi/CoreProviders;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.nodes.StructuredGraph graph;
descriptor: Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.bytecode.Bytecode code;
descriptor: Lorg/graalvm/compiler/bytecode/Bytecode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final jdk.vm.ci.meta.ResolvedJavaMethod method;
descriptor: Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int invokeBci;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected org.graalvm.compiler.nodes.FixedWithNextNode lastInstr;
descriptor: Lorg/graalvm/compiler/nodes/FixedWithNextNode;
flags: (0x0004) ACC_PROTECTED
protected org.graalvm.compiler.nodes.ValueNode[] arguments;
descriptor: [Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
protected org.graalvm.compiler.nodes.ValueNode returnValue;
descriptor: Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
private boolean unwindCreated;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
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/IntrinsicGraphBuilder;
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.IntrinsicGraphBuilder.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.bytecode.Bytecode, int);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/bytecode/Bytecode;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
aload 4
iload 5
getstatic org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions.YES:Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
invokespecial org.graalvm.compiler.replacements.IntrinsicGraphBuilder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/bytecode/Bytecode;ILorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
1: 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 2 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 2 1 options Lorg/graalvm/compiler/options/OptionValues;
0 2 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 2 3 providers Lorg/graalvm/compiler/nodes/spi/CoreProviders;
0 2 4 code Lorg/graalvm/compiler/bytecode/Bytecode;
0 2 5 invokeBci I
MethodParameters:
Name Flags
options
debug
providers
code
invokeBci
protected void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.nodes.spi.CoreProviders, org.graalvm.compiler.bytecode.Bytecode, int, org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/spi/CoreProviders;Lorg/graalvm/compiler/bytecode/Bytecode;ILorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=17, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 3
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
2: aload 0
aload 4
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.code:Lorg/graalvm/compiler/bytecode/Bytecode;
3: aload 0
aload 4
invokeinterface org.graalvm.compiler.bytecode.Bytecode.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
4: aload 0
new org.graalvm.compiler.nodes.StructuredGraph$Builder
dup
aload 1
aload 2
aload 6
invokespecial org.graalvm.compiler.nodes.StructuredGraph$Builder.<init>:(Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;)V
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.method:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
iconst_1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.setIsSubstitution:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
iconst_1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.trackNodeSourcePosition:(Z)Lorg/graalvm/compiler/nodes/StructuredGraph$Builder;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$Builder.build:()Lorg/graalvm/compiler/nodes/StructuredGraph;
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
5: aload 0
iload 5
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.invokeBci:I
6: aload 0
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.start:()Lorg/graalvm/compiler/nodes/StartNode;
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
7: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
astore 7
start local 7 8: aload 7
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
istore 8
start local 8 9: aload 0
iload 8
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 10
iconst_0
goto 11
StackMap locals: org.graalvm.compiler.replacements.IntrinsicGraphBuilder org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.bytecode.Bytecode int org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions jdk.vm.ci.meta.Signature int
StackMap stack: org.graalvm.compiler.replacements.IntrinsicGraphBuilder int
10: iconst_1
StackMap locals: org.graalvm.compiler.replacements.IntrinsicGraphBuilder org.graalvm.compiler.options.OptionValues org.graalvm.compiler.debug.DebugContext org.graalvm.compiler.nodes.spi.CoreProviders org.graalvm.compiler.bytecode.Bytecode int org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions jdk.vm.ci.meta.Signature int
StackMap stack: org.graalvm.compiler.replacements.IntrinsicGraphBuilder int int
11: iadd
anewarray org.graalvm.compiler.nodes.ValueNode
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.arguments:[Lorg/graalvm/compiler/nodes/ValueNode;
12: iconst_0
istore 9
start local 9 13: iconst_0
istore 10
start local 10 14: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifne 20
15: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 11
start local 11 16: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ParameterNode
dup
iload 9
aload 11
invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 12
start local 12 17: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.arguments:[Lorg/graalvm/compiler/nodes/ValueNode;
iload 10
aload 12
aastore
18: iconst_1
istore 9
19: iconst_1
istore 10
end local 12 end local 11 20: StackMap locals: int int
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 11
start local 11 21: iconst_0
istore 12
start local 12 22: goto 34
23: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType int
StackMap stack:
aload 7
iload 12
aload 11
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
aload 11
invokeinterface jdk.vm.ci.meta.JavaType.resolve:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 13
start local 13 24: aload 13
invokeinterface jdk.vm.ci.meta.JavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 14
start local 14 25: aload 14
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 28
aload 13
instanceof jdk.vm.ci.meta.ResolvedJavaType
ifeq 28
26: aload 13
checkcast jdk.vm.ci.meta.ResolvedJavaType
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createWithoutAssumptions:(Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.object:(Lorg/graalvm/compiler/core/common/type/TypeReference;)Lorg/graalvm/compiler/core/common/type/ObjectStamp;
astore 15
start local 15 27: goto 29
end local 15 28: StackMap locals: jdk.vm.ci.meta.JavaType jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 14
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 15
start local 15 29: StackMap locals: org.graalvm.compiler.core.common.type.Stamp
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.ParameterNode
dup
iload 10
aload 15
invokestatic org.graalvm.compiler.core.common.type.StampPair.createSingle:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/StampPair;
invokespecial org.graalvm.compiler.nodes.ParameterNode.<init>:(ILorg/graalvm/compiler/core/common/type/StampPair;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addWithoutUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 16
start local 16 30: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.arguments:[Lorg/graalvm/compiler/nodes/ValueNode;
iload 10
aload 16
aastore
31: iload 9
aload 14
invokevirtual jdk.vm.ci.meta.JavaKind.getSlotCount:()I
iadd
istore 9
32: iinc 10 1
end local 16 end local 15 end local 14 end local 13 33: iinc 12 1
StackMap locals:
StackMap stack:
34: iload 12
iload 8
if_icmplt 23
end local 12 35: return
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 36 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 36 1 options Lorg/graalvm/compiler/options/OptionValues;
0 36 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 36 3 providers Lorg/graalvm/compiler/nodes/spi/CoreProviders;
0 36 4 code Lorg/graalvm/compiler/bytecode/Bytecode;
0 36 5 invokeBci I
0 36 6 allowAssumptions Lorg/graalvm/compiler/nodes/StructuredGraph$AllowAssumptions;
8 36 7 sig Ljdk/vm/ci/meta/Signature;
9 36 8 max I
13 36 9 javaIndex I
14 36 10 index I
16 20 11 receiverStamp Lorg/graalvm/compiler/core/common/type/Stamp;
17 20 12 receiver Lorg/graalvm/compiler/nodes/ValueNode;
21 36 11 accessingClass Ljdk/vm/ci/meta/ResolvedJavaType;
22 35 12 i I
24 33 13 type Ljdk/vm/ci/meta/JavaType;
25 33 14 kind Ljdk/vm/ci/meta/JavaKind;
27 28 15 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
29 33 15 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
30 33 16 param Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
options
debug
providers
code
invokeBci
allowAssumptions
private <T extends org.graalvm.compiler.nodes.ValueNode> void updateLastInstruction();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.FixedNode
ifeq 23
1: aload 1
checkcast org.graalvm.compiler.nodes.FixedNode
astore 2
start local 2 2: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnull 4
3: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
4: StackMap locals: org.graalvm.compiler.nodes.FixedNode
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.FixedWithNextNode
ifeq 9
5: aload 2
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
astore 3
start local 3 6: getstatic org.graalvm.compiler.replacements.IntrinsicGraphBuilder.$assertionsDisabled:Z
ifne 7
aload 3
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
ifnull 7
new java.lang.AssertionError
dup
ldc "cannot append instruction to instruction which isn't end"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode
StackMap stack:
aload 0
aload 3
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
end local 3 8: goto 23
StackMap locals:
StackMap stack:
9: aload 2
instanceof org.graalvm.compiler.nodes.WithExceptionNode
ifeq 22
10: aload 2
checkcast org.graalvm.compiler.nodes.WithExceptionNode
astore 3
start local 3 11: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.createNextBegin:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.AbstractBeginNode
astore 4
start local 4 12: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.java.ExceptionObjectNode
dup
aload 0
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
invokespecial org.graalvm.compiler.nodes.java.ExceptionObjectNode.<init>:(Ljdk/vm/ci/meta/MetaAccessProvider;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.ExceptionObjectNode
astore 5
start local 5 13: aload 0
aload 5
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.setExceptionState:(Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;)V
14: aload 5
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.UnwindNode
dup
aload 5
invokespecial org.graalvm.compiler.nodes.UnwindNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedNode
invokevirtual org.graalvm.compiler.nodes.java.ExceptionObjectNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
15: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.unwindCreated:Z
ifeq 17
16: ldc "Intrinsic graph can only have one node with an exception edge"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
17: StackMap locals: org.graalvm.compiler.nodes.WithExceptionNode org.graalvm.compiler.nodes.AbstractBeginNode org.graalvm.compiler.nodes.java.ExceptionObjectNode
StackMap stack:
aload 0
iconst_1
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.unwindCreated:Z
18: aload 3
aload 4
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.setNext:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
19: aload 3
aload 5
invokevirtual org.graalvm.compiler.nodes.WithExceptionNode.setExceptionEdge:(Lorg/graalvm/compiler/nodes/AbstractBeginNode;)V
20: aload 0
aload 4
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
end local 5 end local 4 end local 3 21: goto 23
22: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
end local 2 23: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 24 1 v TT;
2 23 2 fixedNode Lorg/graalvm/compiler/nodes/FixedNode;
6 8 3 fixedWithNextNode Lorg/graalvm/compiler/nodes/FixedWithNextNode;
11 21 3 withExceptionNode Lorg/graalvm/compiler/nodes/WithExceptionNode;
12 21 4 normalSuccessor Lorg/graalvm/compiler/nodes/AbstractBeginNode;
13 21 5 exceptionSuccessor Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)V
MethodParameters:
Name Flags
v
protected void setExceptionState(org.graalvm.compiler.nodes.java.ExceptionObjectNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: ldc "unsupported by this IntrinsicGraphBuilder"
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 exceptionObject Lorg/graalvm/compiler/nodes/java/ExceptionObjectNode;
MethodParameters:
Name Flags
exceptionObject
public <T extends org.graalvm.compiler.nodes.ValueNode> T append();
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
ifnull 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 2
start local 2 3: aload 2
aload 1
if_acmpne 5
4: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.updateLastInstruction:(Lorg/graalvm/compiler/nodes/ValueNode;)V
5: StackMap locals: org.graalvm.compiler.nodes.ValueNode
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/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 6 1 v TT;
3 6 2 added TT;
Signature: <T:Lorg/graalvm/compiler/nodes/ValueNode;>(TT;)TT;
MethodParameters:
Name Flags
v
public void push(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.IntrinsicGraphBuilder.$assertionsDisabled:Z
ifne 1
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
ifnonnull 2
iconst_1
goto 3
StackMap locals:
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "can only push one value"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
4: aload 0
aload 2
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 6 1 kind Ljdk/vm/ci/meta/JavaKind;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
kind
value
public org.graalvm.compiler.nodes.ValueNode pop(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
ifnull 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ldc "no value pushed"
invokestatic org.graalvm.compiler.debug.GraalError.guarantee:(ZLjava/lang/String;)V
3: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 4: aload 0
aconst_null
putfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
5: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 6 1 slotKind Ljdk/vm/ci/meta/JavaKind;
4 6 2 result Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
slotKind
public org.graalvm.compiler.nodes.Invoke handleReplacedInvoke(org.graalvm.compiler.nodes.CallTargetNode$InvokeKind, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.ValueNode[], boolean);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;Ljdk/vm/ci/meta/ResolvedJavaMethod;[Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/Invoke;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()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 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 invokeKind Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
0 1 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 args [Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 forceInlineEverything Z
MethodParameters:
Name Flags
invokeKind
targetMethod
args
forceInlineEverything
public void handleReplacedInvoke(org.graalvm.compiler.nodes.CallTargetNode, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/nodes/CallTargetNode;Ljdk/vm/ci/meta/JavaKind;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 callTarget Lorg/graalvm/compiler/nodes/CallTargetNode;
0 1 2 resultType Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
callTarget
resultType
public org.graalvm.compiler.nodes.spi.StampProvider getStampProvider();
descriptor: ()Lorg/graalvm/compiler/nodes/spi/StampProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public jdk.vm.ci.meta.ConstantReflectionProvider getConstantReflection();
descriptor: ()Ljdk/vm/ci/meta/ConstantReflectionProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.core.common.spi.ConstantFieldProvider getConstantFieldProvider();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getConstantFieldProvider:()Lorg/graalvm/compiler/core/common/spi/ConstantFieldProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.nodes.spi.Replacements getReplacements();
descriptor: ()Lorg/graalvm/compiler/nodes/spi/Replacements;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.providers:Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.nodes.StructuredGraph getGraph();
descriptor: ()Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public void setStateAfter(org.graalvm.compiler.nodes.StateSplit);
descriptor: (Lorg/graalvm/compiler/nodes/StateSplit;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.replacements.IntrinsicGraphBuilder.$assertionsDisabled:Z
ifne 1
aload 1
invokeinterface org.graalvm.compiler.nodes.StateSplit.hasSideEffect:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.getGraph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.FrameState
dup
bipush -2
invokespecial org.graalvm.compiler.nodes.FrameState.<init>:(I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FrameState
astore 2
start local 2 2: aload 1
aload 2
invokeinterface org.graalvm.compiler.nodes.StateSplit.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 4 1 sideEffect Lorg/graalvm/compiler/nodes/StateSplit;
2 4 2 stateAfter Lorg/graalvm/compiler/nodes/FrameState;
MethodParameters:
Name Flags
sideEffect
public org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext getParent();
descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.bytecode.Bytecode getCode();
descriptor: ()Lorg/graalvm/compiler/bytecode/Bytecode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.code:Lorg/graalvm/compiler/bytecode/Bytecode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public jdk.vm.ci.meta.ResolvedJavaMethod getMethod();
descriptor: ()Ljdk/vm/ci/meta/ResolvedJavaMethod;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public int bci();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.invokeBci:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.nodes.CallTargetNode$InvokeKind getInvokeKind();
descriptor: ()Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 1
getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Static:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.graalvm.compiler.nodes.CallTargetNode$InvokeKind.Virtual:Lorg/graalvm/compiler/nodes/CallTargetNode$InvokeKind;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.CallTargetNode$InvokeKind
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public jdk.vm.ci.meta.JavaType getInvokeReturnType();
descriptor: ()Ljdk/vm/ci/meta/JavaType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public int getDepth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public boolean parsingIntrinsic();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public org.graalvm.compiler.nodes.graphbuilderconf.IntrinsicContext getIntrinsic();
descriptor: ()Lorg/graalvm/compiler/nodes/graphbuilderconf/IntrinsicContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
public jdk.vm.ci.code.BailoutException bailout(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/vm/ci/code/BailoutException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 string Ljava/lang/String;
MethodParameters:
Name Flags
string
public org.graalvm.compiler.nodes.ValueNode get(boolean);
descriptor: (Z)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.arguments:[Lorg/graalvm/compiler/nodes/ValueNode;
iconst_0
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 performNullCheck Z
MethodParameters:
Name Flags
performNullCheck
public org.graalvm.compiler.nodes.StructuredGraph buildGraph(org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin);
descriptor: (Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;)Lorg/graalvm/compiler/nodes/StructuredGraph;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.trackNodeSourcePosition:()Z
ifeq 1
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokestatic org.graalvm.compiler.graph.NodeSourcePosition.placeholder:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Lorg/graalvm/compiler/graph/NodeSourcePosition;
goto 2
StackMap locals:
StackMap stack:
1: aconst_null
StackMap locals:
StackMap stack: org.graalvm.compiler.graph.NodeSourcePosition
2: astore 2
start local 2 3: aconst_null
astore 3
aconst_null
astore 4
4: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 2
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/NodeSourcePosition;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 5
start local 5 5: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.isStatic:()Z
ifeq 6
aconst_null
goto 7
StackMap locals: org.graalvm.compiler.replacements.IntrinsicGraphBuilder org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin org.graalvm.compiler.graph.NodeSourcePosition java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
6: aload 0
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.IntrinsicGraphBuilder
7: astore 6
start local 6 8: aload 1
aload 0
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 6
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.arguments:[Lorg/graalvm/compiler/nodes/ValueNode;
invokeinterface org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin.execute:(Lorg/graalvm/compiler/nodes/graphbuilderconf/GraphBuilderContext;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 19
9: getstatic org.graalvm.compiler.replacements.IntrinsicGraphBuilder.$assertionsDisabled:Z
ifne 14
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
ifnull 10
iconst_1
goto 11
StackMap locals: org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver
StackMap stack:
10: iconst_0
StackMap locals:
StackMap stack: int
11: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
invokeinterface jdk.vm.ci.meta.Signature.getReturnKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 12
iconst_1
goto 13
StackMap locals:
StackMap stack: int
12: iconst_0
StackMap locals: org.graalvm.compiler.replacements.IntrinsicGraphBuilder org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin org.graalvm.compiler.graph.NodeSourcePosition java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver
StackMap stack: int int
13: if_icmpeq 14
new java.lang.AssertionError
dup
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
14: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.IntrinsicGraphBuilder.$assertionsDisabled:Z
ifne 15
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.lastInstr:Lorg/graalvm/compiler/nodes/FixedWithNextNode;
ifnonnull 15
new java.lang.AssertionError
dup
ldc "ReturnNode must be linked into control flow"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals:
StackMap stack:
aload 0
new org.graalvm.compiler.nodes.ReturnNode
dup
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.returnValue:Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.ReturnNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.replacements.IntrinsicGraphBuilder.append:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
pop
16: aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.graph:Lorg/graalvm/compiler/nodes/StructuredGraph;
17: aload 5
ifnull 18
aload 5
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
18: StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph
areturn
19: StackMap locals:
StackMap stack:
aload 5
ifnull 20
aload 5
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
20: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 6 StackMap locals: org.graalvm.compiler.replacements.IntrinsicGraphBuilder org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin org.graalvm.compiler.graph.NodeSourcePosition java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
21: astore 3
22: aload 5
ifnull 23
aload 5
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 5 StackMap locals:
StackMap stack:
23: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
24: astore 4
aload 3
ifnonnull 25
aload 4
astore 3
goto 26
StackMap locals:
StackMap stack:
25: aload 3
aload 4
if_acmpeq 26
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
26: aload 3
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 27 1 plugin Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin;
3 27 2 position Lorg/graalvm/compiler/graph/NodeSourcePosition;
5 23 5 context Lorg/graalvm/compiler/debug/DebugCloseable;
8 21 6 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
Exception table:
from to target type
5 17 21 any
4 18 24 any
19 20 24 any
21 24 24 any
MethodParameters:
Name Flags
plugin
public boolean intrinsify(org.graalvm.compiler.bytecode.BytecodeProvider, jdk.vm.ci.meta.ResolvedJavaMethod, jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/bytecode/BytecodeProvider;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()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 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 bytecodeProvider Lorg/graalvm/compiler/bytecode/BytecodeProvider;
0 1 2 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 3 substitute Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 4 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 1 5 args [Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
bytecodeProvider
targetMethod
substitute
receiver
args
public boolean intrinsify(jdk.vm.ci.meta.ResolvedJavaMethod, org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;[Lorg/graalvm/compiler/nodes/ValueNode;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:()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 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
0 1 1 targetMethod Ljdk/vm/ci/meta/ResolvedJavaMethod;
0 1 2 substituteGraph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 3 receiver Lorg/graalvm/compiler/nodes/graphbuilderconf/InvocationPlugin$Receiver;
0 1 4 argsIncludingReceiver [Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
targetMethod
substituteGraph
receiver
argsIncludingReceiver
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: ldc "%s:intrinsic"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield org.graalvm.compiler.replacements.IntrinsicGraphBuilder.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
ldc "%H.%n(%p)"
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.format:(Ljava/lang/String;)Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/IntrinsicGraphBuilder;
}
SourceFile: "IntrinsicGraphBuilder.java"
InnerClasses:
public final InvokeKind = org.graalvm.compiler.nodes.CallTargetNode$InvokeKind of org.graalvm.compiler.nodes.CallTargetNode
public final AllowAssumptions = org.graalvm.compiler.nodes.StructuredGraph$AllowAssumptions of org.graalvm.compiler.nodes.StructuredGraph
public Builder = org.graalvm.compiler.nodes.StructuredGraph$Builder of org.graalvm.compiler.nodes.StructuredGraph
public abstract Receiver = org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin$Receiver of org.graalvm.compiler.nodes.graphbuilderconf.InvocationPlugin