public final class org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp extends org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp
super_class: org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction
{
public static final org.graalvm.compiler.lir.LIRInstructionClass<org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp> TYPE;
descriptor: Lorg/graalvm/compiler/lir/LIRInstructionClass;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Lorg/graalvm/compiler/lir/LIRInstructionClass<Lorg/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp;>;
protected jdk.vm.ci.meta.Value addressValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value lengthValue;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Use(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value addressValueTemp;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
protected jdk.vm.ci.meta.Value lengthValueTemp;
descriptor: Ljdk/vm/ci/meta/Value;
flags: (0x0004) ACC_PROTECTED
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.LIRInstruction$Temp(value = {org.graalvm.compiler.lir.LIRInstruction$OperandFlag.REG:Lorg/graalvm/compiler/lir/LIRInstruction$OperandFlag;})
private final boolean isAligned;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final boolean useDcZva;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int zvaLength;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
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=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp;
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.lir.aarch64.AArch64ZeroMemoryOp.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp;
invokestatic org.graalvm.compiler.lir.LIRInstructionClass.create:(Ljava/lang/Class;)Lorg/graalvm/compiler/lir/LIRInstructionClass;
putstatic org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(jdk.vm.ci.meta.Value, jdk.vm.ci.meta.Value, boolean, boolean, int);
descriptor: (Ljdk/vm/ci/meta/Value;Ljdk/vm/ci/meta/Value;ZZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
getstatic org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.TYPE:Lorg/graalvm/compiler/lir/LIRInstructionClass;
invokespecial org.graalvm.compiler.lir.aarch64.AArch64LIRInstruction.<init>:(Lorg/graalvm/compiler/lir/LIRInstructionClass;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.addressValue:Ljdk/vm/ci/meta/Value;
2: aload 0
aload 2
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.lengthValue:Ljdk/vm/ci/meta/Value;
3: aload 0
aload 1
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.addressValueTemp:Ljdk/vm/ci/meta/Value;
4: aload 0
aload 2
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.lengthValueTemp:Ljdk/vm/ci/meta/Value;
5: aload 0
iload 4
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.useDcZva:Z
6: aload 0
iload 5
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
7: aload 0
iload 3
putfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
8: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp;
0 9 1 address Ljdk/vm/ci/meta/Value;
0 9 2 length Ljdk/vm/ci/meta/Value;
0 9 3 isAligned Z
0 9 4 useDcZva Z
0 9 5 zvaLength I
MethodParameters:
Name Flags
address
length
isAligned
useDcZva
zvaLength
protected void emitCode(org.graalvm.compiler.lir.asm.CompilationResultBuilder, org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=17, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.addressValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 3
start local 3 1: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.lengthValue:Ljdk/vm/ci/meta/Value;
invokestatic jdk.vm.ci.code.ValueUtil.asRegister:(Ljdk/vm/ci/meta/Value;)Ljdk/vm/ci/code/Register;
astore 4
start local 4 2: aconst_null
astore 5
aconst_null
astore 6
3: aload 2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.getScratchRegister:()Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
astore 7
start local 7 4: aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.getRegister:()Ljdk/vm/ci/code/Register;
astore 8
start local 8 5: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 9
start local 9 6: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 10
start local 10 7: aload 2
bipush 64
aload 4
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cbz:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
8: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
ifne 28
9: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 10: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 11: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 12: aload 2
bipush 64
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
13: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.LT:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
14: aload 2
bipush 64
aload 8
aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.neg:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
15: aload 2
bipush 64
aload 8
aload 8
ldc 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.and:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
16: aload 2
aload 8
iconst_0
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.tbz:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
17: aload 2
bipush 64
aload 4
aload 4
iconst_1
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
18: aload 2
bipush 8
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
iconst_1
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
19: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
20: aload 2
aload 8
iconst_1
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.tbz:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
21: aload 2
bipush 64
aload 4
aload 4
iconst_2
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
22: aload 2
bipush 16
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
iconst_2
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
23: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
24: aload 2
aload 8
iconst_2
aload 13
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.tbz:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
25: aload 2
bipush 64
aload 4
aload 4
iconst_4
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
26: aload 2
bipush 32
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
iconst_4
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
27: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 13 end local 12 end local 11 28: StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister jdk.vm.ci.code.Register org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack:
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.useDcZva:Z
ifeq 68
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
ifle 68
29: getstatic org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.$assertionsDisabled:Z
ifne 31
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
invokestatic jdk.vm.ci.code.CodeUtil.isPowerOf2:(I)Z
ifeq 30
iconst_4
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
if_icmpgt 30
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
sipush 2048
if_icmple 31
StackMap locals:
StackMap stack:
30: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
31: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 32: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 33: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 13
start local 13 34: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 14
start local 14 35: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 15
start local 15 36: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 16
start local 16 37: aload 2
bipush 64
aload 8
aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.neg:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
38: aload 2
bipush 64
aload 8
aload 8
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
iconst_1
isub
i2l
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.and:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;J)V
39: aload 2
bipush 64
aload 4
aload 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
40: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.LE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 15
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
41: aload 2
bipush 64
aload 4
aload 4
aload 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
42: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
43: aload 2
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
44: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
45: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
bipush 8
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
46: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
47: aload 2
bipush 64
aload 8
aload 8
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
48: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.GE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
49: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
50: aload 2
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
51: aload 2
aload 14
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
52: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$DataCacheOperationType.ZVA:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$DataCacheOperationType;
aload 3
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.dc:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$DataCacheOperationType;Ljdk/vm/ci/code/Register;)V
53: aload 2
bipush 64
aload 3
aload 3
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
54: aload 2
aload 13
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
55: aload 2
bipush 64
aload 4
aload 4
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
56: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.GE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 14
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
57: aload 2
bipush 64
aload 4
aload 4
aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.zvaLength:I
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
58: aload 2
aload 15
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
59: aload 2
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
60: aload 2
aload 16
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
61: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
bipush 8
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
62: aload 2
aload 15
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
63: aload 2
bipush 64
aload 4
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
64: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.GE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 16
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
65: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
ifne 88
66: aload 2
bipush 64
aload 4
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 67: goto 88
68: StackMap locals:
StackMap stack:
new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 69: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 12
start local 12 70: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
ifne 73
71: aload 2
bipush 64
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cmp:(ILjdk/vm/ci/code/Register;I)V
72: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.LT:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
73: StackMap locals: org.graalvm.compiler.asm.Label org.graalvm.compiler.asm.Label
StackMap stack:
aload 2
aload 3
iconst_3
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.tbz:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
74: aload 2
bipush 64
aload 4
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
75: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
bipush 8
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
76: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.jmp:(Lorg/graalvm/compiler/asm/Label;)V
77: aload 2
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
78: aload 2
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
79: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
iconst_2
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.stp:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
80: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
81: aload 2
bipush 64
aload 4
aload 4
bipush 16
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
82: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.GE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 12
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
83: aload 2
bipush 64
aload 4
aload 4
bipush 16
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.add:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
84: aload 2
aload 4
iconst_3
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.tbz:(Ljdk/vm/ci/code/Register;ILorg/graalvm/compiler/asm/Label;)V
85: aload 2
bipush 64
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
bipush 8
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
86: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
ifne 88
87: aload 2
bipush 64
aload 4
aload 4
bipush 8
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.sub:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
end local 12 end local 11 88: StackMap locals:
StackMap stack:
aload 2
aload 9
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
89: aload 0
getfield org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp.isAligned:Z
ifne 97
90: new org.graalvm.compiler.asm.Label
dup
invokespecial org.graalvm.compiler.asm.Label.<init>:()V
astore 11
start local 11 91: aload 2
bipush 64
aload 4
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.cbz:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/Label;)V
92: aload 2
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.target:Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.wordSize:I
iconst_2
imul
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.align:(I)V
93: aload 2
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
94: aload 2
bipush 8
getstatic jdk.vm.ci.aarch64.AArch64.zr:Ljdk/vm/ci/code/Register;
aload 3
iconst_1
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Address.createPostIndexedImmediateAddress:(Ljdk/vm/ci/code/Register;I)Lorg/graalvm/compiler/asm/aarch64/AArch64Address;
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.str:(ILjdk/vm/ci/code/Register;Lorg/graalvm/compiler/asm/aarch64/AArch64Address;)V
95: aload 2
bipush 64
aload 4
aload 4
iconst_1
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.subs:(ILjdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;I)V
96: aload 2
getstatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag.NE:Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;
aload 11
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.branchConditionally:(Lorg/graalvm/compiler/asm/aarch64/AArch64Assembler$ConditionFlag;Lorg/graalvm/compiler/asm/Label;)V
end local 11 97: StackMap locals:
StackMap stack:
aload 2
aload 10
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler.bind:(Lorg/graalvm/compiler/asm/Label;)V
end local 10 end local 9 end local 8 98: aload 7
ifnull 104
aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
goto 104
StackMap locals: org.graalvm.compiler.lir.aarch64.AArch64ZeroMemoryOp org.graalvm.compiler.lir.asm.CompilationResultBuilder org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler jdk.vm.ci.code.Register jdk.vm.ci.code.Register java.lang.Throwable java.lang.Throwable org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister
StackMap stack: java.lang.Throwable
99: astore 5
aload 7
ifnull 100
aload 7
invokevirtual org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister.close:()V
end local 7 StackMap locals:
StackMap stack:
100: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
101: astore 6
aload 5
ifnonnull 102
aload 6
astore 5
goto 103
StackMap locals:
StackMap stack:
102: aload 5
aload 6
if_acmpeq 103
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
103: aload 5
athrow
104: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 105 0 this Lorg/graalvm/compiler/lir/aarch64/AArch64ZeroMemoryOp;
0 105 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
0 105 2 masm Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler;
1 105 3 base Ljdk/vm/ci/code/Register;
2 105 4 size Ljdk/vm/ci/code/Register;
4 100 7 scratchRegister Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$ScratchRegister;
5 98 8 alignmentBits Ljdk/vm/ci/code/Register;
6 98 9 tail Lorg/graalvm/compiler/asm/Label;
7 98 10 done Lorg/graalvm/compiler/asm/Label;
10 28 11 baseAlignedTo2Bytes Lorg/graalvm/compiler/asm/Label;
11 28 12 baseAlignedTo4Bytes Lorg/graalvm/compiler/asm/Label;
12 28 13 baseAlignedTo8Bytes Lorg/graalvm/compiler/asm/Label;
32 67 11 preCheck Lorg/graalvm/compiler/asm/Label;
33 67 12 preLoop Lorg/graalvm/compiler/asm/Label;
34 67 13 mainCheck Lorg/graalvm/compiler/asm/Label;
35 67 14 mainLoop Lorg/graalvm/compiler/asm/Label;
36 67 15 postCheck Lorg/graalvm/compiler/asm/Label;
37 67 16 postLoop Lorg/graalvm/compiler/asm/Label;
69 88 11 mainCheck Lorg/graalvm/compiler/asm/Label;
70 88 12 mainLoop Lorg/graalvm/compiler/asm/Label;
91 97 11 perByteZeroingLoop Lorg/graalvm/compiler/asm/Label;
Exception table:
from to target type
4 98 99 any
3 101 101 any
MethodParameters:
Name Flags
crb
masm
}
SourceFile: "AArch64ZeroMemoryOp.java"
InnerClasses:
public final ConditionFlag = org.graalvm.compiler.asm.aarch64.AArch64Assembler$ConditionFlag of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public final DataCacheOperationType = org.graalvm.compiler.asm.aarch64.AArch64Assembler$DataCacheOperationType of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public ScratchRegister = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$ScratchRegister of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
public final OperandFlag = org.graalvm.compiler.lir.LIRInstruction$OperandFlag of org.graalvm.compiler.lir.LIRInstruction
public abstract Temp = org.graalvm.compiler.lir.LIRInstruction$Temp of org.graalvm.compiler.lir.LIRInstruction
public abstract Use = org.graalvm.compiler.lir.LIRInstruction$Use of org.graalvm.compiler.lir.LIRInstruction
RuntimeVisibleAnnotations:
org.graalvm.compiler.lir.Opcode(value = "ZERO_MEMORY")