public class org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering extends org.graalvm.compiler.core.amd64.AMD64AddressLowering
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering
super_class: org.graalvm.compiler.core.amd64.AMD64AddressLowering
{
private static final org.graalvm.compiler.debug.CounterKey counterFoldedUncompressDuringAddressLowering;
descriptor: Lorg/graalvm/compiler/debug/CounterKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final long heapBase;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jdk.vm.ci.code.Register heapBaseRegister;
descriptor: Ljdk/vm/ci/code/Register;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean generatePIC;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc "FoldedUncompressDuringAddressLowering"
invokestatic org.graalvm.compiler.debug.DebugContext.counter:(Ljava/lang/CharSequence;)Lorg/graalvm/compiler/debug/CounterKey;
putstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.counterFoldedUncompressDuringAddressLowering:Lorg/graalvm/compiler/debug/CounterKey;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, jdk.vm.ci.code.Register, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokespecial org.graalvm.compiler.core.amd64.AMD64AddressLowering.<init>:()V
1: aload 0
aload 1
invokevirtual org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.getOopEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
2: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
3: aload 0
getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionKey;
aload 3
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
putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
4: aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
lconst_0
lcmp
ifne 7
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
ifne 7
5: aload 0
aconst_null
putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
6: goto 8
7: StackMap locals: org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering org.graalvm.compiler.hotspot.GraalHotSpotVMConfig jdk.vm.ci.code.Register org.graalvm.compiler.options.OptionValues
StackMap stack:
aload 0
aload 2
putfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
8: StackMap locals:
StackMap stack:
return
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/hotspot/amd64/AMD64HotSpotAddressLowering;
0 9 1 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 9 2 heapBaseRegister Ljdk/vm/ci/code/Register;
0 9 3 options Lorg/graalvm/compiler/options/OptionValues;
MethodParameters:
Name Flags
config
heapBaseRegister
options
protected boolean improve(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.core.amd64.AMD64AddressNode, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;ZZ)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
aload 3
iload 4
iload 5
invokespecial org.graalvm.compiler.core.amd64.AMD64AddressLowering.improve:(Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;ZZ)Z
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getScale:()Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
getstatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.Times1:Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
if_acmpne 11
3: aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
instanceof org.graalvm.compiler.nodes.CompressionNode
ifeq 7
4: aload 0
aload 3
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.CompressionNode
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 4
iload 5
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.improveUncompression:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/CompressionNode;Lorg/graalvm/compiler/nodes/ValueNode;ZZ)Z
ifeq 7
5: getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.counterFoldedUncompressDuringAddressLowering:Lorg/graalvm/compiler/debug/CounterKey;
aload 2
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
6: iconst_1
ireturn
7: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
instanceof org.graalvm.compiler.nodes.CompressionNode
ifeq 11
8: aload 0
aload 3
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.CompressionNode
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 4
iload 5
invokevirtual org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.improveUncompression:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/CompressionNode;Lorg/graalvm/compiler/nodes/ValueNode;ZZ)Z
ifeq 11
9: getstatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.counterFoldedUncompressDuringAddressLowering:Lorg/graalvm/compiler/debug/CounterKey;
aload 2
invokeinterface org.graalvm.compiler.debug.CounterKey.increment:(Lorg/graalvm/compiler/debug/DebugContext;)V
10: iconst_1
ireturn
11: StackMap locals:
StackMap stack:
iconst_0
ireturn
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/hotspot/amd64/AMD64HotSpotAddressLowering;
0 12 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 12 2 debug Lorg/graalvm/compiler/debug/DebugContext;
0 12 3 addr Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
0 12 4 isBaseNegated Z
0 12 5 isIndexNegated Z
MethodParameters:
Name Flags
graph
debug
addr
isBaseNegated
isIndexNegated
private boolean improveUncompression(org.graalvm.compiler.core.amd64.AMD64AddressNode, org.graalvm.compiler.nodes.CompressionNode, org.graalvm.compiler.nodes.ValueNode, boolean, boolean);
descriptor: (Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;Lorg/graalvm/compiler/nodes/CompressionNode;Lorg/graalvm/compiler/nodes/ValueNode;ZZ)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: iload 4
ifne 1
iload 5
ifne 1
aload 2
invokevirtual org.graalvm.compiler.nodes.CompressionNode.getOp:()Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
getstatic org.graalvm.compiler.nodes.CompressionNode$CompressionOp.Uncompress:Lorg/graalvm/compiler/nodes/CompressionNode$CompressionOp;
if_acmpeq 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.CompressionNode.getEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
astore 6
start local 6 3: aload 6
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
invokestatic org.graalvm.compiler.asm.amd64.AMD64Address$Scale.fromShift:(I)Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
astore 7
start local 7 4: aload 7
ifnonnull 6
5: iconst_0
ireturn
6: StackMap locals: org.graalvm.compiler.core.common.CompressEncoding org.graalvm.compiler.asm.amd64.AMD64Address$Scale
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
ifnull 13
aload 6
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBase:J
lcmp
ifne 13
7: aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
ifeq 8
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.CompressionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.core.common.type.ObjectStamp
ifeq 12
StackMap locals:
StackMap stack:
8: aload 3
ifnonnull 12
9: aload 2
invokevirtual org.graalvm.compiler.nodes.CompressionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering$HeapBaseNode
dup
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.heapBaseRegister:Ljdk/vm/ci/code/Register;
invokespecial org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering$HeapBaseNode.<init>:(Ljdk/vm/ci/code/Register;)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 10: aload 1
aload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 8 11: goto 25
12: StackMap locals:
StackMap stack:
iconst_0
ireturn
13: StackMap locals:
StackMap stack:
aload 6
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
lconst_0
lcmp
ifne 14
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
ifeq 24
aload 2
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.nodes.CompressionNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
instanceof org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp
ifeq 24
14: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.generatePIC:Z
ifeq 20
15: aload 3
ifnonnull 19
16: aload 2
invokevirtual org.graalvm.compiler.nodes.CompressionNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode
dup
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
aload 0
getfield org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.MARKID_NARROW_KLASS_BASE_ADDRESS:I
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
invokespecial org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode.<init>:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;ILjdk/vm/ci/meta/JavaKind;)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 17: aload 1
aload 8
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
end local 8 18: goto 25
19: StackMap locals:
StackMap stack:
iconst_0
ireturn
20: StackMap locals:
StackMap stack:
aload 1
aload 6
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getBase:()J
iload 4
invokestatic org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering.updateDisplacement:(Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;JZ)Z
ifeq 23
21: aload 1
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
22: goto 25
23: StackMap locals:
StackMap stack:
iconst_0
ireturn
24: StackMap locals:
StackMap stack:
aload 1
aload 3
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
25: StackMap locals:
StackMap stack:
aload 1
aload 7
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setScale:(Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;)V
26: aload 1
aload 2
invokevirtual org.graalvm.compiler.nodes.CompressionNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.amd64.AMD64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
27: iconst_1
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lorg/graalvm/compiler/hotspot/amd64/AMD64HotSpotAddressLowering;
0 28 1 addr Lorg/graalvm/compiler/core/amd64/AMD64AddressNode;
0 28 2 compression Lorg/graalvm/compiler/nodes/CompressionNode;
0 28 3 other Lorg/graalvm/compiler/nodes/ValueNode;
0 28 4 isBaseNegated Z
0 28 5 isIndexNegated Z
3 28 6 encoding Lorg/graalvm/compiler/core/common/CompressEncoding;
4 28 7 scale Lorg/graalvm/compiler/asm/amd64/AMD64Address$Scale;
10 11 8 base Lorg/graalvm/compiler/nodes/ValueNode;
17 18 8 base Lorg/graalvm/compiler/nodes/ValueNode;
MethodParameters:
Name Flags
addr
compression
other
isBaseNegated
isIndexNegated
}
SourceFile: "AMD64HotSpotAddressLowering.java"
NestMembers:
org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering$HeapBaseNode
InnerClasses:
public final Scale = org.graalvm.compiler.asm.amd64.AMD64Address$Scale of org.graalvm.compiler.asm.amd64.AMD64Address
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public HeapBaseNode = org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering$HeapBaseNode of org.graalvm.compiler.hotspot.amd64.AMD64HotSpotAddressLowering
public final CompressionOp = org.graalvm.compiler.nodes.CompressionNode$CompressionOp of org.graalvm.compiler.nodes.CompressionNode