public class org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction extends org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction
super_class: org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation
{
public void <init>(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
start local 1 // int position
0: .line 2373
aload 0 /* this */
iload 1 /* position */
invokespecial org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation.<init>:(I)V
1: .line 2374
return
end local 1 // int position
end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpAddMacroInstruction;
0 2 1 position I
MethodParameters:
Name Flags
position
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
0: .line 2378
ldc "ADRP_ADD"
areturn
end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpAddMacroInstruction;
public void patch(int, int, byte[]);
descriptor: (II[B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=4
start local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
start local 1 // int codePos
start local 2 // int relative
start local 3 // byte[] code
0: .line 2383
aload 0 /* this */
getfield org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction.instructionPosition:I
istore 4 /* pos */
start local 4 // int pos
1: .line 2384
iload 4 /* pos */
iload 2 /* relative */
iadd
istore 5 /* targetAddress */
start local 5 // int targetAddress
2: .line 2385
iload 5 /* targetAddress */
iload 4 /* pos */
sipush 4096
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.computeRelativePageDifference:(III)I
istore 6 /* relativePageDifference */
start local 6 // int relativePageDifference
3: .line 2387
iload 6 /* relativePageDifference */
iconst_2
ishr
ldc 524287
iand
istore 7 /* curValue */
start local 7 // int curValue
4: .line 2388
iconst_3
newarray 10
dup
iconst_0
iconst_3
iastore
dup
iconst_1
bipush 8
iastore
dup
iconst_2
bipush 8
iastore
astore 8 /* adrHiBits */
start local 8 // int[] adrHiBits
5: .line 2389
iconst_3
newarray 10
dup
iconst_0
iconst_5
iastore
astore 9 /* adrHiOffsets */
start local 9 // int[] adrHiOffsets
6: .line 2390
aload 3 /* code */
iload 4 /* pos */
iload 7 /* curValue */
aload 8 /* adrHiBits */
aload 9 /* adrHiOffsets */
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
7: .line 2392
iload 6 /* relativePageDifference */
iconst_3
iand
istore 7 /* curValue */
8: .line 2393
iconst_1
newarray 10
dup
iconst_0
iconst_2
iastore
astore 10 /* adrLoBits */
start local 10 // int[] adrLoBits
9: .line 2394
iconst_1
newarray 10
dup
iconst_0
iconst_5
iastore
astore 11 /* adrLoOffsets */
start local 11 // int[] adrLoOffsets
10: .line 2395
aload 3 /* code */
iload 4 /* pos */
iconst_3
iadd
iload 7 /* curValue */
aload 10 /* adrLoBits */
aload 11 /* adrLoOffsets */
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
11: .line 2397
iload 5 /* targetAddress */
sipush 4095
iand
istore 7 /* curValue */
12: .line 2398
iconst_2
newarray 10
dup
iconst_0
bipush 6
iastore
dup
iconst_1
bipush 6
iastore
astore 12 /* addBits */
start local 12 // int[] addBits
13: .line 2399
iconst_2
newarray 10
dup
iconst_0
iconst_2
iastore
astore 13 /* addOffsets */
start local 13 // int[] addOffsets
14: .line 2400
aload 3 /* code */
iload 4 /* pos */
iconst_5
iadd
iload 7 /* curValue */
aload 12 /* addBits */
aload 13 /* addOffsets */
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.writeBitSequence:([BII[I[I)V
15: .line 2401
return
end local 13 // int[] addOffsets
end local 12 // int[] addBits
end local 11 // int[] adrLoOffsets
end local 10 // int[] adrLoBits
end local 9 // int[] adrHiOffsets
end local 8 // int[] adrHiBits
end local 7 // int curValue
end local 6 // int relativePageDifference
end local 5 // int targetAddress
end local 4 // int pos
end local 3 // byte[] code
end local 2 // int relative
end local 1 // int codePos
end local 0 // org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction this
LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lorg/graalvm/compiler/asm/aarch64/AArch64MacroAssembler$AdrpAddMacroInstruction;
0 16 1 codePos I
0 16 2 relative I
0 16 3 code [B
1 16 4 pos I
2 16 5 targetAddress I
3 16 6 relativePageDifference I
4 16 7 curValue I
5 16 8 adrHiBits [I
6 16 9 adrHiOffsets [I
9 16 10 adrLoBits [I
10 16 11 adrLoOffsets [I
13 16 12 addBits [I
14 16 13 addOffsets [I
MethodParameters:
Name Flags
codePos
relative
code
}
SourceFile: "AArch64MacroAssembler.java"
NestHost: org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler
InnerClasses:
public abstract PatchableCodeAnnotation = org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatchableCodeAnnotation of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public PatcherUtil = org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public AdrpAddMacroInstruction = org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler$AdrpAddMacroInstruction of org.graalvm.compiler.asm.aarch64.AArch64MacroAssembler