public class org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/lir/aarch64/AArch64ControlFlow;
private static void emitCompare(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, org.graalvm.compiler.lir.ConstantValue);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;Lorg/graalvm/compiler/lir/ConstantValue;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.graalvm.compiler.lir.ConstantValue.getJavaConstant:()Ljdk/vm/ci/meta/JavaConstant;
invokeinterface jdk.vm.ci.meta.JavaConstant.asLong:()J
lstore 5
start local 5 1: aload 2
invokevirtual jdk.vm.ci.meta.Value.getPlatformKind:()Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
bipush 8
imul
istore 7
start local 7 2: lload 5
invokestatic org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.isComparisonImmediate:(J)Z
ifeq 5
3: aload 1
iload 7
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
lload 5
l2i
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
4: goto 7
5: StackMap locals: long int
StackMap stack:
aload 0
aload 1
aload 3
invokestatic jdk.vm.ci.code.ValueUtil.asAllocatableValue:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/meta/AllocatableValue;
aload 4
invokestatic org.graalvm.compiler.lir.aarch64.AArch64Move.move:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Ljdk/vm/ci/meta/AllocatableValue;Ljdk/vm/ci/meta/Value;)V
6: aload 1
iload 7
aload 2
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
aload 3
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
7: StackMap locals:
StackMap stack:
return
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 8 0 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 8 1 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
0 8 2 key Ljdk/vm/ci/meta/Value;
0 8 3 scratchValue Ljdk/vm/ci/meta/Value;
0 8 4 c Lorg/graalvm/compiler/lir/ConstantValue;
1 8 5 imm J
2 8 7 size I
MethodParameters:
Name Flags
crb
masm
key
scratchValue
c
private static boolean isFarBranch(org.graalvm.compiler.lir.LIRInstruction, int, org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler, org.graalvm.compiler.asm.Label);
descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;ILorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;Lorg/graalvm/compiler/asm/Label;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
invokevirtual org.graalvm.compiler.asm.Label.isBound:()Z
ifeq 5
1: iload 1
iconst_2
iadd
aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.position:()I
aload 4
invokevirtual org.graalvm.compiler.asm.Label.position:()I
isub
invokestatic org.graalvm.compiler.core.common.NumUtil.isSignedNbit:(II)Z
ifeq 2
iconst_0
goto 3
StackMap locals:
StackMap stack:
2: iconst_1
StackMap locals:
StackMap stack: int
3: istore 5
start local 5 4: goto 9
end local 5 5: StackMap locals:
StackMap stack:
iconst_1
iload 1
iconst_2
isub
ishl
istore 6
start local 6 6: aload 2
aload 0
aload 4
iload 6
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.labelWithinRange:(Lorg/graalvm/compiler/lir/LIRInstruction;Lorg/graalvm/compiler/asm/Label;I)Z
ifeq 7
iconst_0
goto 8
StackMap locals: org.graalvm.compiler.lir.LIRInstruction int org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler org.graalvm.compiler.asm.Label top int
StackMap stack:
7: iconst_1
StackMap locals:
StackMap stack: int
8: istore 5
end local 6 start local 5 9: StackMap locals: org.graalvm.compiler.lir.LIRInstruction int org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler org.graalvm.compiler.asm.Label int
StackMap stack:
iload 5
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 instruction Lorg/graalvm/compiler/lir/LIRInstruction;
0 10 1 offsetBits I
0 10 2 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 10 3 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
0 10 4 label Lorg/graalvm/compiler/asm/Label;
4 5 5 isFarBranch Z
9 10 5 isFarBranch Z
6 9 6 maxLIRDistance I
MethodParameters:
Name Flags
instruction
offsetBits
crb
masm
label
}
SourceFile: "AArch64ControlFlow.java"
NestMembers:
org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$AbstractBranchOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BranchOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CompareBranchZeroOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondMoveOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondSetOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$ReturnOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp$SwitchClosure org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$TableSwitchOp
InnerClasses:
public abstract AbstractBranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$AbstractBranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public BitTestAndBranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BitTestAndBranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public BranchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$BranchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public CompareBranchZeroOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CompareBranchZeroOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public CondMoveOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondMoveOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public CondSetOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$CondSetOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public final ReturnOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$ReturnOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public StrategySwitchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$StrategySwitchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow
public final TableSwitchOp = org.graalvm.compiler.lir.aarch64.AArch64ControlFlow$TableSwitchOp of org.graalvm.compiler.lir.aarch64.AArch64ControlFlow