final class com.google.protobuf.UnsafeUtil$JvmMemoryAccessor extends com.google.protobuf.UnsafeUtil$MemoryAccessor
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.google.protobuf.UnsafeUtil$JvmMemoryAccessor
super_class: com.google.protobuf.UnsafeUtil$MemoryAccessor
{
void <init>(sun.misc.Unsafe);
descriptor: (Lsun/misc/Unsafe;)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial com.google.protobuf.UnsafeUtil$MemoryAccessor.<init>:(Lsun/misc/Unsafe;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 unsafe Lsun/misc/Unsafe;
MethodParameters:
Name Flags
unsafe
public byte getByte(long);
descriptor: (J)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
invokevirtual sun.misc.Unsafe.getByte:(J)B
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 address J
MethodParameters:
Name Flags
address
public void putByte(long, byte);
descriptor: (JB)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
iload 3
invokevirtual sun.misc.Unsafe.putByte:(JB)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 address J
0 2 3 value B
MethodParameters:
Name Flags
address
value
public int getInt(long);
descriptor: (J)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
invokevirtual sun.misc.Unsafe.getInt:(J)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 address J
MethodParameters:
Name Flags
address
public void putInt(long, int);
descriptor: (JI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
iload 3
invokevirtual sun.misc.Unsafe.putInt:(JI)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 address J
0 2 3 value I
MethodParameters:
Name Flags
address
value
public long getLong(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
invokevirtual sun.misc.Unsafe.getLong:(J)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 address J
MethodParameters:
Name Flags
address
public void putLong(long, long);
descriptor: (JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
lload 1
lload 3
invokevirtual sun.misc.Unsafe.putLong:(JJ)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 address J
0 2 3 value J
MethodParameters:
Name Flags
address
value
public byte getByte(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 target Ljava/lang/Object;
0 1 2 offset J
MethodParameters:
Name Flags
target
offset
public void putByte(java.lang.Object, long, byte);
descriptor: (Ljava/lang/Object;JB)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
iload 4
invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 target Ljava/lang/Object;
0 2 2 offset J
0 2 4 value B
MethodParameters:
Name Flags
target
offset
value
public boolean getBoolean(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 target Ljava/lang/Object;
0 1 2 offset J
MethodParameters:
Name Flags
target
offset
public void putBoolean(java.lang.Object, long, boolean);
descriptor: (Ljava/lang/Object;JZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
iload 4
invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 target Ljava/lang/Object;
0 2 2 offset J
0 2 4 value Z
MethodParameters:
Name Flags
target
offset
value
public float getFloat(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
freturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 target Ljava/lang/Object;
0 1 2 offset J
MethodParameters:
Name Flags
target
offset
public void putFloat(java.lang.Object, long, float);
descriptor: (Ljava/lang/Object;JF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
fload 4
invokevirtual sun.misc.Unsafe.putFloat:(Ljava/lang/Object;JF)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 target Ljava/lang/Object;
0 2 2 offset J
0 2 4 value F
MethodParameters:
Name Flags
target
offset
value
public double getDouble(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
dreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 target Ljava/lang/Object;
0 1 2 offset J
MethodParameters:
Name Flags
target
offset
public void putDouble(java.lang.Object, long, double);
descriptor: (Ljava/lang/Object;JD)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
lload 2
dload 4
invokevirtual sun.misc.Unsafe.putDouble:(Ljava/lang/Object;JD)V
1: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 target Ljava/lang/Object;
0 2 2 offset J
0 2 4 value D
MethodParameters:
Name Flags
target
offset
value
public void copyMemory(long, byte[], long, long);
descriptor: (J[BJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 6 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 1
aload 3
getstatic com.google.protobuf.UnsafeUtil.BYTE_ARRAY_BASE_OFFSET:J
lload 4
ladd
lload 6
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
1: return
end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 srcOffset J
0 2 3 target [B
0 2 4 targetIndex J
0 2 6 length J
MethodParameters:
Name Flags
srcOffset
target
targetIndex
length
public void copyMemory(byte[], long, long, long);
descriptor: ([BJJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 4 start local 6 0: aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
getstatic com.google.protobuf.UnsafeUtil.BYTE_ARRAY_BASE_OFFSET:J
lload 2
ladd
aconst_null
lload 4
lload 6
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
1: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 2 1 src [B
0 2 2 srcIndex J
0 2 4 targetOffset J
0 2 6 length J
MethodParameters:
Name Flags
src
srcIndex
targetOffset
length
public java.lang.Object getStaticObject(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
aload 0
getfield com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.unsafe:Lsun/misc/Unsafe;
aload 1
invokevirtual sun.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
invokevirtual com.google.protobuf.UnsafeUtil$JvmMemoryAccessor.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/google/protobuf/UnsafeUtil$JvmMemoryAccessor;
0 1 1 field Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
field
}
SourceFile: "UnsafeUtil.java"
NestHost: com.google.protobuf.UnsafeUtil
InnerClasses:
private final JvmMemoryAccessor = com.google.protobuf.UnsafeUtil$JvmMemoryAccessor of com.google.protobuf.UnsafeUtil
private abstract MemoryAccessor = com.google.protobuf.UnsafeUtil$MemoryAccessor of com.google.protobuf.UnsafeUtil