public final class sun.misc.Unsafe
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: sun.misc.Unsafe
super_class: java.lang.Object
{
private static final sun.misc.Unsafe theUnsafe;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final int INVALID_FIELD_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: -1
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: invokestatic sun.misc.Unsafe.registerNatives:()V
1: ldc Lsun/misc/Unsafe;
iconst_1
anewarray java.lang.String
dup
iconst_0
ldc "getUnsafe"
aastore
invokestatic sun.reflect.Reflection.registerMethodsToFilter:(Ljava/lang/Class;[Ljava/lang/String;)V
2: new sun.misc.Unsafe
dup
invokespecial sun.misc.Unsafe.<init>:()V
putstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
3: return
LocalVariableTable:
Start End Slot Name Signature
private static native void registerNatives();
descriptor: ()V
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
private void <init>();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
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 Lsun/misc/Unsafe;
public static sun.misc.Unsafe getUnsafe();
descriptor: ()Lsun/misc/Unsafe;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
astore 0
start local 0 1: aload 0
invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
ifnull 3
2: new java.lang.SecurityException
dup
ldc "Unsafe"
invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: java.lang.Class
StackMap stack:
getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 cc Ljava/lang/Class;
RuntimeVisibleAnnotations:
sun.reflect.CallerSensitive()
public native int getInt(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putInt(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native java.lang.Object getObject(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putObject(java.lang.Object, long, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native boolean getBoolean(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putBoolean(java.lang.Object, long, boolean);
descriptor: (Ljava/lang/Object;JZ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native byte getByte(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)B
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putByte(java.lang.Object, long, byte);
descriptor: (Ljava/lang/Object;JB)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native short getShort(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)S
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putShort(java.lang.Object, long, short);
descriptor: (Ljava/lang/Object;JS)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native char getChar(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)C
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putChar(java.lang.Object, long, char);
descriptor: (Ljava/lang/Object;JC)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native long getLong(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putLong(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native float getFloat(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)F
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putFloat(java.lang.Object, long, float);
descriptor: (Ljava/lang/Object;JF)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native double getDouble(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)D
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putDouble(java.lang.Object, long, double);
descriptor: (Ljava/lang/Object;JD)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public int getInt(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putInt(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public java.lang.Object getObject(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putObject(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
aload 3
invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x Ljava/lang/Object;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public boolean getBoolean(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
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 Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putBoolean(java.lang.Object, int, boolean);
descriptor: (Ljava/lang/Object;IZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x Z
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public byte getByte(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
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 Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putByte(java.lang.Object, int, byte);
descriptor: (Ljava/lang/Object;IB)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x B
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public short getShort(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)S
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putShort(java.lang.Object, int, short);
descriptor: (Ljava/lang/Object;IS)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x S
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public char getChar(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)C
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putChar(java.lang.Object, int, char);
descriptor: (Ljava/lang/Object;IC)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.putChar:(Ljava/lang/Object;JC)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x C
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public long getLong(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putLong(java.lang.Object, int, long);
descriptor: (Ljava/lang/Object;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
lload 3
invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x J
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public float getFloat(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)F
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
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 Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putFloat(java.lang.Object, int, float);
descriptor: (Ljava/lang/Object;IF)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
fload 3
invokevirtual sun.misc.Unsafe.putFloat:(Ljava/lang/Object;JF)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x F
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public double getDouble(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
i2l
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 Lsun/misc/Unsafe;
0 1 1 o Ljava/lang/Object;
0 1 2 offset I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
public void putDouble(java.lang.Object, int, double);
descriptor: (Ljava/lang/Object;ID)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
i2l
dload 3
invokevirtual sun.misc.Unsafe.putDouble:(Ljava/lang/Object;JD)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 o Ljava/lang/Object;
0 2 2 offset I
0 2 3 x D
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
offset
x
public native byte getByte(long);
descriptor: (J)B
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putByte(long, byte);
descriptor: (JB)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native short getShort(long);
descriptor: (J)S
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putShort(long, short);
descriptor: (JS)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native char getChar(long);
descriptor: (J)C
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putChar(long, char);
descriptor: (JC)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native int getInt(long);
descriptor: (J)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putInt(long, int);
descriptor: (JI)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native long getLong(long);
descriptor: (J)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putLong(long, long);
descriptor: (JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native float getFloat(long);
descriptor: (J)F
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putFloat(long, float);
descriptor: (JF)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native double getDouble(long);
descriptor: (J)D
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putDouble(long, double);
descriptor: (JD)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native long getAddress(long);
descriptor: (J)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public native void putAddress(long, long);
descriptor: (JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
x
public native long allocateMemory(long);
descriptor: (J)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
bytes
public native long reallocateMemory(long, long);
descriptor: (JJ)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
bytes
public native void setMemory(long, long, byte);
descriptor: (JJB)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
bytes
value
public native void copyMemory(java.lang.Object, long, java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
srcBase
srcOffset
destBase
destOffset
bytes
public void copyMemory(long, long, long);
descriptor: (JJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
aconst_null
lload 1
aconst_null
lload 3
lload 5
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
1: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lsun/misc/Unsafe;
0 2 1 srcAddress J
0 2 3 destAddress J
0 2 5 bytes J
MethodParameters:
Name Flags
srcAddress
destAddress
bytes
public native void freeMemory(long);
descriptor: (J)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
address
public int fieldOffset(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 2
1: aload 0
aload 1
invokevirtual sun.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
l2i
ireturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
l2i
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 f Ljava/lang/reflect/Field;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
f
public java.lang.Object staticFieldBase(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: java.lang.reflect.Field[] int
StackMap stack:
aload 2
iload 3
aaload
invokevirtual java.lang.reflect.Field.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifeq 5
4: aload 0
aload 2
iload 3
aaload
invokevirtual sun.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
areturn
5: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
6: iload 3
aload 2
arraylength
if_icmplt 3
end local 3 7: aconst_null
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lsun/misc/Unsafe;
0 8 1 c Ljava/lang/Class;
1 8 2 fields [Ljava/lang/reflect/Field;
2 7 3 i I
RuntimeVisibleAnnotations:
java.lang.Deprecated()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
c
public native long staticFieldOffset(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
f
public native long objectFieldOffset(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
f
public native java.lang.Object staticFieldBase(java.lang.reflect.Field);
descriptor: (Ljava/lang/reflect/Field;)Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
f
public native void ensureClassInitialized(java.lang.Class);
descriptor: (Ljava/lang/Class;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
c
public native int arrayBaseOffset(java.lang.Class);
descriptor: (Ljava/lang/Class;)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
arrayClass
public native int arrayIndexScale(java.lang.Class);
descriptor: (Ljava/lang/Class;)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
arrayClass
public native int addressSize();
descriptor: ()I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native int pageSize();
descriptor: ()I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native java.lang.Class defineClass(java.lang.String, byte[], int, int, java.lang.ClassLoader, java.security.ProtectionDomain);
descriptor: (Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
name
b
off
len
loader
protectionDomain
public native java.lang.Class defineClass(java.lang.String, byte[], int, int);
descriptor: (Ljava/lang/String;[BII)Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
RuntimeVisibleAnnotations:
java.lang.Deprecated()
sun.reflect.CallerSensitive()
RuntimeVisibleTypeAnnotations:
METHOD_RETURN
java.lang.Deprecated()
MethodParameters:
Name Flags
name
b
off
len
public native java.lang.Object allocateInstance(java.lang.Class);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Exceptions:
throws java.lang.InstantiationException
MethodParameters:
Name Flags
cls
public native void monitorEnter(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
public native void monitorExit(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
public native boolean tryMonitorEnter(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
public native void throwException(java.lang.Throwable);
descriptor: (Ljava/lang/Throwable;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
ee
public final native boolean compareAndSwapObject(java.lang.Object, long, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
expected
x
public final native boolean compareAndSwapInt(java.lang.Object, long, int, int);
descriptor: (Ljava/lang/Object;JII)Z
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
expected
x
public final native boolean compareAndSwapLong(java.lang.Object, long, long, long);
descriptor: (Ljava/lang/Object;JJJ)Z
flags: (0x0111) ACC_PUBLIC, ACC_FINAL, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
expected
x
public native java.lang.Object getObjectVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putObjectVolatile(java.lang.Object, long, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native int getIntVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putIntVolatile(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native boolean getBooleanVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putBooleanVolatile(java.lang.Object, long, boolean);
descriptor: (Ljava/lang/Object;JZ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native byte getByteVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)B
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putByteVolatile(java.lang.Object, long, byte);
descriptor: (Ljava/lang/Object;JB)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native short getShortVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)S
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putShortVolatile(java.lang.Object, long, short);
descriptor: (Ljava/lang/Object;JS)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native char getCharVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)C
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putCharVolatile(java.lang.Object, long, char);
descriptor: (Ljava/lang/Object;JC)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native long getLongVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)J
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putLongVolatile(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native float getFloatVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)F
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putFloatVolatile(java.lang.Object, long, float);
descriptor: (Ljava/lang/Object;JF)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native double getDoubleVolatile(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)D
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
public native void putDoubleVolatile(java.lang.Object, long, double);
descriptor: (Ljava/lang/Object;JD)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native void putOrderedObject(java.lang.Object, long, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native void putOrderedInt(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native void putOrderedLong(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
x
public native void unpark(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
thread
public native void park(boolean, long);
descriptor: (ZJ)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
isAbsolute
time
public native int getLoadAverage(double[], int);
descriptor: ([DI)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
loadavg
nelems
}
SourceFile: "Unsafe.java"