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
public static final int ARRAY_BOOLEAN_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_BYTE_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_SHORT_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_CHAR_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_INT_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_LONG_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_FLOAT_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_DOUBLE_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_OBJECT_BASE_OFFSET;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_BOOLEAN_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_BYTE_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_SHORT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_CHAR_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_INT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_LONG_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_FLOAT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_DOUBLE_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ARRAY_OBJECT_INDEX_SCALE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final int ADDRESS_SIZE;
descriptor: I
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
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: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [Z
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
4: putstatic sun.misc.Unsafe.ARRAY_BOOLEAN_BASE_OFFSET:I
5: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [B
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
6: putstatic sun.misc.Unsafe.ARRAY_BYTE_BASE_OFFSET:I
7: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [S
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
8: putstatic sun.misc.Unsafe.ARRAY_SHORT_BASE_OFFSET:I
9: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [C
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
10: putstatic sun.misc.Unsafe.ARRAY_CHAR_BASE_OFFSET:I
11: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [I
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
12: putstatic sun.misc.Unsafe.ARRAY_INT_BASE_OFFSET:I
13: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [J
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
14: putstatic sun.misc.Unsafe.ARRAY_LONG_BASE_OFFSET:I
15: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [F
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
16: putstatic sun.misc.Unsafe.ARRAY_FLOAT_BASE_OFFSET:I
17: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [D
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
18: putstatic sun.misc.Unsafe.ARRAY_DOUBLE_BASE_OFFSET:I
19: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [Ljava/lang/Object;
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
20: putstatic sun.misc.Unsafe.ARRAY_OBJECT_BASE_OFFSET:I
21: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [Z
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
22: putstatic sun.misc.Unsafe.ARRAY_BOOLEAN_INDEX_SCALE:I
23: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [B
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
24: putstatic sun.misc.Unsafe.ARRAY_BYTE_INDEX_SCALE:I
25: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [S
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
26: putstatic sun.misc.Unsafe.ARRAY_SHORT_INDEX_SCALE:I
27: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [C
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
28: putstatic sun.misc.Unsafe.ARRAY_CHAR_INDEX_SCALE:I
29: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [I
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
30: putstatic sun.misc.Unsafe.ARRAY_INT_INDEX_SCALE:I
31: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [J
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
32: putstatic sun.misc.Unsafe.ARRAY_LONG_INDEX_SCALE:I
33: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [F
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
34: putstatic sun.misc.Unsafe.ARRAY_FLOAT_INDEX_SCALE:I
35: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [D
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
36: putstatic sun.misc.Unsafe.ARRAY_DOUBLE_INDEX_SCALE:I
37: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
ldc [Ljava/lang/Object;
invokevirtual sun.misc.Unsafe.arrayIndexScale:(Ljava/lang/Class;)I
38: putstatic sun.misc.Unsafe.ARRAY_OBJECT_INDEX_SCALE:I
39: getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
invokevirtual sun.misc.Unsafe.addressSize:()I
putstatic sun.misc.Unsafe.ADDRESS_SIZE:I
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;
invokestatic sun.misc.VM.isSystemDomainLoader:(Ljava/lang/ClassLoader;)Z
ifne 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 caller 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()
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()
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()
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()
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()
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()
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()
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()
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()
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(java.lang.Object, long, long, byte);
descriptor: (Ljava/lang/Object;JJB)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
MethodParameters:
Name Flags
o
offset
bytes
value
public void setMemory(long, long, byte);
descriptor: (JJB)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
aconst_null
lload 1
lload 3
iload 5
invokevirtual sun.misc.Unsafe.setMemory:(Ljava/lang/Object;JJB)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 address J
0 2 3 bytes J
0 2 5 value B
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()
MethodParameters:
Name Flags
f
public 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
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
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 boolean shouldBeInitialized(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
c
public native void ensureClassInitialized(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
c
public native int arrayBaseOffset(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)I
MethodParameters:
Name Flags
arrayClass
public native int arrayIndexScale(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)I
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;)I
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
Signature: (Ljava/lang/String;[BIILjava/lang/ClassLoader;Ljava/security/ProtectionDomain;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
name
b
off
len
loader
protectionDomain
public native java.lang.Class<?> defineAnonymousClass(java.lang.Class<?>, byte[], []);
descriptor: (Ljava/lang/Class;[B[Ljava/lang/Object;)Ljava/lang/Class;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Signature: (Ljava/lang/Class<*>;[B[Ljava/lang/Object;)Ljava/lang/Class<*>;
MethodParameters:
Name Flags
hostClass
data
cpPatches
public native allocateInstance(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
Exceptions:
throws java.lang.InstantiationException
Signature: (Ljava/lang/Class<*>;)Ljava/lang/Object;
MethodParameters:
Name Flags
cls
public native void monitorEnter(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
public native void monitorExit(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
RuntimeVisibleAnnotations:
java.lang.Deprecated()
MethodParameters:
Name Flags
o
public native boolean tryMonitorEnter(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
RuntimeVisibleAnnotations:
java.lang.Deprecated()
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
public final int getAndAddInt(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 5
start local 5 1: aload 0
aload 1
lload 2
iload 5
iload 5
iload 4
iadd
invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
ifeq 0
2: iload 5
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 o Ljava/lang/Object;
0 3 2 offset J
0 3 4 delta I
1 3 5 v I
MethodParameters:
Name Flags
o
offset
delta
public final long getAndAddLong(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=10, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getLongVolatile:(Ljava/lang/Object;J)J
lstore 6
start local 6 1: aload 0
aload 1
lload 2
lload 6
lload 6
lload 4
ladd
invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
ifeq 0
2: lload 6
lreturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 o Ljava/lang/Object;
0 3 2 offset J
0 3 4 delta J
1 3 6 v J
MethodParameters:
Name Flags
o
offset
delta
public final int getAndSetInt(java.lang.Object, long, int);
descriptor: (Ljava/lang/Object;JI)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getIntVolatile:(Ljava/lang/Object;J)I
istore 5
start local 5 1: aload 0
aload 1
lload 2
iload 5
iload 4
invokevirtual sun.misc.Unsafe.compareAndSwapInt:(Ljava/lang/Object;JII)Z
ifeq 0
2: iload 5
ireturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 o Ljava/lang/Object;
0 3 2 offset J
0 3 4 newValue I
1 3 5 v I
MethodParameters:
Name Flags
o
offset
newValue
public final long getAndSetLong(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=8, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getLongVolatile:(Ljava/lang/Object;J)J
lstore 6
start local 6 1: aload 0
aload 1
lload 2
lload 6
lload 4
invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
ifeq 0
2: lload 6
lreturn
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 o Ljava/lang/Object;
0 3 2 offset J
0 3 4 newValue J
1 3 6 v J
MethodParameters:
Name Flags
o
offset
newValue
public final java.lang.Object getAndSetObject(java.lang.Object, long, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;)Ljava/lang/Object;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
invokevirtual sun.misc.Unsafe.getObjectVolatile:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 5
start local 5 1: aload 0
aload 1
lload 2
aload 5
aload 4
invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
ifeq 0
2: aload 5
areturn
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lsun/misc/Unsafe;
0 3 1 o Ljava/lang/Object;
0 3 2 offset J
0 3 4 newValue Ljava/lang/Object;
1 3 5 v Ljava/lang/Object;
MethodParameters:
Name Flags
o
offset
newValue
public native void loadFence();
descriptor: ()V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native void storeFence();
descriptor: ()V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
public native void fullFence();
descriptor: ()V
flags: (0x0101) ACC_PUBLIC, ACC_NATIVE
private static void throwIllegalAccessError();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.IllegalAccessError
dup
invokespecial java.lang.IllegalAccessError.<init>:()V
athrow
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "Unsafe.java"