public class jdk.tools.jaotc.jnilibelf.Pointer
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.tools.jaotc.jnilibelf.Pointer
super_class: java.lang.Object
{
private final long address;
descriptor: J
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 1
putfield jdk.tools.jaotc.jnilibelf.Pointer.address:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/tools/jaotc/jnilibelf/Pointer;
0 3 1 val J
MethodParameters:
Name Flags
val
public void put(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.tools.jaotc.jnilibelf.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
aconst_null
aload 0
getfield jdk.tools.jaotc.jnilibelf.Pointer.address:J
aload 1
arraylength
i2l
invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/jnilibelf/Pointer;
0 2 1 src [B
MethodParameters:
Name Flags
src
public void get(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=2, args_size=2
start local 0 start local 1 0: getstatic jdk.tools.jaotc.jnilibelf.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aconst_null
aload 0
getfield jdk.tools.jaotc.jnilibelf.Pointer.address:J
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
i2l
aload 1
arraylength
i2l
invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/tools/jaotc/jnilibelf/Pointer;
0 2 1 dst [B
MethodParameters:
Name Flags
dst
public void copyBytesTo(byte[], int, int);
descriptor: ([BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
i2l
iload 2
i2l
ladd
lstore 4
start local 4 1: lload 4
aload 1
arraylength
i2l
lcmp
ifle 3
2: new java.lang.IllegalArgumentException
dup
ldc "writing beyond array bounds"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: long
StackMap stack:
getstatic jdk.tools.jaotc.jnilibelf.UnsafeAccess.UNSAFE:Ljdk/internal/misc/Unsafe;
aconst_null
aload 0
getfield jdk.tools.jaotc.jnilibelf.Pointer.address:J
aload 1
getstatic jdk.internal.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
iload 3
iadd
i2l
iload 2
i2l
invokevirtual jdk.internal.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
4: return
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 Ljdk/tools/jaotc/jnilibelf/Pointer;
0 5 1 byteArray [B
0 5 2 readSize I
0 5 3 startIndex I
1 5 4 end J
MethodParameters:
Name Flags
byteArray
readSize
startIndex
}
SourceFile: "Pointer.java"