public abstract class org.graalvm.compiler.replacements.DefaultJavaLoweringProvider implements org.graalvm.compiler.nodes.spi.LoweringProvider
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider
super_class: java.lang.Object
{
protected final jdk.vm.ci.meta.MetaAccessProvider metaAccess;
descriptor: Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.core.common.spi.ForeignCallsProvider foreignCalls;
descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
private org.graalvm.compiler.replacements.BoxingSnippets$Templates boxingSnippets;
descriptor: Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, 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/DefaultJavaLoweringProvider;
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.DefaultJavaLoweringProvider.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.core.common.spi.ForeignCallsProvider, jdk.vm.ci.code.TargetDescription);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Ljdk/vm/ci/code/TargetDescription;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
2: aload 0
aload 2
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
3: aload 0
aload 3
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 5 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 5 2 foreignCalls Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
0 5 3 target Ljdk/vm/ci/code/TargetDescription;
MethodParameters:
Name Flags
metaAccess
foreignCalls
target
public void initialize(org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
new org.graalvm.compiler.replacements.BoxingSnippets$Templates
dup
aload 1
aload 2
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.replacements.BoxingSnippets$Templates.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
1: aload 1
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
new org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates
dup
aload 1
aload 2
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.registerSnippetTemplateCache:(Lorg/graalvm/compiler/api/replacements/SnippetTemplateCache;)V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 providers Lorg/graalvm/compiler/phases/util/Providers;
0 3 2 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
MethodParameters:
Name Flags
providers
snippetReflection
public final jdk.vm.ci.code.TargetDescription getTarget();
descriptor: ()Ljdk/vm/ci/code/TargetDescription;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
public void lower(org.graalvm.compiler.graph.Node, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.compiler.nodes.spi.Lowerable
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.graph.Node.graph:()Lorg/graalvm/compiler/graph/Graph;
checkcast org.graalvm.compiler.nodes.StructuredGraph
astore 3
start local 3 2: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 5
3: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.LoadFieldNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadFieldNode:(Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
4: goto 66
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
5: aload 1
instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
ifeq 8
6: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.StoreFieldNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerStoreFieldNode:(Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
7: goto 66
StackMap locals:
StackMap stack:
8: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 11
9: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.LoadIndexedNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadIndexedNode:(Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
10: goto 66
StackMap locals:
StackMap stack:
11: aload 1
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 14
12: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.StoreIndexedNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerStoreIndexedNode:(Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
13: goto 66
StackMap locals:
StackMap stack:
14: aload 1
instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
ifeq 17
15: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.ArrayLengthNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerArrayLengthNode:(Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
16: goto 66
StackMap locals:
StackMap stack:
17: aload 1
instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
ifeq 20
18: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.LoadHubNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadHubNode:(Lorg/graalvm/compiler/nodes/extended/LoadHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
19: goto 66
StackMap locals:
StackMap stack:
20: aload 1
instanceof org.graalvm.compiler.nodes.java.MonitorEnterNode
ifeq 23
21: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerMonitorEnterNode:(Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
22: goto 66
StackMap locals:
StackMap stack:
23: aload 1
instanceof org.graalvm.compiler.nodes.java.CompareAndSwapNode
ifeq 26
24: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.CompareAndSwapNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCompareAndSwapNode:(Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;)V
25: goto 66
StackMap locals:
StackMap stack:
26: aload 1
instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
ifeq 29
27: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerAtomicReadAndWriteNode:(Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)V
28: goto 66
StackMap locals:
StackMap stack:
29: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeLoadNode
ifeq 32
30: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.UnsafeLoadNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeLoadNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
31: goto 66
StackMap locals:
StackMap stack:
32: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
ifeq 35
33: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeMemoryLoadNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;)V
34: goto 66
StackMap locals:
StackMap stack:
35: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeStoreNode
ifeq 38
36: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.UnsafeStoreNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeStoreNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;)V
37: goto 66
StackMap locals:
StackMap stack:
38: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
ifeq 41
39: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeMemoryStoreNode:(Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;)V
40: goto 66
StackMap locals:
StackMap stack:
41: aload 1
instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
ifeq 44
42: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.JavaReadNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerJavaReadNode:(Lorg/graalvm/compiler/nodes/extended/JavaReadNode;)V
43: goto 66
StackMap locals:
StackMap stack:
44: aload 1
instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
ifeq 47
45: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.JavaWriteNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerJavaWriteNode:(Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;)V
46: goto 66
StackMap locals:
StackMap stack:
47: aload 1
instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
ifeq 50
48: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.virtual.CommitAllocationNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCommitAllocationNode:(Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
49: goto 66
StackMap locals:
StackMap stack:
50: aload 1
instanceof org.graalvm.compiler.nodes.extended.BoxNode
ifeq 53
51: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
aload 1
checkcast org.graalvm.compiler.nodes.extended.BoxNode
aload 2
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/extended/BoxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
52: goto 66
StackMap locals:
StackMap stack:
53: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnboxNode
ifeq 56
54: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.boxingSnippets:Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
aload 1
checkcast org.graalvm.compiler.nodes.extended.UnboxNode
aload 2
invokevirtual org.graalvm.compiler.replacements.BoxingSnippets$Templates.lower:(Lorg/graalvm/compiler/nodes/extended/UnboxNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
55: goto 66
StackMap locals:
StackMap stack:
56: aload 1
instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
ifeq 59
57: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.debug.VerifyHeapNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVerifyHeap:(Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;)V
58: goto 66
StackMap locals:
StackMap stack:
59: aload 1
instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
ifeq 62
60: aload 0
aload 1
checkcast org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnaryMath:(Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
61: goto 66
StackMap locals:
StackMap stack:
62: aload 1
instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
ifeq 65
63: aload 0
aload 1
checkcast org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerBinaryMath:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
64: goto 66
65: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Node implementing Lowerable not handled: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
66: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 67 1 n Lorg/graalvm/compiler/graph/Node;
0 67 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 67 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
n
tool
private void lowerBinaryMath(org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 3: aload 3
ifnull 8
4: aload 3
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 6
5: return
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.name:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/Math;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
astore 4
start local 4 9: aload 4
ifnull 14
10: aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 11: aload 5
new org.graalvm.compiler.nodes.extended.ForeignCallNode
dup
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
iconst_2
anewarray org.graalvm.compiler.nodes.ValueNode
dup
iconst_0
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aastore
dup
iconst_1
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
aastore
invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[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.extended.ForeignCallNode
astore 6
start local 6 12: aload 5
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
13: aload 1
aload 6
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
end local 6 end local 5 14: StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 15 1 math Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;
0 15 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 15 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
9 15 4 foreignCall Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
11 14 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
12 14 6 call Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
MethodParameters:
Name Flags
math
tool
private void lowerUnaryMath(org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.HIGH_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpne 2
1: return
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 3: aload 3
ifnull 8
4: aload 3
ldc Lorg/graalvm/compiler/api/replacements/Snippet;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
ifnull 6
5: return
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getName:()Ljava/lang/String;
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.name:()Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc Ljava/lang/Math;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
7: return
8: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.toForeignCall:(Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
astore 4
start local 4 9: aload 4
ifnull 14
10: aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 11: aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.extended.ForeignCallNode
dup
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.foreignCalls:Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
aload 4
iconst_1
anewarray org.graalvm.compiler.nodes.ValueNode
dup
iconst_0
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aastore
invokespecial org.graalvm.compiler.nodes.extended.ForeignCallNode.<init>:(Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;[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.extended.ForeignCallNode
astore 6
start local 6 12: aload 5
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
13: aload 1
aload 6
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
end local 6 end local 5 14: StackMap locals: org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 15 1 math Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 15 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 15 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
9 15 4 foreignCall Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
11 14 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
12 14 6 call Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
MethodParameters:
Name Flags
math
tool
protected org.graalvm.compiler.core.common.spi.ForeignCallDescriptor toForeignCall(org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.foreignCallDescriptor:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 operation Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
MethodParameters:
Name Flags
operation
protected org.graalvm.compiler.core.common.spi.ForeignCallDescriptor toForeignCall(org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation);
descriptor: (Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.foreignCallDescriptor:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 operation Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
MethodParameters:
Name Flags
operation
protected void lowerVerifyHeap(org.graalvm.compiler.nodes.debug.VerifyHeapNode);
descriptor: (Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 2 1 n Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;
MethodParameters:
Name Flags
n
protected org.graalvm.compiler.nodes.memory.address.AddressNode createOffsetAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, long);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
lload 3
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 5
start local 5 1: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 2
aload 5
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
areturn
end local 5 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/DefaultJavaLoweringProvider;
0 2 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 2 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 offset J
1 2 5 o Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
object
offset
protected org.graalvm.compiler.nodes.memory.address.AddressNode createFieldAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaField;)I
istore 4
start local 4 1: iload 4
iflt 3
2: aload 0
aload 1
aload 2
iload 4
i2l
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
areturn
3: StackMap locals: int
StackMap stack:
aconst_null
areturn
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/DefaultJavaLoweringProvider;
0 4 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 field Ljdk/vm/ci/meta/ResolvedJavaField;
1 4 4 offset I
MethodParameters:
Name Flags
graph
object
field
protected void lowerLoadFieldNode(org.graalvm.compiler.nodes.java.LoadFieldNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/LoadFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=12, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Illegal: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 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 2: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 3: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isStatic:()Z
ifeq 4
aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.staticFieldBase:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
goto 5
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaField
StackMap stack:
4: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
5: astore 5
start local 5 6: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 7: aload 0
aload 3
aload 5
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 7
start local 7 8: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 9
aload 7
ifnonnull 9
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Field that is loaded must not be eliminated: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.toJavaName:(Z)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
9: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode
StackMap stack:
aload 3
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 7
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
aload 6
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 8
start local 8 10: aload 0
aload 3
aload 4
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 8
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 11: aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
12: aload 3
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
13: aload 8
aload 0
aload 5
aload 8
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
14: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
ifeq 19
15: aload 3
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_0
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<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.extended.MembarNode
astore 10
start local 10 16: aload 3
aload 8
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
17: aload 3
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iconst_3
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<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.extended.MembarNode
astore 11
start local 11 18: aload 3
aload 8
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 11 end local 10 19: StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
return
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 20 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 20 1 loadField Lorg/graalvm/compiler/nodes/java/LoadFieldNode;
0 20 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 20 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 20 4 field Ljdk/vm/ci/meta/ResolvedJavaField;
6 20 5 object Lorg/graalvm/compiler/nodes/ValueNode;
7 20 6 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
8 20 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
10 20 8 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
11 20 9 readValue Lorg/graalvm/compiler/nodes/ValueNode;
16 19 10 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
18 19 11 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
MethodParameters:
Name Flags
loadField
tool
protected void lowerStoreFieldNode(org.graalvm.compiler.nodes.java.StoreFieldNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/StoreFieldNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
astore 4
start local 4 2: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isStatic:()Z
ifeq 3
aload 0
aload 3
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.staticFieldBase:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
goto 4
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaField
StackMap stack:
3: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
4: astore 5
start local 5 5: aload 0
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 6: aload 0
aload 3
aload 5
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 7
start local 7 7: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 8
aload 7
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode
StackMap stack:
aload 3
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 7
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldLocationIdentity:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
aload 6
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 8
start local 8 9: aload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
10: aload 3
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
11: aload 8
aload 0
aload 5
aload 8
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
12: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
ifeq 17
13: aload 3
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 10
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<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.extended.MembarNode
astore 9
start local 9 14: aload 3
aload 8
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
15: aload 3
new org.graalvm.compiler.nodes.extended.MembarNode
dup
bipush 12
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<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.extended.MembarNode
astore 10
start local 10 16: aload 3
aload 8
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 10 end local 9 17: StackMap locals: org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
return
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/DefaultJavaLoweringProvider;
0 18 1 storeField Lorg/graalvm/compiler/nodes/java/StoreFieldNode;
0 18 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 18 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 18 4 field Ljdk/vm/ci/meta/ResolvedJavaField;
5 18 5 object Lorg/graalvm/compiler/nodes/ValueNode;
6 18 6 value Lorg/graalvm/compiler/nodes/ValueNode;
7 18 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
9 18 8 memoryWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
14 17 9 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
16 17 10 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
MethodParameters:
Name Flags
storeField
tool
public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_4
if_icmple 3
1: aload 1
new org.graalvm.compiler.nodes.calc.SignExtendNode
dup
aload 4
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
bipush 8
imul
invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 2: goto 5
end local 5 3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 4
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_4
if_icmpeq 4
new java.lang.AssertionError
dup
ldc "unsupported word size"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals:
StackMap stack:
aload 4
astore 5
start local 5 5: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(Ljdk/vm/ci/meta/JavaKind;)I
invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
istore 6
start local 6 6: aload 1
new org.graalvm.compiler.nodes.calc.LeftShiftNode
dup
aload 5
iload 6
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.LeftShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 7
start local 7 7: aload 0
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 8
start local 8 8: aload 1
new org.graalvm.compiler.nodes.calc.AddNode
dup
aload 7
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordJavaKind:Ljdk/vm/ci/meta/JavaKind;
iload 8
i2l
aload 1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerKind:(Ljdk/vm/ci/meta/JavaKind;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.AddNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 9
start local 9 9: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 2
aload 9
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
areturn
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 10 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 10 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 10 2 array Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 elementKind Ljdk/vm/ci/meta/JavaKind;
0 10 4 index Lorg/graalvm/compiler/nodes/ValueNode;
2 3 5 wordIndex Lorg/graalvm/compiler/nodes/ValueNode;
5 10 5 wordIndex Lorg/graalvm/compiler/nodes/ValueNode;
6 10 6 shift I
7 10 7 scaledIndex Lorg/graalvm/compiler/nodes/ValueNode;
8 10 8 base I
9 10 9 offset Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
array
elementKind
index
protected void lowerLoadIndexedNode(org.graalvm.compiler.nodes.java.LoadIndexedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 5
start local 5 3: aload 0
aload 1
aload 2
aconst_null
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheckedIndex:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;[Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/PiNode;
astore 6
start local 6 4: aload 6
astore 7
start local 7 5: aload 7
ifnonnull 7
6: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
7: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.LoadIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.PiNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
aload 7
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 8
start local 8 8: aload 3
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 8
aload 4
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 5
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 9
start local 9 9: aload 0
aload 3
aload 4
aload 9
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 10: aload 6
ifnull 12
11: aload 9
aload 6
invokevirtual org.graalvm.compiler.nodes.PiNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
12: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 1
aload 10
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
13: aload 3
aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
14: return
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 15 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 15 1 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
0 15 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 15 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 15 4 elementKind Ljdk/vm/ci/meta/JavaKind;
3 15 5 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 15 6 pi Lorg/graalvm/compiler/nodes/PiNode;
5 15 7 checkedIndex Lorg/graalvm/compiler/nodes/ValueNode;
8 15 8 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
9 15 9 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
10 15 10 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
loadIndexed
tool
protected void lowerStoreIndexedNode(org.graalvm.compiler.nodes.java.StoreIndexedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: iconst_1
anewarray org.graalvm.compiler.nodes.extended.GuardingNode
astore 4
start local 4 2: aload 0
aload 1
aload 2
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheckedIndex:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;[Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/PiNode;
astore 5
start local 5 3: aload 5
ifnonnull 7
4: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 5: aconst_null
astore 7
start local 7 6: goto 9
end local 7 end local 6 7: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode[] org.graalvm.compiler.nodes.PiNode
StackMap stack:
aload 5
astore 6
start local 6 8: aload 5
invokevirtual org.graalvm.compiler.nodes.PiNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 9: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
astore 8
start local 8 10: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 11: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 10
start local 10 12: aconst_null
astore 11
start local 11 13: aload 8
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 28
aload 9
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 28
14: aload 10
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 12
start local 12 15: aload 12
ifnull 22
aload 12
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
ifeq 22
16: aload 12
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.getType:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getComponentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 13
start local 13 17: aload 13
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 28
18: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 13
invokestatic org.graalvm.compiler.core.common.type.TypeReference.createTrusted:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ResolvedJavaType;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 14
start local 14 19: aload 3
aload 14
aload 9
invokestatic org.graalvm.compiler.nodes.java.InstanceOfNode.create:(Lorg/graalvm/compiler/core/common/type/TypeReference;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 15
start local 15 20: aload 3
aload 9
invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
aload 15
ldc 0.25
invokestatic org.graalvm.compiler.nodes.LogicNode.or:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
astore 11
end local 15 end local 14 end local 13 21: goto 28
22: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.StoreIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardingNode[] org.graalvm.compiler.nodes.PiNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.core.common.type.TypeReference
StackMap stack:
aload 4
iconst_0
aaload
astore 13
start local 13 23: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 24
aload 4
iconst_0
aaload
ifnonnull 24
aload 0
aload 10
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
ifnull 24
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
24: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 0
aload 3
aload 3
new org.graalvm.compiler.nodes.PiNode
dup
aload 10
aload 13
checkcast org.graalvm.compiler.nodes.ValueNode
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 14
start local 14 25: aload 0
aload 3
aload 14
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayComponentHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 15
start local 15 26: aload 3
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getAssumptions:()Ljdk/vm/ci/meta/Assumptions;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
aload 15
aload 9
iconst_0
invokestatic org.graalvm.compiler.nodes.java.InstanceOfDynamicNode.create:(Ljdk/vm/ci/meta/Assumptions;Ljdk/vm/ci/meta/ConstantReflectionProvider;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
astore 16
start local 16 27: aload 3
aload 9
invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
aload 16
ldc 0.25
invokestatic org.graalvm.compiler.nodes.LogicNode.or:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/LogicNode;D)Lorg/graalvm/compiler/nodes/LogicNode;
astore 11
end local 16 end local 15 end local 14 end local 13 end local 12 28: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 10
aload 8
aload 6
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 12
start local 12 29: aload 3
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 12
aload 8
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 0
aload 3
aload 8
aload 9
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
30: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
31: invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 13
start local 13 32: aload 13
aload 7
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
33: aload 11
ifnull 36
34: aload 2
aload 1
aload 11
getstatic jdk.vm.ci.meta.DeoptimizationReason.ArrayStoreException:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 14
start local 14 35: aload 13
aload 14
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStoreCheckGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
end local 14 36: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
aload 13
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
37: aload 3
aload 1
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
38: 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 39 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 39 1 storeIndexed Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
0 39 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 39 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 39 4 nullCheckReturn [Lorg/graalvm/compiler/nodes/extended/GuardingNode;
3 39 5 pi Lorg/graalvm/compiler/nodes/PiNode;
5 7 6 checkedIndex Lorg/graalvm/compiler/nodes/ValueNode;
8 39 6 checkedIndex Lorg/graalvm/compiler/nodes/ValueNode;
6 7 7 boundsCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
9 39 7 boundsCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
10 39 8 elementKind Ljdk/vm/ci/meta/JavaKind;
11 39 9 value Lorg/graalvm/compiler/nodes/ValueNode;
12 39 10 array Lorg/graalvm/compiler/nodes/ValueNode;
13 39 11 condition Lorg/graalvm/compiler/nodes/LogicNode;
15 28 12 arrayType Lorg/graalvm/compiler/core/common/type/TypeReference;
17 21 13 elementType Ljdk/vm/ci/meta/ResolvedJavaType;
19 21 14 typeReference Lorg/graalvm/compiler/core/common/type/TypeReference;
20 21 15 typeTest Lorg/graalvm/compiler/nodes/LogicNode;
23 28 13 nullCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
25 28 14 arrayClass Lorg/graalvm/compiler/nodes/ValueNode;
26 28 15 componentHub Lorg/graalvm/compiler/nodes/ValueNode;
27 28 16 typeTest Lorg/graalvm/compiler/nodes/LogicNode;
29 39 12 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
32 39 13 memoryWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
35 36 14 storeCheckGuard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
MethodParameters:
Name Flags
storeIndexed
tool
protected void lowerArrayLengthNode(org.graalvm.compiler.nodes.java.ArrayLengthNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 0
aload 3
aload 4
aload 0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayLengthOffset:()I
i2l
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 5
start local 5 3: aload 3
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 5
getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ARRAY_LENGTH_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.positiveInt:()Lorg/graalvm/compiler/core/common/type/Stamp;
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 6
start local 6 4: aload 6
aload 0
aload 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
5: aload 3
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
6: return
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 7 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 7 1 arrayLengthNode Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;
0 7 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 7 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 7 4 array Lorg/graalvm/compiler/nodes/ValueNode;
3 7 5 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
4 7 6 arrayLengthRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
MethodParameters:
Name Flags
arrayLengthNode
tool
protected void lowerLoadHubNode(org.graalvm.compiler.nodes.extended.LoadHubNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadHubNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
getstatic org.graalvm.compiler.nodes.spi.LoweringTool$StandardLoweringStage.LOW_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpeq 3
2: return
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.allowsFloatingGuards:()Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadHub:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 6: aload 1
aload 4
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
7: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 8 1 loadHub Lorg/graalvm/compiler/nodes/extended/LoadHubNode;
0 8 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 8 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
6 8 4 hub Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
loadHub
tool
protected void lowerMonitorEnterNode(org.graalvm.compiler.nodes.java.MonitorEnterNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 1: aload 0
aload 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 5
start local 5 2: aload 5
ifnull 4
3: aload 3
new org.graalvm.compiler.nodes.PiNode
dup
aload 4
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.ObjectStamp.improveWith:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
checkcast org.graalvm.compiler.nodes.ValueNode
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 4
4: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 3
aload 4
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getStampProvider:()Lorg/graalvm/compiler/nodes/spi/StampProvider;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokestatic org.graalvm.compiler.nodes.extended.LoadHubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/StampProvider;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 6
start local 6 5: aload 3
new org.graalvm.compiler.nodes.java.RawMonitorEnterNode
dup
aload 4
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.getMonitorId:()Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
invokespecial org.graalvm.compiler.nodes.java.RawMonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.RawMonitorEnterNode
astore 7
start local 7 6: aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.stateBefore:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.RawMonitorEnterNode.setStateBefore:(Lorg/graalvm/compiler/nodes/FrameState;)V
7: aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.RawMonitorEnterNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
8: aload 3
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
9: return
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 10 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 10 1 monitorEnter Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
0 10 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 10 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 10 4 object Lorg/graalvm/compiler/nodes/ValueNode;
2 10 5 nullCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
5 10 6 hub Lorg/graalvm/compiler/nodes/ValueNode;
6 10 7 rawMonitorEnter Lorg/graalvm/compiler/nodes/java/RawMonitorEnterNode;
MethodParameters:
Name Flags
monitorEnter
tool
graph
protected void lowerCompareAndSwapNode(org.graalvm.compiler.nodes.java.CompareAndSwapNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.getValueKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 2: aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.expected:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 3: aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 4: aload 2
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 6
start local 6 5: aload 2
new org.graalvm.compiler.nodes.java.LoweredCompareAndSwapNode
dup
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
aload 5
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.compareAndSwapBarrierType:(Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.java.LoweredCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.LoweredCompareAndSwapNode
astore 7
start local 7 6: aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.LoweredCompareAndSwapNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
7: aload 2
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
8: return
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 9 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 9 1 cas Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;
1 9 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 9 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 9 4 expectedValue Lorg/graalvm/compiler/nodes/ValueNode;
4 9 5 newValue Lorg/graalvm/compiler/nodes/ValueNode;
5 9 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
6 9 7 atomicNode Lorg/graalvm/compiler/nodes/java/LoweredCompareAndSwapNode;
MethodParameters:
Name Flags
cas
protected void lowerAtomicReadAndWriteNode(org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getValueKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 2: aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 3: aload 2
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 5
start local 5 4: aload 2
new org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
dup
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.atomicReadAndWriteBarrierType:(Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
astore 6
start local 6 5: aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
6: aload 0
aload 2
aload 3
aload 6
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 7: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
8: aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
9: aload 2
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
10: return
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 11 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 11 1 n Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;
1 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 11 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 11 4 newValue Lorg/graalvm/compiler/nodes/ValueNode;
4 11 5 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
5 11 6 memoryRead Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
7 11 7 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
n
protected void lowerUnsafeLoadNode(org.graalvm.compiler.nodes.extended.UnsafeLoadNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
instanceof org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
ifeq 12
2: aload 1
checkcast org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 5
start local 5 4: aload 5
ifnonnull 9
5: aload 0
aload 3
aload 1
aconst_null
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
astore 6
start local 6 6: aload 6
iconst_0
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
7: aload 3
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 8: goto 14
9: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.GuardedUnsafeLoadNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 0
aload 3
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
astore 6
start local 6 10: aload 3
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 end local 5 end local 4 11: goto 14
12: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
aconst_null
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeRead:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
astore 4
start local 4 13: aload 3
aload 1
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 4 14: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 15 1 load Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;
0 15 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 15 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 11 4 guardedLoad Lorg/graalvm/compiler/nodes/extended/GuardedUnsafeLoadNode;
4 11 5 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
6 8 6 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
10 11 6 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
13 14 4 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
MethodParameters:
Name Flags
load
tool
protected org.graalvm.compiler.nodes.memory.address.AddressNode createUnsafeAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifeq 2
1: aload 1
new org.graalvm.compiler.nodes.memory.address.RawAddressNode
dup
aload 3
invokespecial org.graalvm.compiler.nodes.memory.address.RawAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
areturn
2: StackMap locals:
StackMap stack:
aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 2
aload 3
invokespecial org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 3 2 object Lorg/graalvm/compiler/nodes/ValueNode;
0 3 3 offset Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
object
offset
protected org.graalvm.compiler.nodes.memory.ReadNode createUnsafeRead(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.extended.UnsafeLoadNode, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=10, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 4
start local 4 3: aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 4: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
iload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 6
start local 6 5: aload 0
aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 7
start local 7 6: aload 1
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 7
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 6
aload 3
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/extended/GuardingNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 8
start local 8 7: aload 3
ifnonnull 9
8: aload 8
iconst_1
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
9: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.UnsafeLoadNode org.graalvm.compiler.nodes.extended.GuardingNode int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode
StackMap stack:
aload 0
aload 1
aload 5
aload 8
iload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 10: aload 2
aload 9
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
11: aload 8
areturn
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 12 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 12 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 12 2 load Lorg/graalvm/compiler/nodes/extended/UnsafeLoadNode;
0 12 3 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
3 12 4 compressible Z
4 12 5 readKind Ljdk/vm/ci/meta/JavaKind;
5 12 6 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 12 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
7 12 8 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
10 12 9 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
load
guard
protected void lowerUnsafeMemoryLoadNode(org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 2: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 3
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
iconst_0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
start local 4 4: aload 2
new org.graalvm.compiler.nodes.memory.address.RawAddressNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.memory.address.RawAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 5
start local 5 5: aload 2
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 6
start local 6 6: aload 6
iconst_1
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
7: aload 0
aload 2
aload 3
aload 6
iconst_0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 8: aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
9: aload 2
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
10: return
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 11 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 11 1 load Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryLoadNode;
1 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 11 3 readKind Ljdk/vm/ci/meta/JavaKind;
4 11 4 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
5 11 5 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
6 11 6 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
8 11 7 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
load
protected void lowerUnsafeStoreNode(org.graalvm.compiler.nodes.extended.UnsafeStoreNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 2
iconst_1
goto 3
StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: istore 3
start local 3 4: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
astore 4
start local 4 5: aload 0
aload 2
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 6: aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.offset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createUnsafeAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 6
start local 6 7: aload 2
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 5
aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.unsafeStoreBarrierType:(Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 7
start local 7 8: aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
9: aload 2
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
10: return
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 11 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 11 1 store Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;
1 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 11 3 compressible Z
5 11 4 valueKind Ljdk/vm/ci/meta/JavaKind;
6 11 5 value Lorg/graalvm/compiler/nodes/ValueNode;
7 11 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
8 11 7 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
MethodParameters:
Name Flags
store
protected void lowerUnsafeMemoryStoreNode(org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 3: aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
iconst_0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 2
new org.graalvm.compiler.nodes.memory.address.RawAddressNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.memory.address.RawAddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.address.AddressNode
astore 5
start local 5 5: aload 2
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 6
start local 6 6: aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
7: aload 2
aload 1
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
8: return
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 9 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 9 1 store Lorg/graalvm/compiler/nodes/extended/UnsafeMemoryStoreNode;
1 9 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 9 3 valueKind Ljdk/vm/ci/meta/JavaKind;
4 9 4 value Lorg/graalvm/compiler/nodes/ValueNode;
5 9 5 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
6 9 6 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
MethodParameters:
Name Flags
store
protected void lowerJavaReadNode(org.graalvm.compiler.nodes.extended.JavaReadNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/JavaReadNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getReadKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.isCompressible:()Z
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
astore 4
start local 4 3: aload 2
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 5
start local 5 4: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 6
start local 6 5: aload 0
aload 2
aload 3
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.isCompressible:()Z
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 6: aload 6
ifnonnull 9
7: aload 5
iconst_1
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
8: goto 10
9: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.extended.JavaReadNode org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
10: StackMap locals:
StackMap stack:
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
11: aload 2
aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
12: return
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 13 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 13 1 read Lorg/graalvm/compiler/nodes/extended/JavaReadNode;
1 13 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 13 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 13 4 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
4 13 5 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
5 13 6 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
6 13 7 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
read
protected void lowerJavaWriteNode(org.graalvm.compiler.nodes.extended.JavaWriteNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getWriteKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 2: aload 0
aload 2
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.isCompressible:()Z
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 3: aload 2
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.isInitialization:()Z
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;Z)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.WriteNode
astore 5
start local 5 4: aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
5: aload 2
aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
6: aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getGuard:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
7: 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 8 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 8 1 write Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;
1 8 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 8 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 8 4 value Lorg/graalvm/compiler/nodes/ValueNode;
4 8 5 memoryWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
MethodParameters:
Name Flags
write
protected void lowerCommitAllocationNode(org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=21, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
getstatic org.graalvm.compiler.nodes.StructuredGraph$GuardsStage.FIXED_DEOPTS:Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
if_acmpne 86
2: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 4
start local 4 3: aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
anewarray org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 4: new java.util.BitSet
dup
invokespecial java.util.BitSet.<init>:()V
astore 6
start local 6 5: iconst_0
istore 7
start local 7 6: iconst_0
istore 8
start local 8 7: goto 49
8: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
astore 9
start local 9 9: aload 9
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
istore 10
start local 10 10: aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 13
11: aload 3
aload 0
aload 9
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNewInstanceFromVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
astore 11
start local 11 12: goto 14
end local 11 13: StackMap locals: org.graalvm.compiler.nodes.virtual.VirtualObjectNode int
StackMap stack:
aload 3
aload 0
aload 9
iload 10
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNewArrayFromVirtual:(Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/NewArrayNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
astore 11
start local 11 14: StackMap locals: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
StackMap stack:
aload 4
aload 11
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
15: aload 3
aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
16: aload 5
iload 8
aload 11
aastore
17: iconst_0
istore 12
start local 12 18: goto 47
19: StackMap locals: int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 13
start local 13 20: aload 13
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifeq 22
21: aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
aload 13
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
aaload
astore 13
22: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 13
ifnonnull 25
23: aload 6
iload 7
invokevirtual java.util.BitSet.set:(I)V
24: goto 45
StackMap locals:
StackMap stack:
25: aload 13
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 26
aload 13
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifne 45
26: StackMap locals:
StackMap stack:
aload 13
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 14
start local 14 27: aload 9
iload 12
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
astore 15
start local 15 28: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 31
aload 14
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 15
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 31
29: aload 14
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 31
aload 14
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 31
aload 14
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 30
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 31
StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
StackMap stack:
30: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
aconst_null
astore 16
start local 16 32: aconst_null
astore 17
start local 17 33: aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 40
34: aload 9
checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
iload 12
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 18
start local 18 35: aload 0
aload 18
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaField;)I
i2l
lstore 19
start local 19 36: lload 19
lconst_0
lcmp
iflt 42
37: aload 0
aload 3
aload 11
lload 19
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 16
38: aload 0
aload 15
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldInitializationBarrier:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
astore 17
end local 19 end local 18 39: goto 42
40: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
StackMap stack:
aload 0
aload 3
aload 11
aload 0
aload 15
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
iload 12
aload 0
aload 15
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(Ljdk/vm/ci/meta/JavaKind;)I
imul
iadd
i2l
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 16
41: aload 0
aload 15
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayInitializationBarrier:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
astore 17
42: StackMap locals:
StackMap stack:
aload 16
ifnull 45
43: new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 16
aload 0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.initLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 0
aload 3
aload 15
aload 13
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 17
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
astore 18
start local 18 44: aload 3
aload 11
aload 3
aload 18
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.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
end local 18 end local 17 end local 16 end local 15 end local 14 45: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode int org.graalvm.compiler.nodes.java.AbstractNewObjectNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iinc 7 1
end local 13 46: iinc 12 1
StackMap locals:
StackMap stack:
47: iload 12
iload 10
if_icmplt 19
end local 12 end local 11 end local 10 end local 9 48: iinc 8 1
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int
StackMap stack:
49: iload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 8
end local 8 50: iconst_0
istore 7
51: iconst_0
istore 8
start local 8 52: goto 79
53: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
iload 8
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
astore 9
start local 9 54: aload 9
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
istore 10
start local 10 55: aload 5
iload 8
aaload
astore 11
start local 11 56: iconst_0
istore 12
start local 12 57: goto 77
58: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode int org.graalvm.compiler.nodes.ValueNode int
StackMap stack:
aload 6
iload 7
invokevirtual java.util.BitSet.get:(I)Z
ifeq 75
59: aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 13
start local 13 60: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 61
aload 13
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifne 61
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
61: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
aload 13
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
aaload
astore 14
start local 14 62: aload 14
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 63
aload 14
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifne 75
63: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 65
aload 9
iload 12
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 64
aload 14
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 65
StackMap locals:
StackMap stack:
64: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
65: StackMap locals:
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 70
66: aload 9
checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
astore 17
start local 17 67: aload 0
aload 3
aload 11
aload 17
iload 12
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createFieldAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 15
start local 15 68: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
astore 16
end local 17 start local 16 69: goto 72
end local 16 end local 15 70: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 11
aload 9
iload 12
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(I)Ljdk/vm/ci/meta/JavaKind;
iload 12
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 15
start local 15 71: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
astore 16
start local 16 72: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
StackMap stack:
aload 15
ifnull 75
73: new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 15
aload 0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.initLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 0
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 14
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 16
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
astore 17
start local 17 74: aload 3
aload 1
aload 3
aload 17
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 17 end local 16 end local 15 end local 14 end local 13 75: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int org.graalvm.compiler.nodes.virtual.VirtualObjectNode int org.graalvm.compiler.nodes.ValueNode int
StackMap stack:
iinc 7 1
76: iinc 12 1
StackMap locals:
StackMap stack:
77: iload 12
iload 10
if_icmplt 58
end local 12 end local 11 end local 10 end local 9 78: iinc 8 1
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int int
StackMap stack:
79: iload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 53
end local 8 80: aload 0
aload 2
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.finishAllocatedObjects:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
81: aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
82: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 85
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.util.List org.graalvm.compiler.nodes.ValueNode[] java.util.BitSet int top java.util.Iterator
StackMap stack:
83: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
astore 8
start local 8 84: aload 8
aload 2
invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
end local 8 85: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 83
end local 7 end local 6 end local 5 end local 4 86: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 87 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 87 1 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 87 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 87 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 86 4 recursiveLowerings Ljava/util/List<Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;>;
4 86 5 allocations [Lorg/graalvm/compiler/nodes/ValueNode;
5 86 6 omittedValues Ljava/util/BitSet;
6 86 7 valuePos I
7 50 8 objIndex I
9 48 9 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
10 48 10 entryCount I
12 13 11 newObject Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
14 48 11 newObject Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
18 48 12 i I
20 46 13 value Lorg/graalvm/compiler/nodes/ValueNode;
27 45 14 valueKind Ljdk/vm/ci/meta/JavaKind;
28 45 15 entryKind Ljdk/vm/ci/meta/JavaKind;
32 45 16 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
33 45 17 barrierType Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
35 39 18 field Ljdk/vm/ci/meta/ResolvedJavaField;
36 39 19 offset J
44 45 18 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
52 80 8 objIndex I
54 78 9 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
55 78 10 entryCount I
56 78 11 newObject Lorg/graalvm/compiler/nodes/ValueNode;
57 78 12 i I
60 75 13 value Lorg/graalvm/compiler/nodes/ValueNode;
62 75 14 allocValue Lorg/graalvm/compiler/nodes/ValueNode;
68 70 15 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
71 75 15 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
69 70 16 barrierType Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
72 75 16 barrierType Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
67 69 17 virtualInstance Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
74 75 17 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
84 85 8 recursiveLowering Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
MethodParameters:
Name Flags
commit
tool
public org.graalvm.compiler.nodes.java.NewInstanceNode createNewInstanceFromVirtual(org.graalvm.compiler.nodes.virtual.VirtualObjectNode);
descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;)Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.java.NewInstanceNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_1
invokespecial org.graalvm.compiler.nodes.java.NewInstanceNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Z)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
MethodParameters:
Name Flags
virtual
protected org.graalvm.compiler.nodes.java.NewArrayNode createNewArrayFromVirtual(org.graalvm.compiler.nodes.virtual.VirtualObjectNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/java/NewArrayNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.graalvm.compiler.nodes.java.NewArrayNode
dup
aload 1
checkcast org.graalvm.compiler.nodes.virtual.VirtualArrayNode
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualArrayNode.componentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
aload 2
iconst_1
invokespecial org.graalvm.compiler.nodes.java.NewArrayNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/ValueNode;Z)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
0 1 2 length Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
virtual
length
public void finishAllocatedObjects(org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 7
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
aload 4
new org.graalvm.compiler.nodes.extended.FixedValueAnchorNode
dup
aload 3
iload 5
aaload
invokespecial org.graalvm.compiler.nodes.extended.FixedValueAnchorNode.<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.extended.FixedValueAnchorNode
astore 6
start local 6 4: aload 3
iload 5
aload 6
aastore
5: aload 4
aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 6 6: iinc 5 1
StackMap locals:
StackMap stack:
7: iload 5
aload 2
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 3
end local 5 8: iconst_0
istore 5
start local 5 9: goto 17
10: StackMap locals:
StackMap stack:
aload 2
iload 5
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 15
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
11: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 6
start local 6 12: aload 4
new org.graalvm.compiler.nodes.java.MonitorEnterNode
dup
aload 3
iload 5
aaload
aload 6
invokespecial org.graalvm.compiler.nodes.java.MonitorEnterNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
astore 8
start local 8 13: aload 4
aload 2
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
14: aload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
end local 8 end local 6 15: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
16: iinc 5 1
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
17: iload 5
aload 2
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 10
end local 5 18: aload 2
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.usages:()Lorg/graalvm/compiler/graph/iterators/NodeIterable;
invokeinterface org.graalvm.compiler.graph.iterators.NodeIterable.snapshot:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 23
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.StructuredGraph top java.util.Iterator
StackMap stack:
19: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 5
start local 5 20: aload 5
checkcast org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
astore 7
start local 7 21: aload 2
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
aload 7
invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.getVirtualObject:()Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 8
start local 8 22: aload 7
aload 3
iload 8
aaload
invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 8 end local 7 end local 5 23: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
24: aload 0
aload 2
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.insertAllocationBarrier:(Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
25: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 26 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 26 2 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 26 3 allocations [Lorg/graalvm/compiler/nodes/ValueNode;
1 26 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 8 5 objIndex I
4 6 6 anchor Lorg/graalvm/compiler/nodes/extended/FixedValueAnchorNode;
9 18 5 objIndex I
12 15 6 monitorId Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
13 15 8 enter Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
20 23 5 usage Lorg/graalvm/compiler/graph/Node;
21 23 7 addObject Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
22 23 8 index I
MethodParameters:
Name Flags
tool
commit
allocations
private void insertAllocationBarrier(org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=10, args_size=3
start local 0 start local 1 start local 2 0: bipush 8
istore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 10
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.virtual.VirtualObjectNode
astore 4
start local 4 3: aload 4
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
iconst_1
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getInstanceFields:(Z)[Ljdk/vm/ci/meta/ResolvedJavaField;
dup
astore 9
arraylength
istore 8
iconst_0
istore 7
goto 9
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.virtual.VirtualObjectNode java.util.Iterator top int int jdk.vm.ci.meta.ResolvedJavaField[]
StackMap stack:
4: aload 9
iload 7
aaload
astore 6
start local 6 5: aload 6
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.isFinal:()Z
ifeq 8
6: iload 3
iconst_2
ior
istore 3
7: goto 11
end local 6 8: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
iload 8
if_icmplt 4
end local 4 10: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
11: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
aload 2
aload 1
aload 2
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iload 3
aload 0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.initLocationIdentity:()Lorg/graalvm/compiler/core/common/LocationIdentity;
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(ILorg/graalvm/compiler/core/common/LocationIdentity;)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.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
12: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 13 1 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 13 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 13 3 barrier I
3 10 4 vobj Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
5 8 6 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
commit
graph
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldLoadBarrierType(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
field
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldStoreBarrierType(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 2
1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
field
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType arrayStoreBarrierType(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 2
1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 elementKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
elementKind
public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType fieldInitializationBarrier(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 entryKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
entryKind
public org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType arrayInitializationBarrier(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
goto 2
StackMap locals:
StackMap stack:
1: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 entryKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
entryKind
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType unsafeStoreBarrierType(org.graalvm.compiler.nodes.extended.UnsafeStoreNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeStoreNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.storeBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 store Lorg/graalvm/compiler/nodes/extended/UnsafeStoreNode;
MethodParameters:
Name Flags
store
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType compareAndSwapBarrierType(org.graalvm.compiler.nodes.java.CompareAndSwapNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.CompareAndSwapNode.expected:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.storeBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 cas Lorg/graalvm/compiler/nodes/java/CompareAndSwapNode;
MethodParameters:
Name Flags
cas
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType atomicReadAndWriteBarrierType(org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.newValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.storeBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 n Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;
MethodParameters:
Name Flags
n
protected org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType storeBarrierType(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 5
1: aload 1
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Ljdk/vm/ci/meta/ResolvedJavaType;
astore 3
start local 3 2: aload 3
ifnull 4
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isArray:()Z
ifne 4
3: getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.IMPRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
4: StackMap locals: jdk.vm.ci.meta.ResolvedJavaType
StackMap stack:
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.PRECISE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 3 5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
2 5 3 type Ljdk/vm/ci/meta/ResolvedJavaType;
MethodParameters:
Name Flags
object
value
public abstract int fieldOffset(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
field
public org.graalvm.compiler.nodes.FieldLocationIdentity fieldLocationIdentity(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/FieldLocationIdentity;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new org.graalvm.compiler.nodes.FieldLocationIdentity
dup
aload 1
invokespecial org.graalvm.compiler.nodes.FieldLocationIdentity.<init>:(Ljdk/vm/ci/meta/ResolvedJavaField;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 field Ljdk/vm/ci/meta/ResolvedJavaField;
MethodParameters:
Name Flags
field
public abstract org.graalvm.compiler.nodes.ValueNode staticFieldBase(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/ResolvedJavaField;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
graph
field
public abstract int arrayLengthOffset();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract int arrayBaseOffset(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
elementKind
public int arrayScalingFactor(jdk.vm.ci.meta.JavaKind);
descriptor: (Ljdk/vm/ci/meta/JavaKind;)I
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.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokevirtual jdk.vm.ci.code.Architecture.getPlatformKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 elementKind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
elementKind
public abstract org.graalvm.compiler.core.common.LocationIdentity initLocationIdentity();
descriptor: ()Lorg/graalvm/compiler/core/common/LocationIdentity;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public org.graalvm.compiler.core.common.type.Stamp loadStamp(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0001) ACC_PUBLIC
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_1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 1 2 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
stamp
kind
protected org.graalvm.compiler.core.common.type.Stamp loadStamp(org.graalvm.compiler.core.common.type.Stamp, jdk.vm.ci.meta.JavaKind, boolean);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/JavaKind;Z)Lorg/graalvm/compiler/core/common/type/Stamp;
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: invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 1
3: 2
4: 2
default: 3
}
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.type.IntegerStamp.OPS:Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getNarrow:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$IntegerConvertOp;
bipush 32
bipush 8
aload 1
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp.foldStamp:(IILorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.common.type.IntegerStamp.OPS:Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable;
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable.getNarrow:()Lorg/graalvm/compiler/core/common/type/ArithmeticOpTable$IntegerConvertOp;
bipush 32
bipush 16
aload 1
invokevirtual org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp.foldStamp:(IILorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
3: StackMap locals:
StackMap stack:
aload 1
areturn
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/DefaultJavaLoweringProvider;
0 4 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 4 2 kind Ljdk/vm/ci/meta/JavaKind;
0 4 3 compressible Z
MethodParameters:
Name Flags
stamp
kind
compressible
public final org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
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/DefaultJavaLoweringProvider;
0 1 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 kind Ljdk/vm/ci/meta/JavaKind;
0 1 3 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
kind
value
public org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
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_1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 kind Ljdk/vm/ci/meta/JavaKind;
0 1 2 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
kind
value
protected final org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
iload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitLoadConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 1: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifne 3
2: aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
areturn
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 4 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 4 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 2 kind Ljdk/vm/ci/meta/JavaKind;
0 4 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 4 4 compressible Z
1 4 5 ret Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
kind
value
compressible
protected org.graalvm.compiler.nodes.ValueNode implicitLoadConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
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: invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 2
2: 1
3: 1
4: 2
default: 3
}
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.calc.SignExtendNode
dup
aload 2
bipush 32
invokespecial org.graalvm.compiler.nodes.calc.SignExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
areturn
2: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.calc.ZeroExtendNode
dup
aload 2
bipush 32
invokespecial org.graalvm.compiler.nodes.calc.ZeroExtendNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
areturn
3: StackMap locals:
StackMap stack:
aload 2
areturn
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/DefaultJavaLoweringProvider;
0 4 1 kind Ljdk/vm/ci/meta/JavaKind;
0 4 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 compressible Z
MethodParameters:
Name Flags
kind
value
compressible
public final org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
iconst_1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
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/DefaultJavaLoweringProvider;
0 1 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 kind Ljdk/vm/ci/meta/JavaKind;
0 1 3 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
kind
value
public org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
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_1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 kind Ljdk/vm/ci/meta/JavaKind;
0 1 2 value Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
kind
value
protected final org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
iload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.implicitStoreConvert:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 1: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifne 3
2: aload 1
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 5
3: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
areturn
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 4 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 4 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 2 kind Ljdk/vm/ci/meta/JavaKind;
0 4 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 4 4 compressible Z
1 4 5 ret Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
kind
value
compressible
protected org.graalvm.compiler.nodes.ValueNode implicitStoreConvert(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, boolean);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Z)Lorg/graalvm/compiler/nodes/ValueNode;
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: invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 1
2: 1
3: 2
4: 2
default: 3
}
1: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.calc.NarrowNode
dup
aload 2
bipush 8
invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
areturn
2: StackMap locals:
StackMap stack:
new org.graalvm.compiler.nodes.calc.NarrowNode
dup
aload 2
bipush 16
invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;I)V
areturn
3: StackMap locals:
StackMap stack:
aload 2
areturn
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/DefaultJavaLoweringProvider;
0 4 1 kind Ljdk/vm/ci/meta/JavaKind;
0 4 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 compressible Z
MethodParameters:
Name Flags
kind
value
compressible
protected abstract org.graalvm.compiler.nodes.ValueNode createReadHub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
graph
object
tool
protected abstract org.graalvm.compiler.nodes.ValueNode createReadArrayComponentHub(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
graph
arrayHub
anchor
protected org.graalvm.compiler.nodes.PiNode getBoundsCheckedIndex(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.extended.GuardingNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;[Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/PiNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 2: aload 5
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokestatic org.graalvm.compiler.nodes.java.ArrayLengthNode.readArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 3: aload 6
ifnonnull 14
4: invokestatic org.graalvm.compiler.core.common.type.StampFactory.positiveInt:()Lorg/graalvm/compiler/core/common/type/Stamp;
astore 7
start local 7 5: aload 0
aload 4
aload 5
aload 0
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayLengthOffset:()I
i2l
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createOffsetAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;J)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 8
start local 8 6: aload 4
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 8
getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ARRAY_LENGTH_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aload 7
getstatic org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/HeapAccess$BarrierType;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.memory.ReadNode
astore 9
start local 9 7: aload 4
aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
8: aload 0
aload 5
aload 9
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheck:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 10
start local 10 9: aload 3
ifnull 11
10: aload 3
iconst_0
aload 10
aastore
11: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.AccessIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.extended.GuardingNode[] org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 9
aload 10
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
12: aload 9
astore 6
end local 10 end local 9 end local 8 end local 7 13: goto 19
14: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.AccessIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.extended.GuardingNode[] org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
instanceof org.graalvm.compiler.nodes.java.AbstractNewArrayNode
ifeq 16
15: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.nodes.PiNode
dup
aload 6
invokestatic org.graalvm.compiler.core.common.type.StampFactory.positiveInt:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 6
16: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifeq 17
aload 6
goto 18
StackMap locals:
StackMap stack:
17: aload 4
aload 6
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
18: astore 6
19: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 24
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 24
20: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 7
start local 7 21: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 8
start local 8 22: iload 8
iflt 24
iload 8
iload 7
if_icmpge 24
23: aconst_null
areturn
end local 8 end local 7 24: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 4
new org.graalvm.compiler.nodes.calc.IntegerBelowNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokespecial org.graalvm.compiler.nodes.calc.IntegerBelowNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
getstatic jdk.vm.ci.meta.DeoptimizationReason.BoundsCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 25: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.IntegerStamp
astore 8
start local 8 26: bipush 32
lconst_0
aload 8
invokevirtual org.graalvm.compiler.core.common.type.IntegerStamp.upperBound:()J
lconst_1
lsub
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
astore 9
start local 9 27: aload 4
new org.graalvm.compiler.nodes.PiNode
dup
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 9
aload 7
invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.nodes.PiNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.PiNode
areturn
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 28 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 28 1 n Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
0 28 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 28 3 nullCheckReturn [Lorg/graalvm/compiler/nodes/extended/GuardingNode;
1 28 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 28 5 array Lorg/graalvm/compiler/nodes/ValueNode;
3 28 6 arrayLength Lorg/graalvm/compiler/nodes/ValueNode;
5 13 7 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 13 8 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
7 13 9 readArrayLength Lorg/graalvm/compiler/nodes/memory/ReadNode;
9 13 10 nullCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
21 24 7 l I
22 24 8 i I
25 28 7 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
26 28 8 lengthStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
27 28 9 indexStamp Lorg/graalvm/compiler/core/common/type/IntegerStamp;
MethodParameters:
Name Flags
n
tool
nullCheckReturn
protected org.graalvm.compiler.nodes.extended.GuardingNode createNullCheck(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifeq 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 3
aload 2
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/LogicNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.LogicNode
getstatic jdk.vm.ci.meta.DeoptimizationReason.NullCheckException:Ljdk/vm/ci/meta/DeoptimizationReason;
getstatic jdk.vm.ci.meta.DeoptimizationAction.InvalidateReprofile:Ljdk/vm/ci/meta/DeoptimizationAction;
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
iconst_1
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.createGuard:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/LogicNode;Ljdk/vm/ci/meta/DeoptimizationReason;Ljdk/vm/ci/meta/DeoptimizationAction;Ljdk/vm/ci/meta/JavaConstant;Z)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 3 1 object Lorg/graalvm/compiler/nodes/ValueNode;
0 3 2 before Lorg/graalvm/compiler/nodes/FixedNode;
0 3 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
MethodParameters:
Name Flags
object
before
tool
public org.graalvm.compiler.nodes.ValueNode reconstructArrayIndex(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.memory.address.AddressNode);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.nodes.memory.address.AddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 2
checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 5
start local 5 3: aload 3
new org.graalvm.compiler.nodes.calc.SubNode
dup
aload 4
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:()Lorg/graalvm/compiler/core/common/type/Stamp;
iload 5
i2l
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forIntegerStamp:(Lorg/graalvm/compiler/core/common/type/Stamp;JLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.SubNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 6
start local 6 4: aload 0
aload 1
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayScalingFactor:(Ljdk/vm/ci/meta/JavaKind;)I
invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
istore 7
start local 7 5: aload 3
new org.graalvm.compiler.nodes.calc.RightShiftNode
dup
aload 6
iload 7
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.RightShiftNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.unique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 8
start local 8 6: aload 8
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 3
invokestatic org.graalvm.compiler.nodes.calc.IntegerConvertNode.convert:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
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 7 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 7 1 elementKind Ljdk/vm/ci/meta/JavaKind;
0 7 2 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
1 7 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 7 4 offset Lorg/graalvm/compiler/nodes/ValueNode;
3 7 5 base I
4 7 6 scaledIndex Lorg/graalvm/compiler/nodes/ValueNode;
5 7 7 shift I
6 7 8 ret Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
elementKind
address
static int[] $SWITCH_TABLE$jdk$vm$ci$meta$JavaKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic jdk.vm.ci.meta.JavaKind.values:()[Ljdk/vm/ci/meta/JavaKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_1
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_2
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_4
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 8
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 6
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 11
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_5
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 7
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 9
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Short:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iconst_3
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic jdk.vm.ci.meta.JavaKind.Void:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
bipush 10
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
dup
putstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
}
SourceFile: "DefaultJavaLoweringProvider.java"
InnerClasses:
public abstract IntegerConvertOp = org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp of org.graalvm.compiler.core.common.type.ArithmeticOpTable
public abstract Narrow = org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp$Narrow of org.graalvm.compiler.core.common.type.ArithmeticOpTable$IntegerConvertOp
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public final BarrierType = org.graalvm.compiler.nodes.memory.HeapAccess$BarrierType of org.graalvm.compiler.nodes.memory.HeapAccess
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
public Templates = org.graalvm.compiler.replacements.BoxingSnippets$Templates of org.graalvm.compiler.replacements.BoxingSnippets
SnippetCounterSnippets = org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets of org.graalvm.compiler.replacements.SnippetCounterNode
public Templates = org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets$Templates of org.graalvm.compiler.replacements.SnippetCounterNode$SnippetCounterSnippets
public final BinaryOperation = org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation of org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
public final UnaryOperation = org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation of org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode