public class org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules extends org.graalvm.compiler.core.gen.NodeMatchRules
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules
super_class: org.graalvm.compiler.core.gen.NodeMatchRules
{
private static final jdk.internal.vm.compiler.collections.EconomicMap<java.lang.Class<? extends org.graalvm.compiler.nodes.calc.BinaryNode>, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp> binaryOpMap;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/calc/BinaryNode;>;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;>;
private static final jdk.internal.vm.compiler.collections.EconomicMap<java.lang.Class<? extends org.graalvm.compiler.nodes.calc.BinaryNode>, org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode> bitFieldOpMap;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/calc/BinaryNode;>;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;>;
private static final jdk.internal.vm.compiler.collections.EconomicMap<java.lang.Class<? extends org.graalvm.compiler.nodes.calc.BinaryNode>, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType> shiftTypeMap;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/calc/BinaryNode;>;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;>;
private static final jdk.internal.vm.compiler.collections.EconomicMap<java.lang.Class<? extends org.graalvm.compiler.nodes.calc.BinaryNode>, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp> logicalNotOpMap;
descriptor: Ljdk/internal/vm/compiler/collections/EconomicMap;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljdk/internal/vm/compiler/collections/EconomicMap<Ljava/lang/Class<+Lorg/graalvm/compiler/nodes/calc/BinaryNode;>;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
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.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
3: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
bipush 9
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;I)Ljdk/internal/vm/compiler/collections/EconomicMap;
putstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
4: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/AddNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ADD:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
5: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/SubNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.SUB:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/MulNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.MUL:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
7: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/AndNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.AND:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/OrNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.OR:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/XorNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.XOR:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
10: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.SHL:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/RightShiftNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ASHR:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
12: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/UnsignedRightShiftNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.LSHR:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
13: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
iconst_2
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;I)Ljdk/internal/vm/compiler/collections/EconomicMap;
putstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.bitFieldOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
14: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.bitFieldOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/UnsignedRightShiftNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.UBFX:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
15: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.bitFieldOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.UBFIZ:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
16: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
iconst_3
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;I)Ljdk/internal/vm/compiler/collections/EconomicMap;
putstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
17: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/AndNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.BIC:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
18: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/OrNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ORN:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
19: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/XorNode;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.EON:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
20: getstatic jdk.internal.vm.compiler.collections.Equivalence.IDENTITY:Ljdk/internal/vm/compiler/collections/Equivalence;
iconst_3
invokestatic jdk.internal.vm.compiler.collections.EconomicMap.create:(Ljdk/internal/vm/compiler/collections/Equivalence;I)Ljdk/internal/vm/compiler/collections/EconomicMap;
putstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.shiftTypeMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
21: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.shiftTypeMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSL:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
22: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.shiftTypeMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/RightShiftNode;
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.ASR:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.shiftTypeMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
ldc Lorg/graalvm/compiler/nodes/calc/UnsignedRightShiftNode;
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType.LSR:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
24: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.lir.gen.LIRGeneratorTool);
descriptor: (Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.graalvm.compiler.core.gen.NodeMatchRules.<init>:(Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 2 1 gen Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
MethodParameters:
Name Flags
gen
protected org.graalvm.compiler.lir.LIRFrameState getState(org.graalvm.compiler.nodes.memory.MemoryAccess);
descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Lorg/graalvm/compiler/lir/LIRFrameState;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof org.graalvm.compiler.nodes.DeoptimizingNode
ifeq 2
1: aload 0
aload 1
checkcast org.graalvm.compiler.nodes.DeoptimizingNode
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.state:(Lorg/graalvm/compiler/nodes/DeoptimizingNode;)Lorg/graalvm/compiler/lir/LIRFrameState;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 3 1 access Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
MethodParameters:
Name Flags
access
protected jdk.vm.ci.aarch64.AArch64Kind getMemoryKind(org.graalvm.compiler.nodes.memory.MemoryAccess);
descriptor: (Lorg/graalvm/compiler/nodes/memory/MemoryAccess;)Ljdk/vm/ci/aarch64/AArch64Kind;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 1
checkcast org.graalvm.compiler.nodes.ValueNode
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;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
invokevirtual org.graalvm.compiler.core.common.LIRKind.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
checkcast jdk.vm.ci.aarch64.AArch64Kind
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 1 access Lorg/graalvm/compiler/nodes/memory/MemoryAccess;
MethodParameters:
Name Flags
access
private static org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType getZeroExtendType(int);
descriptor: (I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 4
8: 1
16: 2
32: 3
64: 4
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTB:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTH:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.UXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "extended from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "bits is not supported!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 fromBits I
MethodParameters:
Name Flags
fromBits
private static org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType getSignExtendType(int);
descriptor: (I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iload 0
lookupswitch { // 4
8: 1
16: 2
32: 3
64: 4
default: 5
}
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTB:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTH:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTW:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType.SXTX:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
areturn
5: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "extended from "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 0
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "bits is not supported!"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
6: aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 fromBits I
MethodParameters:
Name Flags
fromBits
private jdk.vm.ci.meta.AllocatableValue moveSp(jdk.vm.ci.meta.AllocatableValue);
descriptor: (Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/aarch64/AArch64LIRGenerator;
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64LIRGenerator.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 1 value Ljdk/vm/ci/meta/AllocatableValue;
MethodParameters:
Name Flags
value
private org.graalvm.compiler.core.match.ComplexMatchResult emitBinaryShift(org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.BinaryNode);
descriptor: (Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.shiftTypeMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType
astore 4
start local 4 1: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 4
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 3
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 4
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 5
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
instanceof org.graalvm.compiler.nodes.ConstantNode
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 1
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$0(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
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/core/aarch64/AArch64NodeMatchRules;
0 6 1 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 6 3 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
1 6 4 shiftType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;
MethodParameters:
Name Flags
op
value
shift
private org.graalvm.compiler.core.match.ComplexMatchResult emitBitTestAndBranch(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, double, int);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DI)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: aload 0
aload 1
aload 2
aload 3
dload 4
iload 6
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DI)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$1(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
end local 6 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/core/aarch64/AArch64NodeMatchRules;
0 1 1 trueSuccessor Lorg/graalvm/compiler/nodes/FixedNode;
0 1 2 falseSuccessor Lorg/graalvm/compiler/nodes/FixedNode;
0 1 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 1 4 trueProbability D
0 1 6 nbits I
MethodParameters:
Name Flags
trueSuccessor
falseSuccessor
value
trueProbability
nbits
private org.graalvm.compiler.core.match.ComplexMatchResult emitBitField(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode, org.graalvm.compiler.nodes.ValueNode, int, int);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0002) ACC_PRIVATE
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 1
aload 2
iload 4
iload 5
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;II)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$2(Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;IILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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 3 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 3 1 kind Ljdk/vm/ci/meta/JavaKind;
0 3 2 op Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
0 3 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 3 4 lsb I
0 3 5 width I
MethodParameters:
Name Flags
kind
op
value
lsb
width
private org.graalvm.compiler.core.match.ComplexMatchResult emitUnsignedBitField(jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=14, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.bitFieldOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode
astore 6
start local 6 2: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 3
aload 6
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode
StackMap stack:
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 4: aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 8
start local 8 5: iload 8
aload 7
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 6
bipush 31
goto 7
StackMap locals: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode jdk.vm.ci.meta.JavaKind int
StackMap stack: int
6: bipush 63
StackMap locals: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.nodes.ConstantNode org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode jdk.vm.ci.meta.JavaKind int
StackMap stack: int int
7: iand
istore 9
start local 9 8: aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 10
start local 10 9: lload 10
lconst_1
ladd
invokestatic jdk.vm.ci.code.CodeUtil.isPowerOf2:(J)Z
ifne 11
10: aconst_null
areturn
11: StackMap locals: int long
StackMap stack:
lload 10
lconst_1
ladd
invokestatic jdk.vm.ci.code.CodeUtil.log2:(J)I
istore 12
start local 12 12: aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
istore 13
start local 13 13: iload 12
iload 13
iconst_1
isub
if_icmplt 15
14: aconst_null
areturn
15: StackMap locals: int int
StackMap stack:
iload 12
iload 8
iadd
iload 13
if_icmple 17
16: aconst_null
areturn
17: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 6
aload 3
iload 9
iload 12
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBitField:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
end local 13 end local 12 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 18 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 18 1 kind Ljdk/vm/ci/meta/JavaKind;
0 18 2 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 18 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 18 4 scale Lorg/graalvm/compiler/nodes/ConstantNode;
0 18 5 mask Lorg/graalvm/compiler/nodes/ConstantNode;
2 18 6 op Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
4 18 7 srcKind Ljdk/vm/ci/meta/JavaKind;
5 18 8 distance I
8 18 9 lsb I
9 18 10 maskValue J
12 18 12 width I
13 18 13 srcBits I
MethodParameters:
Name Flags
kind
shift
value
scale
mask
private static boolean isNarrowingLongToInt(org.graalvm.compiler.nodes.calc.NarrowNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getInputBits:()I
bipush 64
if_icmpne 1
aload 0
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getResultBits:()I
bipush 32
if_icmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 narrow Lorg/graalvm/compiler/nodes/calc/NarrowNode;
MethodParameters:
Name Flags
narrow
private org.graalvm.compiler.core.match.ComplexMatchResult emitExtendedAddSubShift(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType, int);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0002) ACC_PRIVATE
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifne 1
aload 1
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 1
aload 4
iload 5
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$3(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;ILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 2 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 2 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 y Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
0 2 5 shiftAmt I
MethodParameters:
Name Flags
op
x
y
extType
shiftAmt
public org.graalvm.compiler.core.match.ComplexMatchResult mergeSignExtendByShiftIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.calc.UnaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 6
start local 6 2: iload 6
iconst_4
if_icmpgt 3
iload 6
ifge 4
3: StackMap locals: int
StackMap stack:
aconst_null
areturn
4: StackMap locals:
StackMap stack:
aload 2
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifeq 7
5: aload 2
checkcast org.graalvm.compiler.nodes.calc.SignExtendNode
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getInputBits:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getSignExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 7
start local 7 6: goto 8
end local 7 7: StackMap locals:
StackMap stack:
aload 2
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getInputBits:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getZeroExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 7
start local 7 8: StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 7
iload 6
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 9 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 9 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 9 2 ext Lorg/graalvm/compiler/nodes/calc/UnaryNode;
0 9 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 9 4 y Lorg/graalvm/compiler/nodes/ValueNode;
0 9 5 lshift Lorg/graalvm/compiler/nodes/ConstantNode;
2 9 6 shiftAmt I
6 7 7 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
8 9 7 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (LeftShift (SignExtend=ext y) Constant=lshift))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (LeftShift (SignExtend=ext y) Constant=lshift))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (LeftShift (ZeroExtend=ext y) Constant=lshift))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (LeftShift (ZeroExtend=ext y) Constant=lshift))")})
MethodParameters:
Name Flags
op
ext
x
y
lshift
public org.graalvm.compiler.core.match.ComplexMatchResult mergeShiftDowncastIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=10, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 6
start local 6 3: aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 7
start local 7 4: iload 6
iconst_4
if_icmpgt 5
iload 6
ifge 6
5: StackMap locals: int long
StackMap stack:
aconst_null
areturn
6: StackMap locals:
StackMap stack:
lload 7
ldc 255
lcmp
ifeq 8
lload 7
ldc 65535
lcmp
ifeq 8
lload 7
ldc 4294967295
lcmp
ifeq 8
7: aconst_null
areturn
8: StackMap locals:
StackMap stack:
lload 7
invokestatic java.lang.Long.toBinaryString:(J)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getZeroExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 9
start local 9 9: aload 0
aload 1
aload 2
aload 3
aload 9
iload 6
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
end local 9 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/core/aarch64/AArch64NodeMatchRules;
0 10 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 10 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 y Lorg/graalvm/compiler/nodes/ValueNode;
0 10 4 constant Lorg/graalvm/compiler/nodes/ConstantNode;
0 10 5 lshift Lorg/graalvm/compiler/nodes/ConstantNode;
3 10 6 shiftAmt I
4 10 7 mask J
9 10 9 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (LeftShift (And y Constant=constant) Constant=lshift))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (LeftShift (And y Constant=constant) Constant=lshift))")})
MethodParameters:
Name Flags
op
x
y
constant
lshift
public org.graalvm.compiler.core.match.ComplexMatchResult mergePairShiftIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 5
start local 5 2: iload 5
bipush 16
if_icmpeq 4
iload 5
bipush 24
if_icmpeq 4
iload 5
bipush 32
if_icmpeq 4
iload 5
bipush 48
if_icmpeq 4
iload 5
bipush 56
if_icmpeq 4
3: aconst_null
areturn
4: StackMap locals: int
StackMap stack:
iload 5
bipush 32
if_icmplt 5
bipush 64
iload 5
isub
goto 6
StackMap locals:
StackMap stack:
5: bipush 32
iload 5
isub
StackMap locals:
StackMap stack: int
6: istore 6
start local 6 7: aload 0
aload 1
aload 2
aload 3
iload 6
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getSignExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
iconst_0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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/core/aarch64/AArch64NodeMatchRules;
0 8 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 8 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 8 3 y Lorg/graalvm/compiler/nodes/ValueNode;
0 8 4 shiftConst Lorg/graalvm/compiler/nodes/ConstantNode;
2 8 5 shift I
7 8 6 extractBits I
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (RightShift (LeftShift y Constant=shiftConst) Constant=shiftConst))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (RightShift (LeftShift y Constant=shiftConst) Constant=shiftConst))")})
MethodParameters:
Name Flags
op
x
y
shiftConst
public org.graalvm.compiler.core.match.ComplexMatchResult mergeShiftedPairShiftIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 6
start local 6 2: aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 7
start local 7 3: iload 7
iconst_4
if_icmpgt 4
iload 7
ifge 5
4: StackMap locals: int int
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
iload 6
bipush 16
if_icmpeq 7
iload 6
bipush 24
if_icmpeq 7
iload 6
bipush 32
if_icmpeq 7
iload 6
bipush 48
if_icmpeq 7
iload 6
bipush 56
if_icmpeq 7
6: aconst_null
areturn
7: StackMap locals:
StackMap stack:
iload 6
bipush 32
if_icmplt 8
bipush 64
iload 6
isub
goto 9
StackMap locals:
StackMap stack:
8: bipush 32
iload 6
isub
StackMap locals:
StackMap stack: int
9: istore 8
start local 8 10: aload 0
aload 1
aload 2
aload 3
iload 8
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getSignExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
iload 7
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 11 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 11 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 11 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 11 3 y Lorg/graalvm/compiler/nodes/ValueNode;
0 11 4 shiftConst Lorg/graalvm/compiler/nodes/ConstantNode;
0 11 5 lshift Lorg/graalvm/compiler/nodes/ConstantNode;
2 11 6 shift I
3 11 7 shiftAmt I
10 11 8 extractBits I
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (LeftShift (RightShift (LeftShift y Constant=shiftConst) Constant=shiftConst) Constant=lshift))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (LeftShift (RightShift (LeftShift y Constant=shiftConst) Constant=shiftConst) Constant=lshift))")})
MethodParameters:
Name Flags
op
x
y
shiftConst
lshift
public org.graalvm.compiler.core.match.ComplexMatchResult extendedPointerAddShift(org.graalvm.compiler.core.aarch64.AArch64PointerAddNode);
descriptor: (Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64PointerAddNode.getOffset:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 2
start local 2 1: aload 2
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifeq 5
2: aload 2
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 3
start local 3 3: iconst_0
istore 4
start local 4 4: goto 8
end local 4 end local 3 5: StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 2
checkcast org.graalvm.compiler.nodes.calc.LeftShiftNode
astore 5
start local 5 6: aload 5
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 3
start local 3 7: aload 5
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 4
end local 5 start local 4 8: StackMap locals: org.graalvm.compiler.nodes.calc.ZeroExtendNode int
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getInputBits:()I
istore 5
start local 5 9: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getResultBits:()I
istore 6
start local 6 10: iload 6
bipush 64
if_icmpeq 12
11: aconst_null
areturn
12: StackMap locals: int int
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 13
iload 5
iload 6
if_icmple 13
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
13: StackMap locals:
StackMap stack:
iload 5
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getZeroExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 7
start local 7 14: iload 4
iflt 17
iload 4
iconst_4
if_icmpgt 17
15: aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64PointerAddNode.getBase:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 16: aload 0
aload 8
aload 3
aload 1
aload 7
iload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$4(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;ILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
end local 8 17: StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
StackMap stack:
aconst_null
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 18 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 18 1 addP Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;
1 18 2 offset Lorg/graalvm/compiler/nodes/ValueNode;
3 5 3 zeroExtend Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
7 18 3 zeroExtend Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
4 5 4 shiftNum I
8 18 4 shiftNum I
6 8 5 shift Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
9 18 5 fromBits I
10 18 6 toBits I
14 18 7 extendType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
16 17 8 base Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(AArch64PointerAdd=addP base ZeroExtend)"), org.graalvm.compiler.core.match.MatchRule(value = "(AArch64PointerAdd=addP base (LeftShift ZeroExtend Constant))")})
MethodParameters:
Name Flags
addP
public org.graalvm.compiler.core.match.ComplexMatchResult unsignedBitField(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 1: aload 0
aload 5
aload 1
aload 2
aload 3
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitUnsignedBitField:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 2 1 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 2 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 2 3 a Lorg/graalvm/compiler/nodes/ConstantNode;
0 2 4 b Lorg/graalvm/compiler/nodes/ConstantNode;
1 2 5 kind Ljdk/vm/ci/meta/JavaKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(And (UnsignedRightShift=shift value Constant=a) Constant=b)"), org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=shift (And value Constant=b) Constant=a)")})
MethodParameters:
Name Flags
shift
value
a
b
public org.graalvm.compiler.core.match.ComplexMatchResult unsignedExtBitField(org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, 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
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 1: aload 0
aload 6
aload 2
aload 3
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitUnsignedBitField:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 2 1 extend Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
0 2 2 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 2 3 value Lorg/graalvm/compiler/nodes/ValueNode;
0 2 4 a Lorg/graalvm/compiler/nodes/ConstantNode;
0 2 5 b Lorg/graalvm/compiler/nodes/ConstantNode;
1 2 6 kind Ljdk/vm/ci/meta/JavaKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=shift (ZeroExtend=extend (And value Constant=b)) Constant=a)"), org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend=extend (And (UnsignedRightShift=shift value Constant=a) Constant=b))"), org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend=extend (LeftShift=shift (And value Constant=b) Constant=a))")})
MethodParameters:
Name Flags
extend
shift
value
a
b
public org.graalvm.compiler.core.match.ComplexMatchResult signedBitField(org.graalvm.compiler.nodes.calc.LeftShiftNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 2
start local 2 1: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.calc.SignExtendNode
astore 3
start local 3 3: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getInputBits:()I
istore 4
start local 4 4: aload 3
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getResultBits:()I
istore 5
start local 5 5: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 6
aload 2
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
iload 5
if_icmpeq 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals: org.graalvm.compiler.nodes.calc.SignExtendNode int int
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iload 5
iconst_1
isub
iand
istore 6
start local 6 7: iload 4
iload 5
iload 6
isub
invokestatic java.lang.Math.min:(II)I
istore 7
start local 7 8: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 10
iload 7
iconst_1
if_icmplt 9
iload 7
iload 5
iload 6
isub
if_icmple 10
StackMap locals: int int
StackMap stack:
9: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
10: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 8
start local 8 11: aload 0
aload 2
getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.SBFIZ:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
aload 8
iload 6
iload 7
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBitField:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 12 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 12 1 shift Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
1 12 2 kind Ljdk/vm/ci/meta/JavaKind;
3 12 3 extend Lorg/graalvm/compiler/nodes/calc/SignExtendNode;
4 12 4 srcBits I
5 12 5 resultBits I
7 12 6 lsb I
8 12 7 width I
11 12 8 value Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=shift (SignExtend value) Constant)")
MethodParameters:
Name Flags
shift
public org.graalvm.compiler.core.match.ComplexMatchResult bitFieldMove(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.calc.LeftShiftNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 3
start local 3 1: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 3
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
istore 4
start local 4 3: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iload 4
iconst_1
isub
iand
istore 5
start local 5 4: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
iload 4
iconst_1
isub
iand
istore 6
start local 6 5: iload 5
iload 6
isub
invokestatic java.lang.Math.abs:(I)I
istore 7
start local 7 6: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 8
iload 7
iflt 7
iload 7
iload 4
iconst_1
isub
if_icmple 8
StackMap locals: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.calc.LeftShiftNode jdk.vm.ci.meta.JavaKind int int int int
StackMap stack:
7: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
iload 4
iload 5
iload 6
invokestatic java.lang.Math.max:(II)I
isub
istore 8
start local 8 9: iload 8
iload 4
iload 7
isub
if_icmpgt 10
iload 8
iconst_1
if_icmpge 11
10: StackMap locals: int
StackMap stack:
aconst_null
areturn
11: StackMap locals:
StackMap stack:
iload 5
iload 6
if_icmple 12
iconst_1
goto 13
StackMap locals:
StackMap stack:
12: iconst_0
StackMap locals:
StackMap stack: int
13: istore 9
start local 9 14: aload 1
instanceof org.graalvm.compiler.nodes.calc.RightShiftNode
ifeq 19
15: iload 9
ifeq 16
getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.SBFIZ:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
goto 17
StackMap locals: int
StackMap stack:
16: getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.SBFX:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode
17: astore 10
start local 10 18: goto 23
end local 10 19: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 20
aload 1
instanceof org.graalvm.compiler.nodes.calc.UnsignedRightShiftNode
ifne 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals:
StackMap stack:
iload 9
ifeq 21
getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.UBFIZ:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
goto 22
StackMap locals:
StackMap stack:
21: getstatic org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode.UBFX:Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode
22: astore 10
start local 10 23: StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode
StackMap stack:
aload 0
aload 3
aload 10
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.LeftShiftNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
iload 7
iload 8
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBitField:(Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;Lorg/graalvm/compiler/nodes/ValueNode;II)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 24 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 24 1 rshift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 24 2 lshift Lorg/graalvm/compiler/nodes/calc/LeftShiftNode;
1 24 3 srcKind Ljdk/vm/ci/meta/JavaKind;
3 24 4 srcBits I
4 24 5 lshiftNum I
5 24 6 rshiftNum I
6 24 7 lsb I
9 24 8 width I
14 24 9 bitFieldInsert Z
18 19 10 op Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
23 24 10 op Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(RightShift=rshift (LeftShift=lshift value Constant) Constant)"), org.graalvm.compiler.core.match.MatchRule(value = "(UnsignedRightShift=rshift (LeftShift=lshift value Constant) Constant)")})
MethodParameters:
Name Flags
rshift
lshift
public org.graalvm.compiler.core.match.ComplexMatchResult rotationConstant(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
bipush 32
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 3
aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
bipush 32
if_icmpeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 6
start local 6 4: aload 5
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 7
start local 7 5: aload 1
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 7
iload 6
ifeq 6
iload 7
ifne 7
6: StackMap locals: int int
StackMap stack:
aconst_null
areturn
7: StackMap locals:
StackMap stack:
iload 6
iload 7
iadd
ifeq 8
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
iload 6
iload 7
iadd
if_icmpne 9
8: StackMap locals:
StackMap stack:
aload 0
aload 3
aload 2
aload 5
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$5(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
9: StackMap locals:
StackMap stack:
aconst_null
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 10 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 10 1 op Lorg/graalvm/compiler/nodes/ValueNode;
0 10 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 src Lorg/graalvm/compiler/nodes/ValueNode;
0 10 4 shiftAmt1 Lorg/graalvm/compiler/nodes/ConstantNode;
0 10 5 shiftAmt2 Lorg/graalvm/compiler/nodes/ConstantNode;
4 10 6 shift1 I
5 10 7 shift2 I
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Or=op (LeftShift=x src Constant=shiftAmt1) (UnsignedRightShift src Constant=shiftAmt2))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=op (UnsignedRightShift=x src Constant=shiftAmt1) (LeftShift src Constant=shiftAmt2))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=op (LeftShift=x src Constant=shiftAmt1) (UnsignedRightShift src Constant=shiftAmt2))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=op (UnsignedRightShift=x src Constant=shiftAmt1) (LeftShift src Constant=shiftAmt2))")})
MethodParameters:
Name Flags
op
x
src
shiftAmt1
shiftAmt2
public org.graalvm.compiler.core.match.ComplexMatchResult rotationExpander(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
bipush 32
if_icmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 4
instanceof org.graalvm.compiler.nodes.calc.SubNode
ifne 3
aload 4
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 9
3: StackMap locals:
StackMap stack:
aload 4
checkcast org.graalvm.compiler.nodes.calc.BinaryNode
astore 5
start local 5 4: aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
instanceof org.graalvm.compiler.nodes.ConstantNode
ifeq 5
aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 6
StackMap locals: org.graalvm.compiler.nodes.calc.BinaryNode
StackMap stack:
5: aload 5
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
6: checkcast org.graalvm.compiler.nodes.ConstantNode
astore 6
start local 6 7: aload 6
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
if_icmpeq 9
8: aconst_null
areturn
end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 4
aload 3
aload 2
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$6(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
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/core/aarch64/AArch64NodeMatchRules;
0 10 1 src Lorg/graalvm/compiler/nodes/ValueNode;
0 10 2 shiftAmount Lorg/graalvm/compiler/nodes/ValueNode;
0 10 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 10 4 y Lorg/graalvm/compiler/nodes/ValueNode;
4 9 5 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
7 9 6 delta Lorg/graalvm/compiler/nodes/ConstantNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift=x src shiftAmount) (UnsignedRightShift src (Sub=y Constant shiftAmount)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or (UnsignedRightShift=x src shiftAmount) (LeftShift src (Sub=y Constant shiftAmount)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift=x src (Negate shiftAmount)) (UnsignedRightShift src (Add=y Constant shiftAmount)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or (UnsignedRightShift=x src (Negate shiftAmount)) (LeftShift src (Add=y Constant shiftAmount)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or (LeftShift=x src shiftAmount) (UnsignedRightShift src (Negate=y shiftAmount)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or (UnsignedRightShift=x src shiftAmount) (LeftShift src (Negate=y shiftAmount)))")})
MethodParameters:
Name Flags
src
shiftAmount
x
y
public org.graalvm.compiler.core.match.ComplexMatchResult addSubShift(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.BinaryNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 4
start local 4 1: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 4
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
StackMap stack:
aload 0
aload 4
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBinaryShift:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
end local 4 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/core/aarch64/AArch64NodeMatchRules;
0 3 1 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 3 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 3 3 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
1 3 4 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary a (LeftShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary a (RightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary a (UnsignedRightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary a (LeftShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary a (RightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary a (UnsignedRightShift=shift b Constant))")})
MethodParameters:
Name Flags
binary
a
shift
public org.graalvm.compiler.core.match.ComplexMatchResult logicShift(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.BinaryNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 2
StackMap locals:
StackMap stack:
1: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
2: astore 5
start local 5 3: aload 5
instanceof org.graalvm.compiler.nodes.calc.NotNode
ifeq 6
4: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 4
start local 4 5: goto 7
end local 4 6: StackMap locals: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.BinaryNode top org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 4
start local 4 7: StackMap locals: org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.calc.BinaryNode org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp org.graalvm.compiler.nodes.ValueNode
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 8
aload 4
ifnonnull 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals:
StackMap stack:
aload 0
aload 4
aload 2
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBinaryShift:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 9 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 9 1 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 9 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 9 3 shift Lorg/graalvm/compiler/nodes/calc/BinaryNode;
5 6 4 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
7 9 4 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
3 9 5 operand Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (LeftShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (RightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (UnsignedRightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (LeftShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (RightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (UnsignedRightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (LeftShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (RightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (UnsignedRightShift=shift b Constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (Not (LeftShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (Not (RightShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (Not (UnsignedRightShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (Not (LeftShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (Not (RightShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (Not (UnsignedRightShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (Not (LeftShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (Not (RightShift=shift b Constant)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (Not (UnsignedRightShift=shift b Constant)))")})
MethodParameters:
Name Flags
binary
a
shift
public org.graalvm.compiler.core.match.ComplexMatchResult bitwiseLogicNot(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.calc.NotNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/calc/NotNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.logicalNotOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 3
start local 3 2: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 3
aload 3
ifnonnull 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 4
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 5
StackMap locals:
StackMap stack:
4: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
5: astore 4
start local 4 6: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.NotNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 7: aload 0
aload 4
aload 5
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$7(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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/core/aarch64/AArch64NodeMatchRules;
0 8 1 logic Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 8 2 not Lorg/graalvm/compiler/nodes/calc/NotNode;
2 8 3 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
6 8 4 src1 Lorg/graalvm/compiler/nodes/ValueNode;
7 8 5 src2 Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(And=logic value1 (Not=not value2))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=logic value1 (Not=not value2))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=logic value1 (Not=not value2))")})
MethodParameters:
Name Flags
logic
not
public org.graalvm.compiler.core.match.ComplexMatchResult bitwiseNotXor(org.graalvm.compiler.nodes.calc.NotNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/NotNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.NotNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
aload 1
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/calc/NotNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$8(Lorg/graalvm/compiler/nodes/calc/NotNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 2 1 not Lorg/graalvm/compiler/nodes/calc/NotNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(Not=not (Xor value1 value2))")
MethodParameters:
Name Flags
not
public org.graalvm.compiler.core.match.ComplexMatchResult signedMultiplyAddSubLong(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Long:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 4
3: aload 0
aload 2
aload 3
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$9(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
4: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$10(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
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/core/aarch64/AArch64NodeMatchRules;
0 5 1 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 5 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 5 3 b Lorg/graalvm/compiler/nodes/ValueNode;
0 5 4 c Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary (Mul (SignExtend a) (SignExtend b)) c)"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary c (Mul (SignExtend a) (SignExtend b)))")})
MethodParameters:
Name Flags
binary
a
b
c
public org.graalvm.compiler.core.match.ComplexMatchResult signedMultiplyNegLong(org.graalvm.compiler.nodes.calc.MulNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/MulNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
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 4
start local 4 3: aload 0
aload 4
aload 2
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$11(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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/core/aarch64/AArch64NodeMatchRules;
0 4 1 mul Lorg/graalvm/compiler/nodes/calc/MulNode;
0 4 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 b Lorg/graalvm/compiler/nodes/ValueNode;
3 4 4 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Negate (Mul=mul (SignExtend a) (SignExtend b)))"), org.graalvm.compiler.core.match.MatchRule(value = "(Mul=mul (Negate (SignExtend a)) (SignExtend b))")})
MethodParameters:
Name Flags
mul
a
b
public org.graalvm.compiler.core.match.ComplexMatchResult signedMultiplyLong(org.graalvm.compiler.nodes.calc.MulNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/MulNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
if_acmpeq 2
StackMap locals:
StackMap stack:
1: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.MulNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
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 4
start local 4 3: aload 0
aload 4
aload 2
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$12(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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/core/aarch64/AArch64NodeMatchRules;
0 4 1 mul Lorg/graalvm/compiler/nodes/calc/MulNode;
0 4 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 4 3 b Lorg/graalvm/compiler/nodes/ValueNode;
3 4 4 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(Mul=mul (SignExtend a) (SignExtend b))")
MethodParameters:
Name Flags
mul
a
b
public org.graalvm.compiler.core.match.ComplexMatchResult elideL2IForBinary(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.calc.NarrowNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=12, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
astore 3
start local 3 2: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
aload 2
if_acmpne 3
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 4
StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
3: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
4: astore 4
start local 4 5: aload 3
checkcast org.graalvm.compiler.nodes.calc.NarrowNode
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.isNarrowingLongToInt:(Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Z
istore 5
start local 5 6: aload 4
instanceof org.graalvm.compiler.nodes.calc.NarrowNode
ifeq 7
aload 4
checkcast org.graalvm.compiler.nodes.calc.NarrowNode
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.isNarrowingLongToInt:(Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Z
ifeq 7
iconst_1
goto 8
StackMap locals: org.graalvm.compiler.nodes.ValueNode int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 6
start local 6 9: iload 5
ifne 11
iload 6
ifne 11
10: aconst_null
areturn
11: StackMap locals: int
StackMap stack:
iload 5
ifeq 12
aload 3
checkcast org.graalvm.compiler.nodes.calc.NarrowNode
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 13
StackMap locals:
StackMap stack:
12: aload 3
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
13: astore 7
start local 7 14: iload 6
ifeq 15
aload 4
checkcast org.graalvm.compiler.nodes.calc.NarrowNode
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
goto 16
StackMap locals: org.graalvm.compiler.nodes.ValueNode
StackMap stack:
15: aload 4
StackMap locals:
StackMap stack: org.graalvm.compiler.nodes.ValueNode
16: astore 8
start local 8 17: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.binaryOpMap:Ljdk/internal/vm/compiler/collections/EconomicMap;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokeinterface jdk.internal.vm.compiler.collections.EconomicMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 9
start local 9 18: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 19
aload 9
ifnonnull 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals: org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
StackMap stack:
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getNodeClass:()Lorg/graalvm/compiler/graph/NodeClass;
invokevirtual org.graalvm.compiler.graph.NodeClass.isCommutative:()Z
istore 10
start local 10 20: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
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 11
start local 11 21: aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
if_acmpne 23
22: aload 0
aload 11
aload 9
iload 10
aload 7
aload 8
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$13(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
23: StackMap locals: int org.graalvm.compiler.core.common.LIRKind
StackMap stack:
aload 0
aload 11
aload 9
iload 10
aload 8
aload 7
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$14(Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
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 24 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 24 1 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 24 2 narrow Lorg/graalvm/compiler/nodes/calc/NarrowNode;
2 24 3 a Lorg/graalvm/compiler/nodes/ValueNode;
5 24 4 b Lorg/graalvm/compiler/nodes/ValueNode;
6 24 5 isL2Ia Z
9 24 6 isL2Ib Z
14 24 7 src1 Lorg/graalvm/compiler/nodes/ValueNode;
17 24 8 src2 Lorg/graalvm/compiler/nodes/ValueNode;
18 24 9 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
20 24 10 commutative Z
21 24 11 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Mul=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(RightShift=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(UnsignedRightShift=binary (Narrow=narrow a) (Narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Mul=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(And=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Or=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Xor=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(RightShift=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(UnsignedRightShift=binary a (Narrow=narrow b))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary (Narrow=narrow a) b)"), org.graalvm.compiler.core.match.MatchRule(value = "(LeftShift=binary (Narrow=narrow a) b)"), org.graalvm.compiler.core.match.MatchRule(value = "(RightShift=binary (Narrow=narrow a) b)"), org.graalvm.compiler.core.match.MatchRule(value = "(UnsignedRightShift=binary (Narrow=narrow a) b)")})
MethodParameters:
Name Flags
binary
narrow
public org.graalvm.compiler.core.match.ComplexMatchResult mergeDowncastIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 5
start local 5 2: lload 5
ldc 255
lcmp
ifeq 4
lload 5
ldc 65535
lcmp
ifeq 4
lload 5
ldc 4294967295
lcmp
ifeq 4
3: aconst_null
areturn
4: StackMap locals: long
StackMap stack:
lload 5
invokestatic java.lang.Long.toBinaryString:(J)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getZeroExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 7
start local 7 5: aload 0
aload 1
aload 2
aload 3
aload 7
iconst_0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
end local 7 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/core/aarch64/AArch64NodeMatchRules;
0 6 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 6 2 x Lorg/graalvm/compiler/nodes/ValueNode;
0 6 3 y Lorg/graalvm/compiler/nodes/ValueNode;
0 6 4 constant Lorg/graalvm/compiler/nodes/ConstantNode;
2 6 5 mask J
5 6 7 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (And y Constant=constant))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (And y Constant=constant))")})
MethodParameters:
Name Flags
op
x
y
constant
public org.graalvm.compiler.core.match.ComplexMatchResult mergeSignExtendIntoAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.calc.UnaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifeq 3
1: aload 2
checkcast org.graalvm.compiler.nodes.calc.SignExtendNode
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getInputBits:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getSignExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 5
start local 5 2: goto 4
end local 5 3: StackMap locals:
StackMap stack:
aload 2
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getInputBits:()I
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getZeroExtendType:(I)Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
astore 5
start local 5 4: StackMap locals: org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType
StackMap stack:
aload 0
aload 1
aload 3
aload 4
aload 5
iconst_0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitExtendedAddSubShift:(Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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 5 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 5 1 op Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 5 2 ext Lorg/graalvm/compiler/nodes/calc/UnaryNode;
0 5 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 5 4 y Lorg/graalvm/compiler/nodes/ValueNode;
2 3 5 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
4 5 5 extType Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (SignExtend=ext y))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (SignExtend=ext y))"), org.graalvm.compiler.core.match.MatchRule(value = "(Add=op x (ZeroExtend=ext y))"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=op x (ZeroExtend=ext y))")})
MethodParameters:
Name Flags
op
ext
x
y
public org.graalvm.compiler.core.match.ComplexMatchResult elideL2IForUnary(org.graalvm.compiler.nodes.calc.UnaryNode, org.graalvm.compiler.nodes.calc.NarrowNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.isNarrowingLongToInt:(Lorg/graalvm/compiler/nodes/calc/NarrowNode;)Z
ifne 3
2: aconst_null
areturn
3: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.NegateNode
ifeq 4
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.NEG:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
goto 5
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.NOT:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
5: StackMap locals:
StackMap stack: org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
astore 3
start local 3 6: aload 0
aload 2
aload 1
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$15(Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
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/AArch64NodeMatchRules;
0 7 1 unary Lorg/graalvm/compiler/nodes/calc/UnaryNode;
0 7 2 narrow Lorg/graalvm/compiler/nodes/calc/NarrowNode;
6 7 3 op Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Negate=unary (Narrow=narrow value))"), org.graalvm.compiler.core.match.MatchRule(value = "(Not=unary (Narrow=narrow value))")})
MethodParameters:
Name Flags
unary
narrow
public org.graalvm.compiler.core.match.ComplexMatchResult multiplyNegate(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 2
aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 2
1: aload 0
aload 1
aload 2
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$16(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 3 1 a Lorg/graalvm/compiler/nodes/ValueNode;
0 3 2 b Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Mul (Negate a) b)"), org.graalvm.compiler.core.match.MatchRule(value = "(Negate (Mul a b))")})
MethodParameters:
Name Flags
a
b
public org.graalvm.compiler.core.match.ComplexMatchResult multiplyAddSub(org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, 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.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 1: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 6
start local 6 2: aload 4
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 3: aload 5
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 4
aload 6
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 4
aload 7
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 5
4: StackMap locals: jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind jdk.vm.ci.meta.JavaKind
StackMap stack:
aconst_null
areturn
5: StackMap locals:
StackMap stack:
aload 1
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 7
6: aload 0
aload 2
aload 3
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$17(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
7: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 3
aload 4
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$18(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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 8 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 8 1 binary Lorg/graalvm/compiler/nodes/calc/BinaryNode;
0 8 2 a Lorg/graalvm/compiler/nodes/ValueNode;
0 8 3 b Lorg/graalvm/compiler/nodes/ValueNode;
0 8 4 c Lorg/graalvm/compiler/nodes/ValueNode;
1 8 5 kindA Ljdk/vm/ci/meta/JavaKind;
2 8 6 kindB Ljdk/vm/ci/meta/JavaKind;
3 8 7 kindC Ljdk/vm/ci/meta/JavaKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(Add=binary (Mul a b) c)"), org.graalvm.compiler.core.match.MatchRule(value = "(Sub=binary c (Mul a b))")})
MethodParameters:
Name Flags
binary
a
b
c
public org.graalvm.compiler.core.match.ComplexMatchResult testBitAndBranch(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifeq 6
1: aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 4
start local 4 2: lload 4
invokestatic java.lang.Long.bitCount:(J)I
iconst_1
if_icmpne 6
3: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 2
4: aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.getTrueSuccessorProbability:()D
lload 4
invokestatic java.lang.Long.numberOfTrailingZeros:(J)I
5: invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBitTestAndBranch:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DI)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
end local 4 6: 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 7 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 7 1 root Lorg/graalvm/compiler/nodes/IfNode;
0 7 2 value Lorg/graalvm/compiler/nodes/ValueNode;
0 7 3 a Lorg/graalvm/compiler/nodes/ConstantNode;
2 6 4 constant J
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerTest value Constant=a))")
MethodParameters:
Name Flags
root
value
a
public org.graalvm.compiler.core.match.ComplexMatchResult checkNegativeAndBranch(org.graalvm.compiler.nodes.IfNode, org.graalvm.compiler.nodes.calc.IntegerLessThanNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode);
descriptor: (Lorg/graalvm/compiler/nodes/IfNode;Lorg/graalvm/compiler/nodes/calc/IntegerLessThanNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
astore 5
start local 5 1: getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 2
aload 5
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericInteger:()Z
ifne 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: jdk.vm.ci.meta.JavaKind
StackMap stack:
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.isJavaConstant:()Z
ifeq 6
lconst_0
aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lcmp
ifne 6
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.IntegerLessThanNode.condition:()Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
getstatic org.graalvm.compiler.core.common.calc.CanonicalCondition.LT:Lorg/graalvm/compiler/core/common/calc/CanonicalCondition;
invokevirtual org.graalvm.compiler.core.common.calc.CanonicalCondition.equals:(Ljava/lang/Object;)Z
ifeq 6
3: aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.falseSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.trueSuccessor:()Lorg/graalvm/compiler/nodes/AbstractBeginNode;
aload 3
4: dconst_1
aload 1
invokevirtual org.graalvm.compiler.nodes.IfNode.getTrueSuccessorProbability:()D
dsub
aload 5
invokevirtual jdk.vm.ci.meta.JavaKind.getBitCount:()I
iconst_1
isub
5: invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.emitBitTestAndBranch:(Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DI)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
areturn
6: StackMap locals:
StackMap stack:
aconst_null
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 7 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 7 1 root Lorg/graalvm/compiler/nodes/IfNode;
0 7 2 lessNode Lorg/graalvm/compiler/nodes/calc/IntegerLessThanNode;
0 7 3 x Lorg/graalvm/compiler/nodes/ValueNode;
0 7 4 y Lorg/graalvm/compiler/nodes/ConstantNode;
1 7 5 xKind Ljdk/vm/ci/meta/JavaKind;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(If (IntegerLessThan=lessNode x Constant=y))")
MethodParameters:
Name Flags
root
lessNode
x
y
public org.graalvm.compiler.core.match.ComplexMatchResult floatSqrt(org.graalvm.compiler.nodes.calc.FloatConvertNode, org.graalvm.compiler.nodes.calc.FloatConvertNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
invokevirtual org.graalvm.compiler.nodes.ValueNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifeq 3
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.FloatConvertNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.isNumericFloat:()Z
ifeq 3
1: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.FloatConvertNode.getFloatConvert:()Lorg/graalvm/compiler/core/common/calc/FloatConvert;
getstatic org.graalvm.compiler.core.common.calc.FloatConvert.D2F:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
if_acmpne 3
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.FloatConvertNode.getFloatConvert:()Lorg/graalvm/compiler/core/common/calc/FloatConvert;
getstatic org.graalvm.compiler.core.common.calc.FloatConvert.F2D:Lorg/graalvm/compiler/core/common/calc/FloatConvert;
if_acmpne 3
2: aload 0
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$19(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
3: 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 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 1 a Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;
0 4 2 b Lorg/graalvm/compiler/nodes/calc/FloatConvertNode;
0 4 3 c Lorg/graalvm/compiler/nodes/ValueNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRule(value = "(FloatConvert=a (Sqrt (FloatConvert=b c)))")
MethodParameters:
Name Flags
a
b
c
public org.graalvm.compiler.core.match.ComplexMatchResult mergeNarrowExtend(org.graalvm.compiler.nodes.calc.UnaryNode, org.graalvm.compiler.nodes.ValueNode);
descriptor: (Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/nodes/ValueNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof org.graalvm.compiler.nodes.calc.SignExtendNode
ifeq 3
1: aload 1
checkcast org.graalvm.compiler.nodes.calc.SignExtendNode
astore 3
start local 3 2: aload 0
aload 2
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/SignExtendNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$20(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/SignExtendNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
areturn
end local 3 3: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.$assertionsDisabled:Z
ifne 4
aload 1
instanceof org.graalvm.compiler.nodes.calc.ZeroExtendNode
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 1
checkcast org.graalvm.compiler.nodes.calc.ZeroExtendNode
astore 3
start local 3 5: aload 0
aload 2
aload 3
invokedynamic evaluate(Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;)Lorg/graalvm/compiler/core/match/ComplexMatchResult;
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:
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
org/graalvm/compiler/core/aarch64/AArch64NodeMatchRules.lambda$21(Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value; (7)
(Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
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/core/aarch64/AArch64NodeMatchRules;
0 6 1 extend Lorg/graalvm/compiler/nodes/calc/UnaryNode;
0 6 2 value Lorg/graalvm/compiler/nodes/ValueNode;
2 3 3 sxt Lorg/graalvm/compiler/nodes/calc/SignExtendNode;
5 6 3 zxt Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchRules(value = {org.graalvm.compiler.core.match.MatchRule(value = "(SignExtend=extend (Narrow value))"), org.graalvm.compiler.core.match.MatchRule(value = "(ZeroExtend=extend (Narrow value))")})
MethodParameters:
Name Flags
extend
value
public org.graalvm.compiler.core.aarch64.AArch64LIRGenerator getLIRGeneratorTool();
descriptor: ()Lorg/graalvm/compiler/core/aarch64/AArch64LIRGenerator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
checkcast org.graalvm.compiler.core.aarch64.AArch64LIRGenerator
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
protected org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator getArithmeticLIRGenerator();
descriptor: ()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/aarch64/AArch64LIRGenerator;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64LIRGenerator.getArithmetic:()Lorg/graalvm/compiler/lir/gen/ArithmeticLIRGeneratorTool;
checkcast org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
public org.graalvm.compiler.lir.gen.LIRGeneratorTool getLIRGeneratorTool();
descriptor: ()Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getLIRGeneratorTool:()Lorg/graalvm/compiler/core/aarch64/AArch64LIRGenerator;
areturn
LocalVariableTable:
Start End Slot Name Signature
private jdk.vm.ci.meta.Value lambda$0(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=12, args_size=6
start local 0 start local 5 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 6
start local 6 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 2: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 7
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 8
start local 8 3: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 6
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 9
start local 9 4: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 7
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 10
start local 10 5: aload 2
invokevirtual org.graalvm.compiler.nodes.calc.BinaryNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.nodes.ValueNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asInt:()I
istore 11
start local 11 6: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$BinaryShiftOp
dup
aload 3
aload 8
aload 9
aload 10
aload 4
iload 11
invokespecial org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$BinaryShiftOp.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ShiftType;I)V
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: aload 8
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 8 5 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 8 6 a Ljdk/vm/ci/meta/Value;
2 8 7 b Ljdk/vm/ci/meta/Value;
3 8 8 result Lorg/graalvm/compiler/lir/Variable;
4 8 9 x Ljdk/vm/ci/meta/AllocatableValue;
5 8 10 y Ljdk/vm/ci/meta/AllocatableValue;
6 8 11 shiftAmount I
private jdk.vm.ci.meta.Value lambda$1(org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.FixedNode, org.graalvm.compiler.nodes.ValueNode, double, int, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/nodes/ValueNode;DILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=11, args_size=7
start local 0 start local 7 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 8
start local 8 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getLIRBlock:(Lorg/graalvm/compiler/nodes/FixedNode;)Lorg/graalvm/compiler/lir/LabelRef;
astore 9
start local 9 2: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 10
start local 10 3: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp
dup
aload 8
aload 9
aload 10
4: dload 4
iload 6
invokespecial org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp.<init>:(Lorg/graalvm/compiler/lir/LabelRef;Lorg/graalvm/compiler/lir/LabelRef;Ljdk/vm/ci/meta/AllocatableValue;DI)V
5: invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
6: aconst_null
areturn
end local 10 end local 9 end local 8 end local 7 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 7 7 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 7 8 trueDestination Lorg/graalvm/compiler/lir/LabelRef;
2 7 9 falseDestination Lorg/graalvm/compiler/lir/LabelRef;
3 7 10 src Ljdk/vm/ci/meta/AllocatableValue;
private jdk.vm.ci.meta.Value lambda$2(org.graalvm.compiler.nodes.ValueNode, jdk.vm.ci.meta.JavaKind, org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode, int, int, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Ljdk/vm/ci/meta/JavaKind;Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;IILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=8, locals=11, args_size=7
start local 0 start local 6 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 7
start local 7 1: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 2
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 8
start local 8 2: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 8
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 9
start local 9 3: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 7
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 10
start local 10 4: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp
dup
aload 3
aload 9
aload 10
iload 4
iload 5
invokespecial org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64BitFieldOp$BitFieldOpCode;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;II)V
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
5: aload 9
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 6 6 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 6 7 a Ljdk/vm/ci/meta/Value;
2 6 8 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
3 6 9 result Lorg/graalvm/compiler/lir/Variable;
4 6 10 src Ljdk/vm/ci/meta/AllocatableValue;
private jdk.vm.ci.meta.Value lambda$3(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.BinaryNode, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType, int, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/BinaryNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;ILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=11, args_size=7
start local 0 start local 6 0: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 7
start local 7 1: aload 0
aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 8
start local 8 2: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aastore
dup
iconst_1
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 9
start local 9 3: aload 3
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 4
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ADD:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
goto 5
StackMap locals: jdk.vm.ci.meta.AllocatableValue jdk.vm.ci.meta.AllocatableValue org.graalvm.compiler.lir.Variable
StackMap stack:
4: getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.SUB:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
StackMap locals:
StackMap stack: org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
5: astore 10
start local 10 6: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
dup
aload 10
aload 9
aload 7
aload 8
aload 4
iload 5
invokespecial org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
7: aload 9
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 8 6 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 8 7 src1 Ljdk/vm/ci/meta/AllocatableValue;
2 8 8 src2 Ljdk/vm/ci/meta/AllocatableValue;
3 8 9 result Lorg/graalvm/compiler/lir/Variable;
6 8 10 arithmeticOp Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
private jdk.vm.ci.meta.Value lambda$4(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.core.aarch64.AArch64PointerAddNode, org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType, int, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;ILorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=9, locals=12, args_size=7
start local 0 start local 6 0: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
astore 7
start local 7 1: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
astore 8
start local 8 2: aload 7
invokestatic org.graalvm.compiler.core.common.LIRKind.derivedBaseFromValue:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
astore 9
start local 9 3: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 3
getstatic org.graalvm.compiler.nodes.NodeView.DEFAULT:Lorg/graalvm/compiler/nodes/NodeView;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64PointerAddNode.stamp:(Lorg/graalvm/compiler/nodes/NodeView;)Lorg/graalvm/compiler/core/common/type/Stamp;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.getLIRKind:(Lorg/graalvm/compiler/core/common/type/Stamp;)Lorg/graalvm/compiler/core/common/LIRKind;
4: aload 9
aconst_null
5: invokestatic org.graalvm.compiler.core.common.LIRKind.combineDerived:(Lorg/graalvm/compiler/core/common/LIRKind;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 10
start local 10 6: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 10
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 11
start local 11 7: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp
dup
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ADD:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
aload 11
aload 7
aload 0
aload 8
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
8: aload 4
iload 5
invokespecial org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ExtendType;I)V
9: invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
10: aload 11
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 11 6 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 11 7 x Ljdk/vm/ci/meta/AllocatableValue;
2 11 8 y Ljdk/vm/ci/meta/AllocatableValue;
3 11 9 baseReference Ljdk/vm/ci/meta/AllocatableValue;
6 11 10 kind Lorg/graalvm/compiler/core/common/LIRKind;
7 11 11 result Lorg/graalvm/compiler/lir/Variable;
private jdk.vm.ci.meta.Value lambda$5(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.nodes.ConstantNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/nodes/ConstantNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=9, args_size=6
start local 0 start local 5 0: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
astore 6
start local 6 1: aload 2
instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
ifeq 2
aload 3
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
goto 3
StackMap locals: jdk.vm.ci.meta.AllocatableValue
StackMap stack:
2: aload 4
invokevirtual org.graalvm.compiler.nodes.ConstantNode.asJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.JavaConstant
3: astore 7
start local 7 4: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
iconst_1
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 6
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 8
start local 8 5: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 8
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.ROR:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
aload 6
aload 7
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinaryConst:(Lorg/graalvm/compiler/lir/Variable;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/JavaConstant;)V
6: aload 8
areturn
end local 8 end local 7 end local 6 end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 7 5 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 7 6 a Ljdk/vm/ci/meta/AllocatableValue;
4 7 7 b Ljdk/vm/ci/meta/JavaConstant;
5 7 8 result Lorg/graalvm/compiler/lir/Variable;
private jdk.vm.ci.meta.Value lambda$6(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=6
start local 0 start local 5 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 6
start local 6 1: aload 2
instanceof org.graalvm.compiler.nodes.calc.AddNode
ifeq 6
2: aload 3
instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
ifeq 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
goto 4
StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
3: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitNegate:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.Value
4: astore 7
start local 7 5: goto 9
end local 7 6: StackMap locals:
StackMap stack:
aload 3
instanceof org.graalvm.compiler.nodes.calc.LeftShiftNode
ifeq 7
aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitNegate:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
goto 8
StackMap locals:
StackMap stack:
7: aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
StackMap locals:
StackMap stack: jdk.vm.ci.meta.Value
8: astore 7
start local 7 9: StackMap locals: jdk.vm.ci.meta.Value
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 6
aastore
dup
iconst_1
aload 7
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.RORV:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
iconst_0
aload 6
aload 7
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
end local 7 end local 6 end local 5 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 10 5 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 10 6 a Ljdk/vm/ci/meta/Value;
5 6 7 b Ljdk/vm/ci/meta/Value;
9 10 7 b Ljdk/vm/ci/meta/Value;
private jdk.vm.ci.meta.Value lambda$7(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=8, args_size=5
start local 0 start local 4 0: aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 5
start local 5 1: aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 6
start local 6 2: iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 5
aastore
dup
iconst_1
aload 6
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 7
start local 7 3: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 7
aload 3
iconst_0
aload 5
aload 6
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
end local 7 end local 6 end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 4 5 a Ljdk/vm/ci/meta/Value;
2 4 6 b Ljdk/vm/ci/meta/Value;
3 4 7 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
private jdk.vm.ci.meta.Value lambda$8(org.graalvm.compiler.nodes.calc.NotNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/calc/NotNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=7, args_size=3
start local 0 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.calc.NotNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
checkcast org.graalvm.compiler.nodes.calc.XorNode
astore 3
start local 3 1: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.XorNode.getX:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 4
start local 4 2: aload 0
aload 3
invokevirtual org.graalvm.compiler.nodes.calc.XorNode.getY:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
astore 5
start local 5 3: iconst_2
anewarray jdk.vm.ci.meta.Value
dup
iconst_0
aload 4
aastore
dup
iconst_1
aload 5
aastore
invokestatic org.graalvm.compiler.core.common.LIRKind.combine:([Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/core/common/LIRKind;
astore 6
start local 6 4: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 6
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.EON:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
iconst_0
aload 4
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 5 2 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 5 3 xor Lorg/graalvm/compiler/nodes/calc/XorNode;
2 5 4 a Ljdk/vm/ci/meta/Value;
3 5 5 b Ljdk/vm/ci/meta/Value;
4 5 6 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
private jdk.vm.ci.meta.Value lambda$9(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitIntegerMAdd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$10(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
iconst_1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitIntegerMSub:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$11(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
1: aload 1
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.SMNEGL:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
iconst_1
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
2: invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
3: areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$12(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
1: aload 1
getstatic org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp.SMULL:Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;
iconst_1
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
2: invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
3: areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$13(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 6 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
1: aload 1
aload 2
iload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
2: invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
3: areturn
end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 6 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$14(org.graalvm.compiler.core.common.LIRKind, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, boolean, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/core/common/LIRKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 6 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
1: aload 1
aload 2
iload 3
aload 0
aload 4
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
2: invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitBinary:(Ljdk/vm/ci/meta/ValueKind;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;ZLjdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Lorg/graalvm/compiler/lir/Variable;
3: areturn
end local 6 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 4 6 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$15(org.graalvm.compiler.nodes.calc.NarrowNode, org.graalvm.compiler.nodes.calc.UnaryNode, org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/calc/NarrowNode;Lorg/graalvm/compiler/nodes/calc/UnaryNode;Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=8, args_size=5
start local 0 start local 4 0: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 0
aload 1
invokevirtual org.graalvm.compiler.nodes.calc.NarrowNode.getValue:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.asAllocatable:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
astore 5
start local 5 1: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.target:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.UnaryNode.getStackKind:()Ljdk/vm/ci/meta/JavaKind;
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 6
start local 6 2: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
aload 6
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.newVariable:(Ljdk/vm/ci/meta/ValueKind;)Lorg/graalvm/compiler/lir/Variable;
astore 7
start local 7 3: aload 0
getfield org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.gen:Lorg/graalvm/compiler/lir/gen/LIRGeneratorTool;
new org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$UnaryOp
dup
aload 3
aload 7
aload 0
aload 5
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.moveSp:(Ljdk/vm/ci/meta/AllocatableValue;)Ljdk/vm/ci/meta/AllocatableValue;
invokespecial org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$UnaryOp.<init>:(Lorg/graalvm/compiler/lir/aarch64/AArch64ArithmeticOp;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/AllocatableValue;)V
invokeinterface org.graalvm.compiler.lir.gen.LIRGeneratorTool.append:(Lorg/graalvm/compiler/lir/LIRInstruction;)Lorg/graalvm/compiler/lir/LIRInstruction;
pop
4: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 5 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
1 5 5 input Ljdk/vm/ci/meta/AllocatableValue;
2 5 6 resultKind Lorg/graalvm/compiler/core/common/LIRKind;
3 5 7 result Lorg/graalvm/compiler/lir/Variable;
private jdk.vm.ci.meta.Value lambda$16(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitMNeg:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 3 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$17(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
iconst_0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitIntegerMAdd:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$18(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=5
start local 0 start local 4 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 2
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 0
aload 3
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
iconst_0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitIntegerMSub:(Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Z)Ljdk/vm/ci/meta/Value;
areturn
end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 4 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$19(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitMathSqrt:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/Value;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 2 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$20(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.SignExtendNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/SignExtendNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getInputBits:()I
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.SignExtendNode.getResultBits:()I
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitSignExtend:(Ljdk/vm/ci/meta/Value;II)Ljdk/vm/ci/meta/Value;
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 3 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
private jdk.vm.ci.meta.Value lambda$21(org.graalvm.compiler.nodes.ValueNode, org.graalvm.compiler.nodes.calc.ZeroExtendNode, org.graalvm.compiler.core.gen.NodeLIRBuilder);
descriptor: (Lorg/graalvm/compiler/nodes/ValueNode;Lorg/graalvm/compiler/nodes/calc/ZeroExtendNode;Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;)Ljdk/vm/ci/meta/Value;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.getArithmeticLIRGenerator:()Lorg/graalvm/compiler/core/aarch64/AArch64ArithmeticLIRGenerator;
aload 0
aload 1
invokevirtual org.graalvm.compiler.core.aarch64.AArch64NodeMatchRules.operand:(Lorg/graalvm/compiler/graph/Node;)Ljdk/vm/ci/meta/Value;
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getInputBits:()I
aload 2
invokevirtual org.graalvm.compiler.nodes.calc.ZeroExtendNode.getResultBits:()I
invokevirtual org.graalvm.compiler.core.aarch64.AArch64ArithmeticLIRGenerator.emitZeroExtend:(Ljdk/vm/ci/meta/Value;II)Ljdk/vm/ci/meta/Value;
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/core/aarch64/AArch64NodeMatchRules;
0 1 3 builder Lorg/graalvm/compiler/core/gen/NodeLIRBuilder;
}
SourceFile: "AArch64NodeMatchRules.java"
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final ExtendType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ExtendType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public final ShiftType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ShiftType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public BinaryShiftOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$BinaryShiftOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
public ExtendedAddSubShiftOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$ExtendedAddSubShiftOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
public UnaryOp = org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp$UnaryOp of org.graalvm.compiler.lir.aarch64.AArch64ArithmeticOp
public final BitFieldOpCode = org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp$BitFieldOpCode of org.graalvm.compiler.lir.aarch64.AArch64BitFieldOp
public BitTestAndBranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
RuntimeVisibleAnnotations:
org.graalvm.compiler.core.match.MatchableNode(nodeClass = Lorg/graalvm/compiler/core/aarch64/AArch64PointerAddNode;, inputs = {"base", "offset"})