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 org.graalvm.compiler.nodes.gc.BarrierSet barrierSet;
descriptor: Lorg/graalvm/compiler/nodes/gc/BarrierSet;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider metaAccessExtensionProvider;
descriptor: Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
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 final boolean useCompressedOops;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
protected org.graalvm.compiler.nodes.spi.Replacements replacements;
descriptor: Lorg/graalvm/compiler/nodes/spi/Replacements;
flags: (0x0004) ACC_PROTECTED
private org.graalvm.compiler.replacements.BoxingSnippets$Templates boxingSnippets;
descriptor: Lorg/graalvm/compiler/replacements/BoxingSnippets$Templates;
flags: (0x0002) ACC_PRIVATE
private org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates indexOfSnippets;
descriptor: Lorg/graalvm/compiler/replacements/ConstantStringIndexOfSnippets$Templates;
flags: (0x0002) ACC_PRIVATE
public static final org.graalvm.compiler.core.common.type.IntegerStamp POSITIVE_ARRAY_INDEX_STAMP;
descriptor: Lorg/graalvm/compiler/core/common/type/IntegerStamp;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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=5, 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
3: bipush 32
lconst_0
ldc 2147483646
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forInteger:(IJJ)Lorg/graalvm/compiler/core/common/type/IntegerStamp;
putstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.POSITIVE_ARRAY_INDEX_STAMP:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.MetaAccessProvider, org.graalvm.compiler.core.common.spi.ForeignCallsProvider, org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider, org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider, jdk.vm.ci.code.TargetDescription, boolean);
descriptor: (Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;Ljdk/vm/ci/code/TargetDescription;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 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
invokeinterface org.graalvm.compiler.nodes.spi.PlatformConfigurationProvider.getBarrierSet:()Lorg/graalvm/compiler/nodes/gc/BarrierSet;
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
4: aload 0
aload 4
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
5: aload 0
aload 5
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
6: aload 0
iload 6
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
7: 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 8 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 8 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 8 2 foreignCalls Lorg/graalvm/compiler/core/common/spi/ForeignCallsProvider;
0 8 3 platformConfig Lorg/graalvm/compiler/nodes/spi/PlatformConfigurationProvider;
0 8 4 metaAccessExtensionProvider Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
0 8 5 target Ljdk/vm/ci/code/TargetDescription;
0 8 6 useCompressedOops Z
MethodParameters:
Name Flags
metaAccess
foreignCalls
platformConfig
metaAccessExtensionProvider
target
useCompressedOops
public void initialize(org.graalvm.compiler.options.OptionValues, java.lang.Iterable<org.graalvm.compiler.debug.DebugHandlersFactory>, org.graalvm.compiler.replacements.SnippetCounter$Group$Factory, org.graalvm.compiler.phases.util.Providers, org.graalvm.compiler.api.replacements.SnippetReflectionProvider);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
new org.graalvm.compiler.replacements.BoxingSnippets$Templates
dup
aload 1
aload 2
aload 3
aload 4
aload 5
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/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;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 0
new org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates
dup
aload 1
aload 2
aload 4
aload 5
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.target:Ljdk/vm/ci/code/TargetDescription;
invokespecial org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates.<init>:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.indexOfSnippets:Lorg/graalvm/compiler/replacements/ConstantStringIndexOfSnippets$Templates;
2: aload 0
aload 4
invokevirtual org.graalvm.compiler.phases.util.Providers.getReplacements:()Lorg/graalvm/compiler/nodes/spi/Replacements;
putfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
3: aload 4
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 4
aload 5
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/options/OptionValues;Ljava/lang/Iterable;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
4: 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 5 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 5 1 options Lorg/graalvm/compiler/options/OptionValues;
0 5 2 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
0 5 3 factory Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;
0 5 4 providers Lorg/graalvm/compiler/phases/util/Providers;
0 5 5 snippetReflection Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
Signature: (Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;Lorg/graalvm/compiler/replacements/SnippetCounter$Group$Factory;Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
MethodParameters:
Name Flags
options
factories
factory
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 jdk.vm.ci.meta.MetaAccessProvider getMetaAccess();
descriptor: ()Ljdk/vm/ci/meta/MetaAccessProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
public org.graalvm.compiler.nodes.gc.BarrierSet getBarrierSet();
descriptor: ()Lorg/graalvm/compiler/nodes/gc/BarrierSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
public org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider getMetaAccessExtensionProvider();
descriptor: ()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
public org.graalvm.compiler.nodes.spi.Replacements getReplacements();
descriptor: ()Lorg/graalvm/compiler/nodes/spi/Replacements;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
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=3, locals=8, 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: aconst_null
astore 4
aconst_null
astore 5
3: aload 1
invokevirtual org.graalvm.compiler.graph.Node.withNodeSourcePosition:()Lorg/graalvm/compiler/debug/DebugCloseable;
astore 6
start local 6 4: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadFieldNode
ifeq 7
5: 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
6: goto 103
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.graph.Node org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack:
7: aload 1
instanceof org.graalvm.compiler.nodes.java.StoreFieldNode
ifeq 10
8: 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
9: goto 103
StackMap locals:
StackMap stack:
10: aload 1
instanceof org.graalvm.compiler.nodes.java.LoadIndexedNode
ifeq 13
11: 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
12: goto 103
StackMap locals:
StackMap stack:
13: aload 1
instanceof org.graalvm.compiler.nodes.java.StoreIndexedNode
ifeq 16
14: 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
15: goto 103
StackMap locals:
StackMap stack:
16: aload 1
instanceof org.graalvm.compiler.nodes.memory.address.IndexAddressNode
ifeq 19
17: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.memory.address.IndexAddressNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerIndexAddressNode:(Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;)V
18: goto 103
StackMap locals:
StackMap stack:
19: aload 1
instanceof org.graalvm.compiler.nodes.java.ArrayLengthNode
ifeq 22
20: 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
21: goto 103
StackMap locals:
StackMap stack:
22: aload 1
instanceof org.graalvm.compiler.nodes.extended.LoadHubNode
ifeq 25
23: 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
24: goto 103
StackMap locals:
StackMap stack:
25: aload 1
instanceof org.graalvm.compiler.nodes.extended.LoadHubOrNullNode
ifeq 28
26: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.LoadHubOrNullNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadHubOrNullNode:(Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
27: goto 103
StackMap locals:
StackMap stack:
28: aload 1
instanceof org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
ifeq 31
29: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLoadArrayComponentHubNode:(Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;)V
30: goto 103
StackMap locals:
StackMap stack:
31: aload 1
instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
ifeq 34
32: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCompareAndSwapNode:(Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;)V
33: goto 103
StackMap locals:
StackMap stack:
34: aload 1
instanceof org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
ifeq 37
35: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerCompareAndExchangeNode:(Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;)V
36: goto 103
StackMap locals:
StackMap stack:
37: aload 1
instanceof org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode
ifeq 40
38: 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
39: goto 103
StackMap locals:
StackMap stack:
40: aload 1
instanceof org.graalvm.compiler.nodes.extended.RawLoadNode
ifeq 43
41: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.RawLoadNode
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeLoadNode:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
42: goto 103
StackMap locals:
StackMap stack:
43: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode
ifeq 46
44: 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
45: goto 103
StackMap locals:
StackMap stack:
46: aload 1
instanceof org.graalvm.compiler.nodes.extended.RawStoreNode
ifeq 49
47: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.extended.RawStoreNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUnsafeStoreNode:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)V
48: goto 103
StackMap locals:
StackMap stack:
49: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode
ifeq 52
50: 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
51: goto 103
StackMap locals:
StackMap stack:
52: aload 1
instanceof org.graalvm.compiler.nodes.extended.JavaReadNode
ifeq 55
53: 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
54: goto 103
StackMap locals:
StackMap stack:
55: aload 1
instanceof org.graalvm.compiler.nodes.extended.JavaWriteNode
ifeq 58
56: 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
57: goto 103
StackMap locals:
StackMap stack:
58: aload 1
instanceof org.graalvm.compiler.nodes.virtual.CommitAllocationNode
ifeq 61
59: 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
60: goto 103
StackMap locals:
StackMap stack:
61: aload 1
instanceof org.graalvm.compiler.nodes.extended.BoxNode
ifeq 71
62: 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 68
63: aload 1
checkcast org.graalvm.compiler.nodes.extended.BoxNode
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getConstantReflection:()Ljdk/vm/ci/meta/ConstantReflectionProvider;
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.canonicalizeBoxing:(Lorg/graalvm/compiler/nodes/extended/BoxNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
astore 7
start local 7 64: aload 7
ifnull 103
65: aload 1
aload 1
checkcast org.graalvm.compiler.nodes.extended.BoxNode
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getLastLocationAccess:()Lorg/graalvm/compiler/nodes/memory/MemoryKill;
checkcast org.graalvm.compiler.nodes.ValueNode
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
invokevirtual org.graalvm.compiler.graph.Node.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
66: aload 3
aload 1
checkcast org.graalvm.compiler.nodes.FixedWithNextNode
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFloating:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 7 67: goto 103
StackMap locals:
StackMap stack:
68: 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.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpne 103
69: 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
70: goto 103
StackMap locals:
StackMap stack:
71: aload 1
instanceof org.graalvm.compiler.nodes.extended.UnboxNode
ifeq 75
72: 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.MID_TIER:Lorg/graalvm/compiler/nodes/spi/LoweringTool$StandardLoweringStage;
if_acmpne 103
73: 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
74: goto 103
StackMap locals:
StackMap stack:
75: aload 1
instanceof org.graalvm.compiler.nodes.debug.VerifyHeapNode
ifeq 78
76: 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
77: goto 103
StackMap locals:
StackMap stack:
78: aload 1
instanceof org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode
ifeq 81
79: 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
80: goto 103
StackMap locals:
StackMap stack:
81: aload 1
instanceof org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode
ifeq 84
82: 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
83: goto 103
StackMap locals:
StackMap stack:
84: aload 1
instanceof org.graalvm.compiler.replacements.StringIndexOfNode
ifeq 87
85: aload 0
aload 1
checkcast org.graalvm.compiler.replacements.StringIndexOfNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerIndexOf:(Lorg/graalvm/compiler/replacements/StringIndexOfNode;)V
86: goto 103
StackMap locals:
StackMap stack:
87: aload 1
instanceof org.graalvm.compiler.replacements.StringLatin1IndexOfNode
ifeq 90
88: aload 0
aload 1
checkcast org.graalvm.compiler.replacements.StringLatin1IndexOfNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerLatin1IndexOf:(Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;)V
89: goto 103
StackMap locals:
StackMap stack:
90: aload 1
instanceof org.graalvm.compiler.replacements.StringUTF16IndexOfNode
ifeq 93
91: aload 0
aload 1
checkcast org.graalvm.compiler.replacements.StringUTF16IndexOfNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerUTF16IndexOf:(Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;)V
92: goto 103
StackMap locals:
StackMap stack:
93: aload 1
instanceof org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
ifeq 96
94: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerSecondHalf:(Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;)V
95: goto 103
StackMap locals:
StackMap stack:
96: aload 1
instanceof org.graalvm.compiler.nodes.memory.VolatileReadNode
ifeq 99
97: aload 1
checkcast org.graalvm.compiler.nodes.memory.VolatileReadNode
aload 2
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVolatileRead:(Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
98: goto 103
StackMap locals:
StackMap stack:
99: aload 1
instanceof org.graalvm.compiler.nodes.memory.VolatileWriteNode
ifeq 102
100: aload 1
checkcast org.graalvm.compiler.nodes.memory.VolatileWriteNode
aload 2
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.lowerVolatileWrite:(Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
101: goto 103
102: 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
103: StackMap locals:
StackMap stack:
aload 6
ifnull 109
aload 6
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 109
StackMap locals:
StackMap stack: java.lang.Throwable
104: astore 4
aload 6
ifnull 105
aload 6
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 6 StackMap locals:
StackMap stack:
105: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
106: astore 5
aload 4
ifnonnull 107
aload 5
astore 4
goto 108
StackMap locals:
StackMap stack:
107: aload 4
aload 5
if_acmpeq 108
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
108: aload 4
athrow
109: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 110 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 110 1 n Lorg/graalvm/compiler/graph/Node;
0 110 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 110 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 105 6 context Lorg/graalvm/compiler/debug/DebugCloseable;
64 67 7 canonical Lorg/graalvm/compiler/nodes/calc/FloatingNode;
Exception table:
from to target type
4 103 104 any
3 106 106 any
MethodParameters:
Name Flags
n
tool
public static org.graalvm.compiler.nodes.calc.FloatingNode canonicalizeBoxing(org.graalvm.compiler.nodes.extended.BoxNode, jdk.vm.ci.meta.MetaAccessProvider, jdk.vm.ci.meta.ConstantReflectionProvider);
descriptor: (Lorg/graalvm/compiler/nodes/extended/BoxNode;Ljdk/vm/ci/meta/MetaAccessProvider;Ljdk/vm/ci/meta/ConstantReflectionProvider;)Lorg/graalvm/compiler/nodes/calc/FloatingNode;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 17
getstatic org.graalvm.compiler.core.common.GraalOptions.ImmutableCode:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 17
2: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 4
start local 4 3: aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 14
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 14
4: invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$SWITCH_TABLE$jdk$vm$ci$meta$JavaKind:()[I
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.ordinal:()I
iaload
tableswitch { // 1 - 4
1: 5
2: 9
3: 13
4: 11
default: 14
}
5: StackMap locals: org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaConstant
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lconst_0
lcmp
ifeq 6
iconst_1
goto 7
StackMap locals:
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: invokestatic jdk.vm.ci.meta.JavaConstant.forBoolean:(Z)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 4
8: goto 14
9: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
i2b
invokestatic jdk.vm.ci.meta.JavaConstant.forByte:(B)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 4
10: goto 14
11: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
i2c
invokestatic jdk.vm.ci.meta.JavaConstant.forChar:(C)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 4
12: goto 14
13: StackMap locals:
StackMap stack:
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
l2i
i2s
invokestatic jdk.vm.ci.meta.JavaConstant.forShort:(S)Ljdk/vm/ci/meta/PrimitiveConstant;
astore 4
14: StackMap locals:
StackMap stack:
aload 2
aload 4
invokeinterface jdk.vm.ci.meta.ConstantReflectionProvider.boxPrimitive:(Ljdk/vm/ci/meta/JavaConstant;)Ljdk/vm/ci/meta/JavaConstant;
astore 5
start local 5 15: aload 5
ifnull 17
aload 4
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.getBoxingKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpne 17
16: aload 5
aload 1
aload 0
invokevirtual org.graalvm.compiler.nodes.extended.BoxNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Ljdk/vm/ci/meta/JavaConstant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
areturn
end local 5 end local 4 17: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 box Lorg/graalvm/compiler/nodes/extended/BoxNode;
0 18 1 metaAccess Ljdk/vm/ci/meta/MetaAccessProvider;
0 18 2 constantReflection Ljdk/vm/ci/meta/ConstantReflectionProvider;
1 18 3 value Lorg/graalvm/compiler/nodes/ValueNode;
3 17 4 sourceConstant Ljdk/vm/ci/meta/JavaConstant;
15 17 5 boxedConstant Ljdk/vm/ci/meta/JavaConstant;
MethodParameters:
Name Flags
box
metaAccess
constantReflection
private void lowerSecondHalf(org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, 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;
invokevirtual jdk.vm.ci.code.Architecture.getByteOrder:()Ljava/nio/ByteOrder;
astore 2
start local 2 1: aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.UnpackEndianHalfNode.lower:(Ljava/nio/ByteOrder;)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 n Lorg/graalvm/compiler/nodes/calc/UnpackEndianHalfNode;
1 3 2 byteOrder Ljava/nio/ByteOrder;
MethodParameters:
Name Flags
n
private void lowerIndexOf(org.graalvm.compiler.replacements.StringIndexOfNode);
descriptor: (Lorg/graalvm/compiler/replacements/StringIndexOfNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
iconst_3
invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 5
1: new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1
dup
aload 0
invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
astore 2
start local 2 2: new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
dup
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Char:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 3
start local 3 3: aload 1
invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
4: aload 1
invokevirtual org.graalvm.compiler.replacements.StringIndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 3 end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 n Lorg/graalvm/compiler/replacements/StringIndexOfNode;
2 5 2 lowering Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
3 5 3 snippetLower Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
MethodParameters:
Name Flags
n
private void lowerLatin1IndexOf(org.graalvm.compiler.replacements.StringLatin1IndexOfNode);
descriptor: (Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
iconst_2
invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 5
1: new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2
dup
aload 0
invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
astore 2
start local 2 2: new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
dup
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 3
start local 3 3: aload 1
invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
4: aload 1
invokevirtual org.graalvm.compiler.replacements.StringLatin1IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 3 end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 n Lorg/graalvm/compiler/replacements/StringLatin1IndexOfNode;
2 5 2 lowering Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
3 5 3 snippetLower Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
MethodParameters:
Name Flags
n
private void lowerUTF16IndexOf(org.graalvm.compiler.replacements.StringUTF16IndexOfNode);
descriptor: (Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=2
start local 0 start local 1 0: aload 1
iconst_2
invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.getArgument:(I)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 5
1: new org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
dup
aload 0
invokespecial org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3.<init>:(Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;)V
astore 2
start local 2 2: new org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
dup
aload 2
getstatic jdk.vm.ci.meta.JavaKind.Byte:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 1
invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.toArgumentArray:()[Lorg/graalvm/compiler/nodes/ValueNode;
invokespecial org.graalvm.compiler.replacements.SnippetLowerableMemoryNode.<init>:(Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;[Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 3
start local 3 3: aload 1
invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
pop
4: aload 1
invokevirtual org.graalvm.compiler.replacements.StringUTF16IndexOfNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
end local 3 end local 2 5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 n Lorg/graalvm/compiler/replacements/StringUTF16IndexOfNode;
2 5 2 lowering Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode$SnippetLowering;
3 5 3 snippetLower Lorg/graalvm/compiler/replacements/SnippetLowerableMemoryNode;
MethodParameters:
Name Flags
n
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=6, 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 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.replacements:Lorg/graalvm/compiler/nodes/spi/Replacements;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.Replacements.isSnippet:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Z
ifeq 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 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 9: aload 4
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 1
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode$BinaryOperation;
getfield org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode$BinaryOperation.foreignCallSignature:Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
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/ForeignCallSignature;[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 5
start local 5 10: aload 4
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
11: aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.nodes.BinaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
12: 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 13 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 13 1 math Lorg/graalvm/compiler/replacements/nodes/BinaryMathIntrinsicNode;
0 13 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 13 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
9 13 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
10 13 5 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=8, locals=6, 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 6
4: 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 6
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 6
5: return
6: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 7: 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 1
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.getOperation:()Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode$UnaryOperation;
getfield org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode$UnaryOperation.foreignCallSignature:Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;
invokeinterface org.graalvm.compiler.core.common.spi.ForeignCallsProvider.getDescriptor:(Lorg/graalvm/compiler/core/common/spi/ForeignCallSignature;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
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/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 5
start local 5 8: aload 4
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
9: aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.nodes.UnaryMathIntrinsicNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
10: 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 11 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 11 1 math Lorg/graalvm/compiler/replacements/nodes/UnaryMathIntrinsicNode;
0 11 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 11 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
7 11 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
8 11 5 call Lorg/graalvm/compiler/nodes/extended/ForeignCallNode;
MethodParameters:
Name Flags
math
tool
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
public 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: (0x0001) ACC_PUBLIC
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
public 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: (0x0001) ACC_PUBLIC
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
public final jdk.vm.ci.meta.JavaKind getStorageKind(jdk.vm.ci.meta.ResolvedJavaField);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
aload 1
invokeinterface jdk.vm.ci.meta.ResolvedJavaField.getType:()Ljdk/vm/ci/meta/JavaType;
invokeinterface org.graalvm.compiler.core.common.spi.MetaAccessExtensionProvider.getStorageKind:(Ljdk/vm/ci/meta/JavaType;)Ljdk/vm/ci/meta/JavaKind;
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 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=7, locals=11, 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 5
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
7: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)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 8: 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 9: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 10
aload 7
ifnonnull 10
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
10: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.memory.address.AddressNode
StackMap stack:
aconst_null
astore 8
start local 8 11: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 4
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldLoadBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 9
start local 9 12: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.isVolatile:()Z
ifeq 15
13: aload 3
new org.graalvm.compiler.nodes.memory.VolatileReadNode
dup
aload 7
aload 6
aload 9
invokespecial org.graalvm.compiler.nodes.memory.VolatileReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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
14: goto 16
15: StackMap locals: org.graalvm.compiler.nodes.memory.ReadNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
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 9
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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
16: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)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 10
start local 10 17: aload 1
aload 10
invokevirtual org.graalvm.compiler.nodes.java.LoadFieldNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
18: aload 3
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
19: 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 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;
8 20 6 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
9 20 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
11 20 8 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
12 20 9 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
17 20 10 readValue Lorg/graalvm/compiler/nodes/ValueNode;
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=7, locals=10, 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 5
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
6: aload 0
aload 3
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.field:()Ljdk/vm/ci/meta/ResolvedJavaField;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)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 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
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 4
aload 0
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 8
start local 8 10: aconst_null
astore 9
start local 9 11: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreFieldNode.isVolatile:()Z
ifeq 14
12: aload 3
new org.graalvm.compiler.nodes.memory.VolatileWriteNode
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 8
invokespecial org.graalvm.compiler.nodes.memory.VolatileWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 9
13: goto 15
14: StackMap locals: org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType org.graalvm.compiler.nodes.memory.WriteNode
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 8
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 9
15: StackMap locals:
StackMap stack:
aload 9
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
16: aload 3
aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
17: 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 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;
7 18 6 value Lorg/graalvm/compiler/nodes/ValueNode;
8 18 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
10 18 8 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
11 18 9 memoryWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
MethodParameters:
Name Flags
storeField
tool
public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayIndexAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.extended.GuardingNode);
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/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 4
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.POSITIVE_ARRAY_INDEX_STAMP:Lorg/graalvm/compiler/core/common/type/IntegerStamp;
aload 5
ifnull 1
aload 5
invokeinterface org.graalvm.compiler.nodes.extended.GuardingNode.asNode:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 2
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp
1: aconst_null
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.core.common.type.IntegerStamp org.graalvm.compiler.nodes.ValueNode
2: invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeAddOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 6
start local 6 3: aload 0
aload 1
aload 2
aload 3
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;
areturn
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 4 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 4 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 4 2 array Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 elementKind Ljdk/vm/ci/meta/JavaKind;
0 4 4 index Lorg/graalvm/compiler/nodes/ValueNode;
0 4 5 boundsCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
3 4 6 positiveIndex Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
array
elementKind
index
boundsCheck
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=6, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 3
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 1 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 1 2 array Lorg/graalvm/compiler/nodes/ValueNode;
0 1 3 elementKind Ljdk/vm/ci/meta/JavaKind;
0 1 4 index Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
array
elementKind
index
public org.graalvm.compiler.nodes.memory.address.AddressNode createArrayAddress(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, 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;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=11, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 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 5
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 6
start local 6 2: goto 5
end local 6 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 5
astore 6
start local 6 5: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
istore 7
start local 7 6: aload 1
new org.graalvm.compiler.nodes.calc.LeftShiftNode
dup
aload 6
iload 7
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 8
start local 8 7: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 9
start local 9 8: aload 1
new org.graalvm.compiler.nodes.calc.AddNode
dup
aload 8
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 9
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 10
start local 10 9: aload 1
new org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
dup
aload 2
aload 10
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 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 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 arrayKind Ljdk/vm/ci/meta/JavaKind;
0 10 4 elementKind Ljdk/vm/ci/meta/JavaKind;
0 10 5 index Lorg/graalvm/compiler/nodes/ValueNode;
2 3 6 wordIndex Lorg/graalvm/compiler/nodes/ValueNode;
5 10 6 wordIndex Lorg/graalvm/compiler/nodes/ValueNode;
6 10 7 shift I
7 10 8 scaledIndex Lorg/graalvm/compiler/nodes/ValueNode;
8 10 9 base I
9 10 10 offset Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
array
arrayKind
elementKind
index
protected void lowerIndexAddressNode(org.graalvm.compiler.nodes.memory.address.IndexAddressNode);
descriptor: (Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getArray:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getArrayKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getElementKind:()Ljdk/vm/ci/meta/JavaKind;
aload 1
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 2
start local 2 1: aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.memory.address.IndexAddressNode.replaceAndDelete:(Lorg/graalvm/compiler/graph/Node;)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 indexAddress Lorg/graalvm/compiler/nodes/memory/address/IndexAddressNode;
1 3 2 lowered Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
MethodParameters:
Name Flags
indexAddress
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=12, 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.array:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 0
aload 4
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
3: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 4: aload 0
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
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 5: aload 0
aload 1
aload 4
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheck:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 7
start local 7 6: aload 1
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 7: getstatic org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options.UseIndexMasking:Lorg/graalvm/compiler/options/OptionKey;
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getOptions:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 9
8: aload 0
aload 1
aload 8
aload 4
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.proxyIndex:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
9: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.java.LoadIndexedNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.core.common.type.Stamp org.graalvm.compiler.nodes.extended.GuardingNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 0
aload 3
aload 4
aload 5
aload 8
aload 7
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayIndexAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 9
start local 9 10: aload 3
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 9
aload 5
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 6
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 10
start local 10 11: aload 10
aload 7
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
12: aload 0
aload 3
aload 5
aload 10
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 11
start local 11 13: aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.java.LoadIndexedNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
14: aload 3
aload 1
aload 10
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
15: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 16 1 loadIndexed Lorg/graalvm/compiler/nodes/java/LoadIndexedNode;
0 16 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 16 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 16 4 array Lorg/graalvm/compiler/nodes/ValueNode;
4 16 5 elementKind Ljdk/vm/ci/meta/JavaKind;
5 16 6 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 16 7 boundsCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
7 16 8 index Lorg/graalvm/compiler/nodes/ValueNode;
10 16 9 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
11 16 10 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
13 16 11 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=13, 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: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 2: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 3: aload 0
aload 5
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
4: aload 0
aload 1
aload 5
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getBoundsCheck:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
astore 6
start local 6 5: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.elementKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.getStoreCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
ifnonnull 20
aload 7
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 20
aload 4
invokestatic org.graalvm.compiler.nodes.type.StampTool.isPointerAlwaysNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Z
ifne 20
8: aload 5
invokestatic org.graalvm.compiler.nodes.type.StampTool.typeReferenceOrNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/common/type/TypeReference;
astore 9
start local 9 9: aload 9
ifnull 16
aload 9
invokevirtual org.graalvm.compiler.core.common.type.TypeReference.isExact:()Z
ifeq 16
10: aload 9
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 10
start local 10 11: aload 10
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isJavaLangObject:()Z
ifne 20
12: 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 10
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 11
start local 11 13: aload 3
aload 11
aload 4
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 12
start local 12 14: aload 3
aload 4
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 12
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 8
end local 12 end local 11 end local 10 15: goto 20
16: 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.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.extended.GuardingNode jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.LogicNode org.graalvm.compiler.core.common.type.TypeReference
StackMap stack:
aload 0
aload 3
aload 5
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 10
start local 10 17: aload 0
aload 3
aload 10
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 11
start local 11 18: 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 11
aload 4
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 12
start local 12 19: aload 3
aload 4
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 12
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 8
end local 12 end local 11 end local 10 end local 9 20: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 7
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 9
start local 9 21: aload 0
aload 3
aload 5
aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.java.StoreIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 6
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createArrayIndexAddress:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
astore 10
start local 10 22: aload 3
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 10
aload 7
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.getArrayLocation:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
aload 3
aload 7
aload 4
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;
23: aload 9
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
24: 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 11
start local 11 25: aload 11
aload 6
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
26: aload 8
ifnull 28
27: aload 2
aload 1
aload 8
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;
pop
28: StackMap locals: org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
aload 11
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
29: aload 3
aload 1
aload 11
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
30: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 31 1 storeIndexed Lorg/graalvm/compiler/nodes/java/StoreIndexedNode;
0 31 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 31 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 31 4 value Lorg/graalvm/compiler/nodes/ValueNode;
3 31 5 array Lorg/graalvm/compiler/nodes/ValueNode;
5 31 6 boundsCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
6 31 7 storageKind Ljdk/vm/ci/meta/JavaKind;
7 31 8 condition Lorg/graalvm/compiler/nodes/LogicNode;
9 20 9 arrayType Lorg/graalvm/compiler/core/common/type/TypeReference;
11 15 10 elementType Ljdk/vm/ci/meta/ResolvedJavaType;
13 15 11 typeReference Lorg/graalvm/compiler/core/common/type/TypeReference;
14 15 12 typeTest Lorg/graalvm/compiler/nodes/LogicNode;
17 20 10 arrayClass Lorg/graalvm/compiler/nodes/ValueNode;
18 20 11 componentHub Lorg/graalvm/compiler/nodes/ValueNode;
19 20 12 typeTest Lorg/graalvm/compiler/nodes/LogicNode;
21 31 9 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
22 31 10 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
25 31 11 memoryWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
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=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.array:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.ArrayLengthNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 2: aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
3: return
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 arrayLengthNode Lorg/graalvm/compiler/nodes/java/ArrayLengthNode;
0 4 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 4 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
MethodParameters:
Name Flags
arrayLengthNode
tool
protected org.graalvm.compiler.nodes.memory.ReadNode createReadArrayLength(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/memory/ReadNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, 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.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 0
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.skipPiWhileNonNull:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createNullCheckedValue:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 2: 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 6
start local 6 3: aload 4
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 6
getstatic org.graalvm.compiler.nodes.NamedLocationIdentity.ARRAY_LENGTH_LOCATION:Ljdk/internal/vm/compiler/word/LocationIdentity;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.positiveInt:()Lorg/graalvm/compiler/core/common/type/Stamp;
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 7
start local 7 4: aload 4
aload 2
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
5: aload 7
areturn
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 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 array Lorg/graalvm/compiler/nodes/ValueNode;
0 6 2 before Lorg/graalvm/compiler/nodes/FixedNode;
0 6 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 6 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 6 5 canonicalArray Lorg/graalvm/compiler/nodes/ValueNode;
3 6 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
4 6 7 readArrayLength Lorg/graalvm/compiler/nodes/memory/ReadNode;
MethodParameters:
Name Flags
array
before
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 lowerLoadHubOrNullNode(org.graalvm.compiler.nodes.extended.LoadHubOrNullNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=19, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.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 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.lastFixedNode:()Lorg/graalvm/compiler/nodes/FixedWithNextNode;
astore 4
start local 4 6: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 7: aload 5
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
astore 6
start local 6 8: aload 3
aload 5
invokestatic org.graalvm.compiler.nodes.calc.IsNullNode.create:(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 7
start local 7 9: aload 3
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 8
start local 8 10: aload 3
new org.graalvm.compiler.nodes.EndNode
dup
invokespecial org.graalvm.compiler.nodes.EndNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.EndNode
astore 9
start local 9 11: aload 3
new org.graalvm.compiler.nodes.IfNode
dup
aload 7
aload 8
aload 9
ldc 0.5
invokespecial org.graalvm.compiler.nodes.IfNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;D)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.IfNode
astore 10
start local 10 12: aload 3
new org.graalvm.compiler.nodes.MergeNode
dup
invokespecial org.graalvm.compiler.nodes.MergeNode.<init>:()V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.add:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.MergeNode
astore 11
start local 11 13: aload 11
aload 8
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
14: aload 11
aload 9
invokevirtual org.graalvm.compiler.nodes.MergeNode.addForwardEnd:(Lorg/graalvm/compiler/nodes/EndNode;)V
15: aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
checkcast org.graalvm.compiler.core.common.type.AbstractPointerStamp
astore 12
start local 12 16: aload 12
invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.asAlwaysNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
getstatic jdk.vm.ci.meta.JavaConstant.NULL_POINTER:Ljdk/vm/ci/meta/JavaConstant;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 13
start local 13 17: aload 3
aload 5
aload 6
invokevirtual org.graalvm.compiler.core.common.type.AbstractPointerStamp.asNonNull:()Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
aload 10
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
astore 14
start local 14 18: aload 0
aload 3
aload 14
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 15
start local 15 19: iconst_2
anewarray org.graalvm.compiler.nodes.ValueNode
dup
iconst_0
aload 13
aastore
dup
iconst_1
aload 15
aastore
astore 16
start local 16 20: aload 3
new org.graalvm.compiler.nodes.ValuePhiNode
dup
aload 12
aload 11
aload 16
invokespecial org.graalvm.compiler.nodes.ValuePhiNode.<init>:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/AbstractMergeNode;[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.PhiNode
astore 17
start local 17 21: aload 4
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.next:()Lorg/graalvm/compiler/nodes/FixedNode;
astore 18
start local 18 22: aload 4
aload 10
invokevirtual org.graalvm.compiler.nodes.FixedWithNextNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
23: aload 11
aload 18
invokevirtual org.graalvm.compiler.nodes.MergeNode.setNext:(Lorg/graalvm/compiler/nodes/FixedNode;)V
24: aload 1
aload 17
invokevirtual org.graalvm.compiler.nodes.extended.LoadHubOrNullNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
25: return
end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 26 1 loadHubOrNullNode Lorg/graalvm/compiler/nodes/extended/LoadHubOrNullNode;
0 26 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 26 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
6 26 4 predecessor Lorg/graalvm/compiler/nodes/FixedWithNextNode;
7 26 5 value Lorg/graalvm/compiler/nodes/ValueNode;
8 26 6 stamp Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
9 26 7 isNull Lorg/graalvm/compiler/nodes/LogicNode;
10 26 8 trueEnd Lorg/graalvm/compiler/nodes/EndNode;
11 26 9 falseEnd Lorg/graalvm/compiler/nodes/EndNode;
12 26 10 ifNode Lorg/graalvm/compiler/nodes/IfNode;
13 26 11 merge Lorg/graalvm/compiler/nodes/MergeNode;
16 26 12 hubStamp Lorg/graalvm/compiler/core/common/type/AbstractPointerStamp;
17 26 13 nullHub Lorg/graalvm/compiler/nodes/ValueNode;
18 26 14 nonNullValue Lorg/graalvm/compiler/nodes/ValueNode;
19 26 15 hub Lorg/graalvm/compiler/nodes/ValueNode;
20 26 16 values [Lorg/graalvm/compiler/nodes/ValueNode;
21 26 17 hubPhi Lorg/graalvm/compiler/nodes/PhiNode;
22 26 18 oldNext Lorg/graalvm/compiler/nodes/FixedNode;
MethodParameters:
Name Flags
loadHubOrNullNode
tool
protected void lowerLoadArrayComponentHubNode(org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.LoadArrayComponentHubNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
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 3
start local 3 2: aload 2
aload 1
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/graph/Node;)V
3: return
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 loadHub Lorg/graalvm/compiler/nodes/extended/LoadArrayComponentHubNode;
1 4 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 4 3 hub Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
loadHub
protected void lowerCompareAndSwapNode(org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.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.UnsafeCompareAndSwapNode.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.UnsafeCompareAndSwapNode.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.UnsafeCompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.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 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 7
start local 7 6: aload 2
new org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode
dup
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 4
aload 5
aload 7
invokespecial org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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.LogicCompareAndSwapNode
astore 8
start local 8 7: aload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndSwapNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.LogicCompareAndSwapNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
8: aload 2
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
9: 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 10 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 10 1 cas Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndSwapNode;
1 10 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 10 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 10 4 expectedValue Lorg/graalvm/compiler/nodes/ValueNode;
4 10 5 newValue Lorg/graalvm/compiler/nodes/ValueNode;
5 10 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
6 10 7 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
7 10 8 atomicNode Lorg/graalvm/compiler/nodes/java/LogicCompareAndSwapNode;
MethodParameters:
Name Flags
cas
protected void lowerCompareAndExchangeNode(org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=10, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.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.UnsafeCompareAndExchangeNode.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.UnsafeCompareAndExchangeNode.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.UnsafeCompareAndExchangeNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.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 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 7
start local 7 6: aload 2
new org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode
dup
aload 6
aload 4
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 7
invokespecial org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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.ValueCompareAndSwapNode
astore 8
start local 8 7: aload 0
aload 2
aload 3
aload 8
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;
astore 9
start local 9 8: aload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.ValueCompareAndSwapNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
9: aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.java.UnsafeCompareAndExchangeNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
10: aload 2
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
11: 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 12 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 12 1 cas Lorg/graalvm/compiler/nodes/java/UnsafeCompareAndExchangeNode;
1 12 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 12 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 12 4 expectedValue Lorg/graalvm/compiler/nodes/ValueNode;
4 12 5 newValue Lorg/graalvm/compiler/nodes/ValueNode;
5 12 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
6 12 7 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
7 12 8 atomicNode Lorg/graalvm/compiler/nodes/java/ValueCompareAndSwapNode;
8 12 9 coercedNode Lorg/graalvm/compiler/nodes/ValueNode;
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=10, 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 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.guessStoreBarrierType:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 6
start local 6 5: 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 3
invokestatic org.graalvm.compiler.core.common.LIRKind.fromJavaKind:(Ljdk/vm/ci/code/Architecture;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 7
start local 7 6: aload 2
new org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode
dup
aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 4
aload 7
aload 6
invokespecial org.graalvm.compiler.nodes.java.LoweredAtomicReadAndWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 8
start local 8 7: aload 8
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
8: aload 0
aload 2
aload 3
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 9: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.FrameState.replaceFirstInput:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/graph/Node;)V
10: aload 1
aload 9
invokevirtual org.graalvm.compiler.nodes.java.AtomicReadAndWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
11: aload 2
aload 1
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
12: 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 13 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 13 1 n Lorg/graalvm/compiler/nodes/java/AtomicReadAndWriteNode;
1 13 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 13 3 valueKind Ljdk/vm/ci/meta/JavaKind;
3 13 4 newValue Lorg/graalvm/compiler/nodes/ValueNode;
4 13 5 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
5 13 6 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
6 13 7 lirAccessKind Lorg/graalvm/compiler/core/common/LIRKind;
7 13 8 memoryRead Lorg/graalvm/compiler/nodes/java/LoweredAtomicReadAndWriteNode;
9 13 9 readValue Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
n
protected void lowerUnsafeLoadNode(org.graalvm.compiler.nodes.extended.RawLoadNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/extended/RawLoadNode;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.RawLoadNode.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/RawLoadNode;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/RawLoadNode;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/RawLoadNode;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/RawLoadNode;
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
aload 3
invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(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.RawLoadNode, org.graalvm.compiler.nodes.extended.GuardingNode);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/nodes/extended/RawLoadNode;Lorg/graalvm/compiler/nodes/extended/GuardingNode;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, 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.RawLoadNode.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.RawLoadNode.accessKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 4: aload 0
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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.RawLoadNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.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: aconst_null
astore 8
start local 8 7: aload 2
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.isVolatile:()Z
ifeq 10
8: new org.graalvm.compiler.nodes.memory.VolatileReadNode
dup
aload 7
aload 6
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 2
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.readBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.VolatileReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 8
9: goto 11
10: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.extended.RawLoadNode 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:
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 7
aload 2
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 6
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 2
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.readBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawLoadNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 8
11: StackMap locals:
StackMap stack:
aload 1
aload 8
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
12: aload 3
ifnonnull 15
13: aload 8
iconst_1
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setForceFixed:(Z)V
14: goto 16
15: StackMap locals:
StackMap stack:
aload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.memory.ReadNode.setGuard:(Lorg/graalvm/compiler/nodes/extended/GuardingNode;)V
16: StackMap locals:
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;
aload 5
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 9
start local 9 17: aload 2
aload 9
invokevirtual org.graalvm.compiler.nodes.extended.RawLoadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;)V
18: 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 19 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 19 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 19 2 load Lorg/graalvm/compiler/nodes/extended/RawLoadNode;
0 19 3 guard Lorg/graalvm/compiler/nodes/extended/GuardingNode;
3 19 4 compressible Z
4 19 5 readKind Ljdk/vm/ci/meta/JavaKind;
5 19 6 loadStamp Lorg/graalvm/compiler/core/common/type/Stamp;
6 19 7 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
7 19 8 memoryRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
17 19 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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryLoadNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(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:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 4
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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;
aload 3
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.performBooleanCoercionIfNecessary:(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)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
private static org.graalvm.compiler.nodes.ValueNode performBooleanCoercionIfNecessary(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Boolean:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 4
1: aload 0
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 2: aload 2
new org.graalvm.compiler.nodes.calc.IntegerEqualsNode
dup
aload 0
iconst_0
aload 2
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.IntegerEqualsNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.calc.IntegerEqualsNode
astore 3
start local 3 3: aload 2
new org.graalvm.compiler.nodes.calc.ConditionalNode
dup
aload 3
iconst_0
aload 2
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
iconst_1
aload 2
invokestatic org.graalvm.compiler.nodes.ConstantNode.forBoolean:(ZLorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
invokespecial org.graalvm.compiler.nodes.calc.ConditionalNode.<init>:(Lorg/graalvm/compiler/nodes/LogicNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
areturn
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 readValue Lorg/graalvm/compiler/nodes/ValueNode;
0 5 1 readKind Ljdk/vm/ci/meta/JavaKind;
2 4 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 4 3 eq Lorg/graalvm/compiler/nodes/calc/IntegerEqualsNode;
MethodParameters:
Name Flags
readValue
readKind
protected void lowerUnsafeStoreNode(org.graalvm.compiler.nodes.extended.RawStoreNode);
descriptor: (Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)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.RawStoreNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 1: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.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.RawStoreNode.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.RawStoreNode.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.RawStoreNode.object:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.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: aconst_null
astore 7
start local 7 8: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.isVolatile:()Z
ifeq 11
9: new org.graalvm.compiler.nodes.memory.VolatileWriteNode
dup
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 5
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 1
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.storeBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.VolatileWriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 7
10: goto 12
11: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.extended.RawStoreNode org.graalvm.compiler.nodes.StructuredGraph int jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 5
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 1
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.storeBarrierType:(Lorg/graalvm/compiler/nodes/extended/RawStoreNode;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 7
12: StackMap locals:
StackMap stack:
aload 2
aload 7
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
13: aload 7
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.RawStoreNode.stateAfter:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.memory.WriteNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
14: aload 2
aload 1
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
15: 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 16 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 16 1 store Lorg/graalvm/compiler/nodes/extended/RawStoreNode;
1 16 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 16 3 compressible Z
5 16 4 valueKind Ljdk/vm/ci/meta/JavaKind;
6 16 5 value Lorg/graalvm/compiler/nodes/ValueNode;
7 16 6 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
8 16 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
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.UnsafeMemoryStoreNode.getAddress:()Lorg/graalvm/compiler/nodes/ValueNode;
invokestatic org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(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.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 4
getstatic org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType.NONE:Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 4
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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=7, locals=5, 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 0
aload 2
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getWriteKind:()Ljdk/vm/ci/meta/JavaKind;
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 3
start local 3 2: aconst_null
astore 4
start local 4 3: aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.hasSideEffect:()Z
ifeq 6
4: 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.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 4
5: goto 7
6: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.memory.WriteNode
StackMap stack:
aload 2
new org.graalvm.compiler.nodes.memory.SideEffectFreeWrite
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.getKilledLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.extended.JavaWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.SideEffectFreeWrite.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 4
7: StackMap locals:
StackMap stack:
aload 4
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
8: aload 2
aload 1
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
9: aload 4
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
10: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 11 1 write Lorg/graalvm/compiler/nodes/extended/JavaWriteNode;
1 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 11 3 value Lorg/graalvm/compiler/nodes/ValueNode;
3 11 4 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=11, locals=24, 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 108
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 61
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: aconst_null
astore 10
aconst_null
astore 11
10: aload 3
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 12
start local 12 11: aload 9
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
istore 13
start local 13 12: aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 15
13: aload 3
new org.graalvm.compiler.nodes.java.NewInstanceNode
dup
aload 9
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
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 14
start local 14 14: goto 17
end local 14 15: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 16
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 16
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
16: StackMap locals:
StackMap stack:
aload 3
new org.graalvm.compiler.nodes.java.NewArrayNode
dup
aload 9
checkcast org.graalvm.compiler.nodes.virtual.VirtualArrayNode
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualArrayNode.componentType:()Ljdk/vm/ci/meta/ResolvedJavaType;
iload 13
aload 3
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(ILorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
iconst_1
invokespecial org.graalvm.compiler.nodes.java.NewArrayNode.<init>:(Ljdk/vm/ci/meta/ResolvedJavaType;Lorg/graalvm/compiler/nodes/ValueNode;Z)V
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 14
start local 14 17: StackMap locals: org.graalvm.compiler.nodes.java.AbstractNewObjectNode
StackMap stack:
aload 14
invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.clearEmitMemoryBarrier:()V
18: aload 4
aload 14
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
19: aload 3
aload 1
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
20: aload 5
iload 8
aload 14
aastore
21: iconst_0
istore 15
start local 15 22: goto 53
23: 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 16
start local 16 24: aload 16
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifeq 26
25: aload 5
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
aload 16
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
aaload
astore 16
26: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 16
ifnonnull 29
27: aload 6
iload 7
invokevirtual java.util.BitSet.set:(I)V
28: goto 51
StackMap locals:
StackMap stack:
29: aload 16
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 30
aload 16
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifne 51
30: StackMap locals:
StackMap stack:
aload 16
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 17
start local 17 31: aload 9
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getProviders:()Lorg/graalvm/compiler/nodes/spi/CoreProviders;
invokeinterface org.graalvm.compiler.nodes.spi.CoreProviders.getMetaAccessExtensionProvider:()Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
astore 18
start local 18 32: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 36
aload 17
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
aload 18
invokevirtual jdk.vm.ci.meta.JavaKind.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 36
33: aload 17
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 36
aload 17
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 36
aload 17
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 34
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 36
34: StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 17
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 35
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 36
StackMap locals:
StackMap stack:
35: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
36: StackMap locals:
StackMap stack:
aconst_null
astore 19
start local 19 37: aconst_null
astore 20
start local 20 38: aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 45
39: aload 9
checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 21
start local 21 40: aload 0
aload 21
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.fieldOffset:(Ljdk/vm/ci/meta/ResolvedJavaField;)I
i2l
lstore 22
start local 22 41: lload 22
lconst_0
lcmp
iflt 48
42: aload 0
aload 3
aload 14
lload 22
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 19
43: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 21
aload 0
aload 21
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 20
end local 22 end local 21 44: goto 48
45: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 46
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 46
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
46: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 14
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 18
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
iload 15
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 18
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(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 19
47: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 18
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 20
48: StackMap locals:
StackMap stack:
aload 19
ifnull 51
49: new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 19
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
aload 3
aload 18
aload 16
aload 1
aload 9
iload 7
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.arrayImplicitStoreConvert:(Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
aload 20
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 21
start local 21 50: aload 3
aload 14
aload 3
aload 21
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 21 end local 20 end local 19 end local 18 end local 17 51: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.java.AbstractNewObjectNode int org.graalvm.compiler.nodes.ValueNode
StackMap stack:
iinc 7 1
end local 16 52: iinc 15 1
StackMap locals:
StackMap stack:
53: iload 15
iload 13
if_icmplt 23
end local 15 end local 14 end local 13 54: aload 12
ifnull 60
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 60
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
55: astore 10
aload 12
ifnull 56
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 12 StackMap locals:
StackMap stack:
56: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
57: astore 11
aload 10
ifnonnull 58
aload 11
astore 10
goto 59
StackMap locals:
StackMap stack:
58: aload 10
aload 11
if_acmpeq 59
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
59: aload 10
athrow
end local 9 60: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
61: 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 62: iconst_0
istore 7
63: iconst_0
istore 8
start local 8 64: goto 101
65: 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 66: aconst_null
astore 10
aconst_null
astore 11
67: aload 3
aload 9
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.withNodeSourcePosition:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/debug/DebugCloseable;
astore 12
start local 12 68: aload 9
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryCount:()I
istore 13
start local 13 69: aload 5
iload 8
aaload
astore 14
start local 14 70: iconst_0
istore 15
start local 15 71: goto 93
72: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.ValueNode int
StackMap stack:
aload 6
iload 7
invokevirtual java.util.BitSet.get:(I)Z
ifeq 91
73: 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 16
start local 16 74: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 75
aload 16
instanceof org.graalvm.compiler.nodes.virtual.VirtualObjectNode
ifne 75
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
75: 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 16
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
aaload
astore 17
start local 17 76: aload 17
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 77
aload 17
invokevirtual org.graalvm.compiler.nodes.ValueNode.asConstant:()Ljdk/vm/ci/meta/Constant;
invokeinterface jdk.vm.ci.meta.Constant.isDefaultForKind:()Z
ifne 91
77: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 79
aload 9
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 78
aload 17
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 79
StackMap locals:
StackMap stack:
78: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
79: StackMap locals:
StackMap stack:
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
ifeq 85
80: aload 9
checkcast org.graalvm.compiler.nodes.virtual.VirtualInstanceNode
astore 20
start local 20 81: aload 20
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualInstanceNode.field:(I)Ljdk/vm/ci/meta/ResolvedJavaField;
astore 21
start local 21 82: aload 0
aload 3
aload 14
aload 21
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 18
start local 18 83: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 21
aload 0
aload 21
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.getStorageKind:(Ljdk/vm/ci/meta/ResolvedJavaField;)Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.fieldStoreBarrierType:(Ljdk/vm/ci/meta/ResolvedJavaField;Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 19
end local 21 end local 20 start local 19 84: goto 88
end local 19 end local 18 85: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 86
aload 9
instanceof org.graalvm.compiler.nodes.virtual.VirtualArrayNode
ifne 86
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
86: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 14
aload 9
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
iload 15
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 18
start local 18 87: aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.barrierSet:Lorg/graalvm/compiler/nodes/gc/BarrierSet;
aload 9
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
iload 15
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.entryKind:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;I)Ljdk/vm/ci/meta/JavaKind;
invokeinterface org.graalvm.compiler.nodes.gc.BarrierSet.arrayStoreBarrierType:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
astore 19
start local 19 88: StackMap locals: org.graalvm.compiler.nodes.memory.address.AddressNode org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType
StackMap stack:
aload 18
ifnull 91
89: new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 18
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
aload 17
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 19
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;)V
astore 20
start local 20 90: aload 3
aload 1
aload 3
aload 20
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 20 end local 19 end local 18 end local 17 end local 16 91: 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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable int org.graalvm.compiler.nodes.ValueNode int
StackMap stack:
iinc 7 1
92: iinc 15 1
StackMap locals:
StackMap stack:
93: iload 15
iload 13
if_icmplt 72
end local 15 end local 14 end local 13 94: aload 12
ifnull 100
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
goto 100
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 java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugCloseable
StackMap stack: java.lang.Throwable
95: astore 10
aload 12
ifnull 96
aload 12
invokeinterface org.graalvm.compiler.debug.DebugCloseable.close:()V
end local 12 StackMap locals:
StackMap stack:
96: aload 10
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
97: astore 11
aload 10
ifnonnull 98
aload 11
astore 10
goto 99
StackMap locals:
StackMap stack:
98: aload 10
aload 11
if_acmpeq 99
aload 10
aload 11
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
99: aload 10
athrow
end local 9 100: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
101: iload 8
aload 1
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 65
end local 8 102: aload 0
aload 2
aload 1
aload 1
aload 5
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.finishAllocatedObjects:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
103: aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.removeFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
104: aload 4
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 9
goto 107
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:
105: aload 9
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.AbstractNewObjectNode
astore 8
start local 8 106: aload 8
aload 2
invokevirtual org.graalvm.compiler.nodes.java.AbstractNewObjectNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
end local 8 107: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Iterator.hasNext:()Z
ifne 105
end local 7 end local 6 end local 5 end local 4 108: 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 109 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 109 1 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 109 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 109 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 108 4 recursiveLowerings Ljava/util/List<Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;>;
4 108 5 allocations [Lorg/graalvm/compiler/nodes/ValueNode;
5 108 6 omittedValues Ljava/util/BitSet;
6 108 7 valuePos I
7 62 8 objIndex I
9 60 9 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
11 56 12 nsp Lorg/graalvm/compiler/debug/DebugCloseable;
12 54 13 entryCount I
14 15 14 newObject Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
17 54 14 newObject Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
22 54 15 i I
24 52 16 value Lorg/graalvm/compiler/nodes/ValueNode;
31 51 17 valueKind Ljdk/vm/ci/meta/JavaKind;
32 51 18 storageKind Ljdk/vm/ci/meta/JavaKind;
37 51 19 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
38 51 20 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
40 44 21 field Ljdk/vm/ci/meta/ResolvedJavaField;
41 44 22 offset J
50 51 21 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
64 102 8 objIndex I
66 100 9 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
68 96 12 nsp Lorg/graalvm/compiler/debug/DebugCloseable;
69 94 13 entryCount I
70 94 14 newObject Lorg/graalvm/compiler/nodes/ValueNode;
71 94 15 i I
74 91 16 value Lorg/graalvm/compiler/nodes/ValueNode;
76 91 17 allocValue Lorg/graalvm/compiler/nodes/ValueNode;
83 85 18 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
87 91 18 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
84 85 19 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
88 91 19 barrierType Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
81 84 20 virtualInstance Lorg/graalvm/compiler/nodes/virtual/VirtualInstanceNode;
82 84 21 field Ljdk/vm/ci/meta/ResolvedJavaField;
90 91 20 write Lorg/graalvm/compiler/nodes/memory/WriteNode;
106 107 8 recursiveLowering Lorg/graalvm/compiler/nodes/java/AbstractNewObjectNode;
Exception table:
from to target type
11 54 55 any
10 57 57 any
68 94 95 any
67 97 97 any
MethodParameters:
Name Flags
commit
tool
public void finishAllocatedObjects(org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.ValueNode[]);
descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;[Lorg/graalvm/compiler/nodes/ValueNode;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
astore 5
start local 5 1: aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 9
4: StackMap locals: org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
aload 6
new org.graalvm.compiler.nodes.extended.FixedValueAnchorNode
dup
aload 4
iload 7
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 8
start local 8 5: aload 4
iload 7
aload 8
aastore
6: aload 6
aload 5
aload 8
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
7: aload 8
astore 5
end local 8 8: iinc 7 1
StackMap locals:
StackMap stack:
9: iload 7
aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 4
end local 7 10: aconst_null
astore 7
start local 7 11: aload 5
invokestatic org.graalvm.compiler.replacements.SnippetTemplate.findLastFrameState:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/nodes/FrameState;
astore 8
start local 8 12: iconst_0
istore 9
start local 9 13: goto 33
14: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int
StackMap stack:
aload 3
iload 9
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getLocks:(I)Ljava/util/List;
astore 10
start local 10 15: aload 10
invokeinterface java.util.List.size:()I
iconst_1
if_icmple 19
16: new java.util.ArrayList
dup
aload 10
invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
astore 11
start local 11 17: aload 11
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/graalvm/compiler/replacements/DefaultJavaLoweringProvider.lambda$0(Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I (6)
(Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I
invokevirtual java.util.ArrayList.sort:(Ljava/util/Comparator;)V
18: aload 11
astore 10
end local 11 19: StackMap locals: java.util.List
StackMap stack:
iconst_m1
istore 11
start local 11 20: aload 10
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 13
goto 31
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int top java.util.Iterator
StackMap stack:
21: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorIdNode
astore 12
start local 12 22: getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 23
iload 11
aload 12
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
if_icmplt 23
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
23: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int org.graalvm.compiler.nodes.java.MonitorIdNode java.util.Iterator
StackMap stack:
aload 12
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
istore 11
24: aload 6
new org.graalvm.compiler.nodes.java.MonitorEnterNode
dup
aload 4
iload 9
aaload
aload 12
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 14
start local 14 25: aload 6
aload 5
aload 14
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
26: aload 14
aload 8
invokevirtual org.graalvm.compiler.nodes.FrameState.duplicate:()Lorg/graalvm/compiler/nodes/FrameState;
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.setStateAfter:(Lorg/graalvm/compiler/nodes/FrameState;)V
27: aload 14
astore 5
28: aload 7
ifnonnull 30
29: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 7
30: StackMap locals: org.graalvm.compiler.nodes.java.MonitorEnterNode
StackMap stack:
aload 7
aload 14
invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
pop
end local 14 end local 12 31: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int java.util.List int top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
end local 11 end local 10 32: iinc 9 1
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState int
StackMap stack:
33: iload 9
aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmplt 14
end local 9 34: aload 3
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 10
goto 43
StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
35: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
astore 9
start local 9 36: aload 9
instanceof org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
ifeq 41
37: aload 9
checkcast org.graalvm.compiler.nodes.virtual.AllocatedObjectNode
astore 11
start local 11 38: aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getVirtualObjects:()Ljava/util/List;
aload 11
invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.getVirtualObject:()Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
invokeinterface java.util.List.indexOf:(Ljava/lang/Object;)I
istore 12
start local 12 39: aload 11
aload 4
iload 12
aaload
invokevirtual org.graalvm.compiler.nodes.virtual.AllocatedObjectNode.replaceAtUsagesAndDelete:(Lorg/graalvm/compiler/graph/Node;)V
end local 12 end local 11 40: goto 43
41: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState org.graalvm.compiler.graph.Node java.util.Iterator
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 42
aload 7
ifnonnull 42
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
42: StackMap locals:
StackMap stack:
aload 3
aload 7
aload 7
invokevirtual java.util.ArrayList.size:()I
iconst_1
isub
invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
checkcast org.graalvm.compiler.graph.Node
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
end local 9 43: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
44: aload 7
ifnull 49
45: aload 7
invokevirtual java.util.ArrayList.iterator:()Ljava/util/Iterator;
astore 10
goto 48
StackMap locals:
StackMap stack:
46: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.compiler.nodes.java.MonitorEnterNode
astore 9
start local 9 47: aload 9
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorEnterNode.lower:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
end local 9 48: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 46
49: StackMap locals: org.graalvm.compiler.replacements.DefaultJavaLoweringProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.ValueNode[] org.graalvm.compiler.nodes.FixedWithNextNode org.graalvm.compiler.nodes.StructuredGraph java.util.ArrayList org.graalvm.compiler.nodes.FrameState
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 50
aload 3
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.hasNoUsages:()Z
ifne 50
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
50: StackMap locals:
StackMap stack:
aload 2
aload 3
aload 6
invokestatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.insertAllocationBarrier:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
51: 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 52 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 52 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 52 2 insertAfter Lorg/graalvm/compiler/nodes/FixedWithNextNode;
0 52 3 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 52 4 allocations [Lorg/graalvm/compiler/nodes/ValueNode;
1 52 5 insertionPoint Lorg/graalvm/compiler/nodes/FixedWithNextNode;
2 52 6 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
3 10 7 objIndex I
5 8 8 anchor Lorg/graalvm/compiler/nodes/extended/FixedValueAnchorNode;
11 52 7 enters Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;>;
12 52 8 stateBefore Lorg/graalvm/compiler/nodes/FrameState;
13 34 9 objIndex I
15 32 10 locks Ljava/util/List<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
17 19 11 newList Ljava/util/ArrayList<Lorg/graalvm/compiler/nodes/java/MonitorIdNode;>;
20 32 11 lastDepth I
22 31 12 monitorId Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
25 31 14 enter Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
36 43 9 usage Lorg/graalvm/compiler/graph/Node;
38 40 11 addObject Lorg/graalvm/compiler/nodes/virtual/AllocatedObjectNode;
39 40 12 index I
47 48 9 enter Lorg/graalvm/compiler/nodes/java/MonitorEnterNode;
MethodParameters:
Name Flags
tool
insertAfter
commit
allocations
private static void insertAllocationBarrier(org.graalvm.compiler.nodes.FixedWithNextNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/StructuredGraph;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
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.nodes.FixedWithNextNode 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.nodes.FixedWithNextNode 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.nodes.FixedWithNextNode 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.nodes.FixedWithNextNode org.graalvm.compiler.nodes.virtual.CommitAllocationNode org.graalvm.compiler.nodes.StructuredGraph int
StackMap stack:
aload 2
aload 0
aload 2
new org.graalvm.compiler.nodes.extended.MembarNode
dup
iload 3
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.init:()Ljdk/internal/vm/compiler/word/LocationIdentity;
invokespecial org.graalvm.compiler.nodes.extended.MembarNode.<init>:(ILjdk/internal/vm/compiler/word/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 insertAfter Lorg/graalvm/compiler/nodes/FixedWithNextNode;
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
insertAfter
commit
graph
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 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
private boolean useCompressedOops(jdk.vm.ci.meta.JavaKind, boolean);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Z)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
iload 2
ifeq 1
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
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 kind Ljdk/vm/ci/meta/JavaKind;
0 2 2 compressible Z
MethodParameters:
Name Flags
kind
compressible
protected abstract org.graalvm.compiler.core.common.type.Stamp loadCompressedStamp(org.graalvm.compiler.core.common.type.ObjectStamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/ObjectStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
stamp
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: aload 0
aload 2
iload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
ifeq 2
1: aload 0
aload 1
checkcast org.graalvm.compiler.core.common.type.ObjectStamp
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.loadCompressedStamp:(Lorg/graalvm/compiler/core/common/type/ObjectStamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
areturn
2: StackMap locals:
StackMap stack:
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: 3
2: 3
3: 4
4: 4
default: 5
}
3: 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
4: 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
5: 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 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 6 2 kind Ljdk/vm/ci/meta/JavaKind;
0 6 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 abstract org.graalvm.compiler.nodes.ValueNode newCompressionNode(org.graalvm.compiler.nodes.CompressionNode$CompressionOp, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
op
value
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: aload 0
aload 1
iload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
ifeq 2
1: aload 0
getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Uncompress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.newCompressionNode:(Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
2: StackMap locals:
StackMap stack:
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: 4
2: 3
3: 3
4: 4
default: 5
}
3: 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
4: 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
5: 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 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 kind Ljdk/vm/ci/meta/JavaKind;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 6 3 compressible Z
MethodParameters:
Name Flags
kind
value
compressible
public org.graalvm.compiler.nodes.ValueNode arrayImplicitStoreConvert(org.graalvm.compiler.nodes.StructuredGraph, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.virtual.CommitAllocationNode, org.graalvm.compiler.nodes.virtual.VirtualObjectNode, int);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;I)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 5
aload 0
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccessExtensionProvider:Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;
invokevirtual org.graalvm.compiler.nodes.virtual.VirtualObjectNode.isVirtualByteArray:(Lorg/graalvm/compiler/core/common/spi/MetaAccessExtensionProvider;)Z
ifne 2
1: aload 0
aload 1
aload 2
aload 3
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;
areturn
2: StackMap locals:
StackMap stack:
iload 6
iconst_1
iadd
istore 7
start local 7 3: iconst_1
istore 8
start local 8 4: goto 7
5: StackMap locals: int int
StackMap stack:
iinc 8 1
6: iinc 7 1
7: StackMap locals:
StackMap stack:
iload 7
aload 4
invokevirtual org.graalvm.compiler.nodes.virtual.CommitAllocationNode.getValues:()Ljava/util/List;
invokeinterface java.util.List.size:()I
if_icmpge 8
aload 4
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
invokevirtual org.graalvm.compiler.nodes.ValueNode.isIllegalConstant:()Z
ifne 5
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.$assertionsDisabled:Z
ifne 9
iload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
if_icmple 9
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
9: StackMap locals:
StackMap stack:
aload 3
astore 9
start local 9 10: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Float:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 13
11: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
aload 9
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)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 9
12: goto 15
StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
13: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Double:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 15
14: aload 1
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
aload 9
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.ReinterpretNode.create:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)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 9
15: StackMap locals:
StackMap stack:
iload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getByteCount:()I
if_icmpge 17
16: aload 1
new org.graalvm.compiler.nodes.calc.NarrowNode
dup
aload 9
iload 8
iconst_3
ishl
invokespecial org.graalvm.compiler.nodes.calc.NarrowNode.<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 9
17: StackMap locals:
StackMap stack:
aload 9
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 18 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 18 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 18 2 entryKind Ljdk/vm/ci/meta/JavaKind;
0 18 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 18 4 commit Lorg/graalvm/compiler/nodes/virtual/CommitAllocationNode;
0 18 5 virtual Lorg/graalvm/compiler/nodes/virtual/VirtualObjectNode;
0 18 6 valuePos I
3 18 7 entryIndex I
4 18 8 bytes I
10 18 9 entry Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
graph
entryKind
value
commit
virtual
valuePos
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: aload 0
aload 1
iload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.useCompressedOops:(Ljdk/vm/ci/meta/JavaKind;Z)Z
ifeq 2
1: aload 0
getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Compress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
aload 2
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.newCompressionNode:(Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
2: StackMap locals:
StackMap stack:
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: 3
2: 3
3: 4
4: 4
default: 5
}
3: 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
4: 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
5: 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 6 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 6 1 kind Ljdk/vm/ci/meta/JavaKind;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 6 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.ValueNode proxyIndex(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 5
start local 5 1: aload 0
aload 1
aload 3
aload 4
aload 5
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.readOrCreateArrayLength:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 2: aload 6
iconst_1
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.SubNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 3: aload 2
aload 7
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMin:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
iconst_0
invokestatic org.graalvm.compiler.nodes.ConstantNode.forInt:(I)Lorg/graalvm/compiler/nodes/ConstantNode;
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.BinaryArithmeticNode.branchlessMax:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/ValueNode;
areturn
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 4 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 4 1 n Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
0 4 2 index Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 array Lorg/graalvm/compiler/nodes/ValueNode;
0 4 4 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 4 5 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 4 6 arrayLength Lorg/graalvm/compiler/nodes/ValueNode;
3 4 7 lengthMinusOne Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
n
index
array
tool
protected org.graalvm.compiler.nodes.extended.GuardingNode getBoundsCheck(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/extended/GuardingNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=7, 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.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
ifnull 2
1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.getBoundsCheck:()Lorg/graalvm/compiler/nodes/extended/GuardingNode;
areturn
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 3: aload 0
aload 1
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.readOrCreateArrayLength:(Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 4: aload 1
invokevirtual org.graalvm.compiler.nodes.java.AccessIndexedNode.index:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 5
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokestatic org.graalvm.compiler.nodes.calc.IntegerBelowNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/nodes/LogicNode;
astore 6
start local 6 5: aload 6
invokevirtual org.graalvm.compiler.nodes.LogicNode.isTautology:()Z
ifeq 7
6: aconst_null
areturn
7: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.LogicNode
StackMap stack:
aload 3
aload 1
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.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;
areturn
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 8 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 8 1 n Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
0 8 2 array Lorg/graalvm/compiler/nodes/ValueNode;
0 8 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 8 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 8 5 arrayLength Lorg/graalvm/compiler/nodes/ValueNode;
5 8 6 boundsCheck Lorg/graalvm/compiler/nodes/LogicNode;
MethodParameters:
Name Flags
n
array
tool
private org.graalvm.compiler.nodes.ValueNode readOrCreateArrayLength(org.graalvm.compiler.nodes.java.AccessIndexedNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.spi.LoweringTool, org.graalvm.compiler.nodes.StructuredGraph);
descriptor: (Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;Lorg/graalvm/compiler/nodes/StructuredGraph;)Lorg/graalvm/compiler/nodes/ValueNode;
flags: (0x0002) ACC_PRIVATE
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 2
aload 3
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 5
start local 5 1: aload 5
ifnonnull 4
2: aload 0
aload 2
aload 1
aload 3
invokevirtual org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.createReadArrayLength:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)Lorg/graalvm/compiler/nodes/memory/ReadNode;
astore 5
3: goto 7
4: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifeq 5
aload 5
goto 6
StackMap locals:
StackMap stack:
5: aload 4
aload 5
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
6: astore 5
7: StackMap locals:
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 8 0 this Lorg/graalvm/compiler/replacements/DefaultJavaLoweringProvider;
0 8 1 n Lorg/graalvm/compiler/nodes/java/AccessIndexedNode;
0 8 2 array Lorg/graalvm/compiler/nodes/ValueNode;
0 8 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 8 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
1 8 5 arrayLength Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
n
array
tool
graph
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=8, 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.SpeculationLog.NO_SPECULATION:Ljdk/vm/ci/meta/SpeculationLog$Speculation;
iconst_1
aconst_null
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/SpeculationLog$Speculation;ZLorg/graalvm/compiler/graph/NodeSourcePosition;)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
protected org.graalvm.compiler.nodes.ValueNode createNullCheckedValue(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/ValueNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
aload 3
invokevirtual org.graalvm.compiler.replacements.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 4
start local 4 1: aload 4
ifnonnull 3
2: aload 1
areturn
3: StackMap locals: org.graalvm.compiler.nodes.extended.GuardingNode
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.FixedNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 1
aload 1
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.objectNonNull:()Lorg/graalvm/compiler/core/common/type/Stamp;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.join:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 4
checkcast org.graalvm.compiler.nodes.ValueNode
invokestatic org.graalvm.compiler.nodes.PiNode.create:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.maybeAddOrUnique:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
checkcast org.graalvm.compiler.nodes.ValueNode
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 object Lorg/graalvm/compiler/nodes/ValueNode;
0 4 2 before Lorg/graalvm/compiler/nodes/FixedNode;
0 4 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 4 4 nullCheck Lorg/graalvm/compiler/nodes/extended/GuardingNode;
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
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayBaseOffset:(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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.ValueNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)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
getfield org.graalvm.compiler.replacements.DefaultJavaLoweringProvider.metaAccess:Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.getArrayIndexScale:(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
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
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/NodeView;)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
private static void lowerVolatileRead(org.graalvm.compiler.nodes.memory.VolatileReadNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
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 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 3: aload 2
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 3
start local 3 4: aload 2
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
5: aload 2
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 4
start local 4 6: aload 2
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
7: aload 0
aload 4
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
8: aload 2
new org.graalvm.compiler.nodes.memory.ReadNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getAccessStamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileReadNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.ReadNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 9: aload 2
aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
10: 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 11 0 n Lorg/graalvm/compiler/nodes/memory/VolatileReadNode;
0 11 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 11 3 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
6 11 4 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
9 11 5 nonVolatileRead Lorg/graalvm/compiler/nodes/memory/ReadNode;
MethodParameters:
Name Flags
n
tool
private static void lowerVolatileWrite(org.graalvm.compiler.nodes.memory.VolatileWriteNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=6, args_size=2
start local 0 start local 1 0: aload 1
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 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 2
start local 2 3: aload 2
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 3
start local 3 4: aload 2
aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addBeforeFixed:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
5: aload 2
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 4
start local 4 6: aload 2
aload 0
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addAfterFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedNode;)V
7: aload 0
aload 4
getstatic org.graalvm.compiler.nodeinfo.InputType.Memory:Lorg/graalvm/compiler/nodeinfo/InputType;
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.replaceAtUsages:(Lorg/graalvm/compiler/graph/Node;Lorg/graalvm/compiler/nodeinfo/InputType;)V
8: aload 2
new org.graalvm.compiler.nodes.memory.WriteNode
dup
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getAddress:()Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getLocationIdentity:()Ljdk/internal/vm/compiler/word/LocationIdentity;
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.value:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 0
invokevirtual org.graalvm.compiler.nodes.memory.VolatileWriteNode.getBarrierType:()Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$BarrierType;
invokespecial org.graalvm.compiler.nodes.memory.WriteNode.<init>:(Lorg/graalvm/compiler/nodes/memory/address/AddressNode;Ljdk/internal/vm/compiler/word/LocationIdentity;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/memory/OnHeapMemoryAccess$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 5
start local 5 9: aload 2
aload 0
aload 5
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.replaceFixedWithFixed:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
10: 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 11 0 n Lorg/graalvm/compiler/nodes/memory/VolatileWriteNode;
0 11 1 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
3 11 2 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
4 11 3 preMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
6 11 4 postMembar Lorg/graalvm/compiler/nodes/extended/MembarNode;
9 11 5 nonVolatileWrite Lorg/graalvm/compiler/nodes/memory/WriteNode;
MethodParameters:
Name Flags
n
tool
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
private static int lambda$0(org.graalvm.compiler.nodes.java.MonitorIdNode, org.graalvm.compiler.nodes.java.MonitorIdNode);
descriptor: (Lorg/graalvm/compiler/nodes/java/MonitorIdNode;Lorg/graalvm/compiler/nodes/java/MonitorIdNode;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
aload 1
invokevirtual org.graalvm.compiler.nodes.java.MonitorIdNode.getLockDepth:()I
invokestatic java.lang.Integer.compare:(II)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 a Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
0 1 1 b Lorg/graalvm/compiler/nodes/java/MonitorIdNode;
}
SourceFile: "DefaultJavaLoweringProvider.java"
NestMembers:
org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1 org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2 org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Speculation = jdk.vm.ci.meta.SpeculationLog$Speculation of jdk.vm.ci.meta.SpeculationLog
public Options = org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations$Options of org.graalvm.compiler.core.common.SpeculativeExecutionAttacksMitigations
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 CompressionOp = org.graalvm.compiler.nodes.CompressionNode$CompressionOp of org.graalvm.compiler.nodes.CompressionNode
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public final BarrierType = org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess$BarrierType of org.graalvm.compiler.nodes.memory.OnHeapMemoryAccess
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
public Templates = org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets$Templates of org.graalvm.compiler.replacements.ConstantStringIndexOfSnippets
org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$1
org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$2
org.graalvm.compiler.replacements.DefaultJavaLoweringProvider$3
public Group = org.graalvm.compiler.replacements.SnippetCounter$Group of org.graalvm.compiler.replacements.SnippetCounter
public abstract Factory = org.graalvm.compiler.replacements.SnippetCounter$Group$Factory of org.graalvm.compiler.replacements.SnippetCounter$Group
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 abstract SnippetLowering = org.graalvm.compiler.replacements.SnippetLowerableMemoryNode$SnippetLowering of org.graalvm.compiler.replacements.SnippetLowerableMemoryNode
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