public class org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse extends org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse
super_class: org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse
{
private org.graalvm.compiler.core.aarch64.AArch64LIRKindTool kindtool;
descriptor: Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
flags: (0x0002) ACC_PRIVATE
private boolean supportsDerivedReference;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static volatile int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
public void <init>(org.graalvm.compiler.core.aarch64.AArch64LIRKindTool);
descriptor: (Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_1
invokespecial org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.<init>:(Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 2 1 kindtool Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
MethodParameters:
Name Flags
kindtool
public void <init>(org.graalvm.compiler.core.aarch64.AArch64LIRKindTool, boolean);
descriptor: (Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse.<init>:()V
1: aload 0
aload 1
putfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.kindtool:Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
2: aload 0
iload 2
putfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.supportsDerivedReference:Z
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 4 1 kindtool Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
0 4 2 supportsDerivedReference Z
MethodParameters:
Name Flags
kindtool
supportsDerivedReference
public org.graalvm.compiler.nodes.memory.address.AddressNode lower(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.memory.address.AddressNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
instanceof org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
ifeq 3
1: aload 3
checkcast org.graalvm.compiler.nodes.memory.address.OffsetAddressNode
astore 4
start local 4 2: aload 0
aload 2
aload 4
invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 4
invokevirtual org.graalvm.compiler.nodes.memory.address.OffsetAddressNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.doLower:(Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
areturn
end local 4 3: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 4 1 use Lorg/graalvm/compiler/nodes/ValueNode;
0 4 2 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 4 3 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
2 3 4 offsetAddress Lorg/graalvm/compiler/nodes/memory/address/OffsetAddressNode;
MethodParameters:
Name Flags
use
stamp
address
public org.graalvm.compiler.nodes.memory.address.AddressNode lower(org.graalvm.compiler.nodes.memory.address.AddressNode);
descriptor: (Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aconst_null
aconst_null
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.lower:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/memory/address/AddressNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 1 1 address Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
MethodParameters:
Name Flags
address
private org.graalvm.compiler.nodes.memory.address.AddressNode doLower(org.graalvm.compiler.core.common.type.Stamp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/nodes/memory/address/AddressNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.core.aarch64.AArch64AddressNode
dup
aload 2
aload 3
invokespecial org.graalvm.compiler.core.aarch64.AArch64AddressNode.<init>:(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)V
astore 4
start local 4 1: aload 1
ifnonnull 2
aconst_null
goto 3
StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressNode
StackMap stack:
2: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.getAArch64Kind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/aarch64/AArch64Kind;
StackMap locals:
StackMap stack: jdk.vm.ci.aarch64.AArch64Kind
3: astore 5
start local 5 4: StackMap locals: jdk.vm.ci.aarch64.AArch64Kind
StackMap stack:
aload 0
aload 5
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.improve:(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;)Z
istore 6
start local 6 5: iload 6
ifne 4
6: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
aload 4
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 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/core/aarch64/AArch64AddressLoweringByUse;
0 7 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
0 7 2 base Lorg/graalvm/compiler/nodes/ValueNode;
0 7 3 index Lorg/graalvm/compiler/nodes/ValueNode;
1 7 4 ret Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;
4 7 5 aarch64Kind Ljdk/vm/ci/aarch64/AArch64Kind;
5 7 6 changed Z
MethodParameters:
Name Flags
stamp
base
index
private boolean improve(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.core.aarch64.AArch64AddressNode);
descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getAddressingMode:()Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
astore 3
start local 3 1: aload 3
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isDisplacementMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
ifne 2
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isBaseOnlyMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
ifeq 3
2: StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
start local 4 4: aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.getIndex:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 5: aload 4
ifnonnull 9
6: aload 2
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
7: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
8: iconst_1
ireturn
9: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 14
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 14
10: aload 5
ifnull 14
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifne 14
11: aload 2
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
12: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
13: iconst_1
ireturn
14: StackMap locals:
StackMap stack:
aload 5
ifnonnull 19
aload 4
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 19
15: aload 4
checkcast org.graalvm.compiler.nodes.calc.AddNode
astore 6
start local 6 16: aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
17: aload 2
aload 6
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
18: iconst_1
ireturn
end local 6 19: StackMap locals:
StackMap stack:
aload 5
ifnull 60
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 60
20: aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
astore 6
start local 6 21: aload 6
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 60
22: aload 6
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 7
start local 7 23: aload 1
lload 7
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
astore 3
24: aload 3
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.isDisplacementMode:(Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
ifeq 60
25: aconst_null
astore 5
26: aload 4
instanceof org.graalvm.compiler.nodes.calc.AddNode
istore 9
start local 9 27: goto 51
28: StackMap locals: jdk.vm.ci.meta.JavaConstant long int
StackMap stack:
aload 4
checkcast org.graalvm.compiler.nodes.calc.AddNode
astore 10
start local 10 29: iconst_0
istore 9
30: aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 31: aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 41
aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 41
32: lload 7
aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
ladd
lstore 12
start local 12 33: aload 1
lload 12
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
astore 14
start local 14 34: aload 14
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
if_acmpeq 51
35: lload 12
lstore 7
36: aload 14
astore 3
37: aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
38: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
39: aload 4
instanceof org.graalvm.compiler.nodes.calc.AddNode
istore 9
end local 14 end local 12 40: goto 51
41: StackMap locals: org.graalvm.compiler.nodes.calc.AddNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
42: aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.isJavaConstant:()Z
ifeq 51
aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 51
43: lload 7
aload 11
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
ladd
lstore 12
start local 12 44: aload 1
lload 12
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.immediateMode:(Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
astore 14
start local 14 45: aload 14
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
if_acmpeq 51
46: lload 12
lstore 7
47: aload 14
astore 3
48: aload 10
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 4
49: aload 2
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
50: aload 4
instanceof org.graalvm.compiler.nodes.calc.AddNode
istore 9
end local 14 end local 12 end local 11 end local 10 51: StackMap locals:
StackMap stack:
iload 9
ifne 28
52: lload 7
lconst_0
lcmp
ifeq 57
53: aload 2
aconst_null
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
54: aload 1
aload 3
invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.computeScaleFactor:(Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)I
istore 10
start local 10 55: aload 2
lload 7
iload 10
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setDisplacement:(JILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)V
end local 10 56: goto 59
57: StackMap locals:
StackMap stack:
aload 2
aconst_null
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
58: aload 2
lconst_0
iconst_1
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setDisplacement:(JILorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)V
59: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 9 end local 7 end local 6 60: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.supportsDerivedReference:Z
ifeq 90
aload 5
ifnull 90
aload 5
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 90
aload 5
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 90
61: aload 5
checkcast org.graalvm.compiler.nodes.calc.AddNode
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 62: aload 5
checkcast org.graalvm.compiler.nodes.calc.AddNode
invokevirtual org.graalvm.compiler.nodes.calc.AddNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 63: aconst_null
astore 8
start local 8 64: aconst_null
astore 9
start local 9 65: aload 6
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 69
66: aload 6
astore 8
67: aload 7
astore 9
68: goto 72
StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse jdk.vm.ci.aarch64.AArch64Kind org.graalvm.compiler.core.aarch64.AArch64AddressNode org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack:
69: aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 72
70: aload 7
astore 8
71: aload 6
astore 9
72: StackMap locals:
StackMap stack:
aload 9
ifnull 73
aload 8
ifnonnull 74
73: StackMap locals:
StackMap stack:
iconst_0
ireturn
74: StackMap locals:
StackMap stack:
aconst_null
astore 10
start local 10 75: aload 9
instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
ifeq 83
76: aload 9
checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 11
start local 11 77: aload 9
checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 12
start local 12 78: aload 12
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
ifeq 85
aload 11
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifeq 85
79: aload 12
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 13
start local 13 80: iload 13
iflt 85
iload 13
iconst_4
if_icmpgt 85
81: aload 11
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 10
end local 13 end local 12 end local 11 82: goto 85
StackMap locals: org.graalvm.compiler.nodes.calc.ZeroExtendNode
StackMap stack:
83: aload 9
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifeq 85
84: aload 9
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 10
85: StackMap locals:
StackMap stack:
aload 10
ifnull 90
86: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
new org.graalvm.compiler.core.aarch64.AArch64PointerAddNode
dup
aload 4
aload 9
invokespecial org.graalvm.compiler.core.aarch64.AArch64PointerAddNode.<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.core.aarch64.AArch64PointerAddNode
astore 11
start local 11 87: aload 2
aload 11
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setBase:(Lorg/graalvm/compiler/nodes/ValueNode;)V
88: aload 2
aload 8
invokevirtual org.graalvm.compiler.core.aarch64.AArch64AddressNode.setIndex:(Lorg/graalvm/compiler/nodes/ValueNode;)V
89: iconst_1
ireturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 90: StackMap locals: org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse jdk.vm.ci.aarch64.AArch64Kind org.graalvm.compiler.core.aarch64.AArch64AddressNode org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
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 91 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 91 1 kind Ljdk/vm/ci/aarch64/AArch64Kind;
0 91 2 ret Lorg/graalvm/compiler/core/aarch64/AArch64AddressNode;
1 91 3 mode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
4 91 4 base Lorg/graalvm/compiler/nodes/ValueNode;
5 91 5 index Lorg/graalvm/compiler/nodes/ValueNode;
16 19 6 add Lorg/graalvm/compiler/nodes/calc/AddNode;
21 60 6 javaConstant Ljdk/vm/ci/meta/JavaConstant;
23 60 7 disp J
27 60 9 tryNextBase Z
29 51 10 add Lorg/graalvm/compiler/nodes/calc/AddNode;
31 51 11 child Lorg/graalvm/compiler/nodes/ValueNode;
33 40 12 newDisp J
34 40 14 newMode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
44 51 12 newDisp J
45 51 14 newMode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
55 56 10 scaleFactor I
62 90 6 x Lorg/graalvm/compiler/nodes/ValueNode;
63 90 7 y Lorg/graalvm/compiler/nodes/ValueNode;
64 90 8 objHeadOffset Lorg/graalvm/compiler/nodes/ValueNode;
65 90 9 scaledIndex Lorg/graalvm/compiler/nodes/ValueNode;
75 90 10 wordIndex Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
77 82 11 var Lorg/graalvm/compiler/nodes/ValueNode;
78 82 12 amount Lorg/graalvm/compiler/nodes/ValueNode;
80 82 13 s I
87 90 11 addP Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;
MethodParameters:
Name Flags
kind
ret
private jdk.vm.ci.aarch64.AArch64Kind getAArch64Kind(org.graalvm.compiler.core.common.type.Stamp);
descriptor: (Lorg/graalvm/compiler/core/common/type/Stamp;)Ljdk/vm/ci/aarch64/AArch64Kind;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.kindtool:Lorg/graalvm/compiler/core/aarch64/AArch64LIRKindTool;
invokevirtual org.graalvm.compiler.core.common.type.Stamp.getLIRKind:(Lorg/graalvm/compiler/core/common/spi/LIRKindTool;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.isValue:()Z
ifne 4
2: aload 2
iconst_0
invokevirtual org.graalvm.compiler.core.common.LIRKind.isReference:(I)Z
ifeq 3
aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.getReferenceCount:()I
iconst_1
if_icmpeq 4
3: StackMap locals: org.graalvm.compiler.core.common.LIRKind
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.aarch64.AArch64Kind
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 5 1 stamp Lorg/graalvm/compiler/core/common/type/Stamp;
1 5 2 lirKind Lorg/graalvm/compiler/core/common/LIRKind;
MethodParameters:
Name Flags
stamp
private static org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode immediateMode(jdk.vm.ci.aarch64.AArch64Kind, long);
descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;J)Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 0
ifnull 6
1: aload 0
invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
istore 3
start local 3 2: lload 1
iload 3
iconst_1
isub
i2l
land
lconst_0
lcmp
ifne 6
3: lload 1
iload 3
i2l
ldiv
lstore 4
start local 4 4: bipush 12
lload 4
invokestatic org.graalvm.compiler.core.common.NumUtil.isUnsignedNbit:(IJ)Z
ifeq 6
5: getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
areturn
end local 4 end local 3 6: StackMap locals:
StackMap stack:
bipush 9
lload 1
invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(IJ)Z
ifeq 8
7: getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
areturn
8: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 kind Ljdk/vm/ci/aarch64/AArch64Kind;
0 9 1 value J
2 6 3 size I
4 6 4 encodedValue J
MethodParameters:
Name Flags
kind
value
private static int computeScaleFactor(jdk.vm.ci.aarch64.AArch64Kind, org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
descriptor: (Ljdk/vm/ci/aarch64/AArch64Kind;Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
if_acmpne 2
1: aload 0
invokevirtual jdk.vm.ci.aarch64.AArch64Kind.getSizeInBytes:()I
ireturn
2: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 kind Ljdk/vm/ci/aarch64/AArch64Kind;
0 3 1 mode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
MethodParameters:
Name Flags
kind
mode
boolean isBaseOnlyMode(org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64AddressLoweringByUse;
0 2 1 addressingMode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
MethodParameters:
Name Flags
addressingMode
private static boolean isDisplacementMode(org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode);
descriptor: (Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: invokestatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:()[I
aload 0
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iaload
tableswitch { // 1 - 8
1: 1
2: 1
3: 2
4: 2
5: 2
6: 2
7: 1
8: 1
default: 2
}
1: StackMap locals:
StackMap stack:
iconst_1
ireturn
2: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 addressingMode Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
MethodParameters:
Name Flags
addressingMode
static int[] $SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.values:()[Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
arraylength
newarray 10
astore 0
2: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.BASE_REGISTER_ONLY:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iconst_3
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.EXTENDED_REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iconst_5
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_POST_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
bipush 7
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_PRE_INDEXED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.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 org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_SCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.IMMEDIATE_UNSCALED:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iconst_2
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.PC_LITERAL:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
bipush 6
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.REGISTER_OFFSET:Lorg/graalvm/compiler/asm/aarch64/AArch64Address$AddressingMode;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode.ordinal:()I
iconst_4
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
dup
putstatic org.graalvm.compiler.core.aarch64.AArch64AddressLoweringByUse.$SWITCH_TABLE$org$graalvm$compiler$asm$aarch64$AArch64Address$AddressingMode:[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
}
SourceFile: "AArch64AddressLoweringByUse.java"
InnerClasses:
public final AddressingMode = org.graalvm.compiler.asm.aarch64.AArch64Address$AddressingMode of org.graalvm.compiler.asm.aarch64.AArch64Address
public abstract ValueNumberable = org.graalvm.compiler.graph.Node$ValueNumberable of org.graalvm.compiler.graph.Node
public abstract AddressLoweringByUse = org.graalvm.compiler.phases.common.AddressLoweringByUsePhase$AddressLoweringByUse of org.graalvm.compiler.phases.common.AddressLoweringByUsePhase