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: .line 48
            invokestatic sun.misc.Unsafe.registerNatives:()V
         1: .line 49
            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: .line 54
            new sun.misc.Unsafe
            dup
            invokespecial sun.misc.Unsafe.<init>:()V
            putstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
         3: .line 553
            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 // sun.misc.Unsafe this
         0: .line 52
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // sun.misc.Unsafe this
      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: .line 88
            invokestatic sun.reflect.Reflection.getCallerClass:()Ljava/lang/Class;
            astore 0 /* cc */
        start local 0 // java.lang.Class cc
         1: .line 89
            aload 0 /* cc */
            invokevirtual java.lang.Class.getClassLoader:()Ljava/lang/ClassLoader;
            ifnull 3
         2: .line 90
            new java.lang.SecurityException
            dup
            ldc "Unsafe"
            invokespecial java.lang.SecurityException.<init>:(Ljava/lang/String;)V
            athrow
         3: .line 91
      StackMap locals: java.lang.Class
      StackMap stack:
            getstatic sun.misc.Unsafe.theUnsafe:Lsun/misc/Unsafe;
            areturn
        end local 0 // java.lang.Class cc
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 235
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // int x
         0: .line 244
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            iload 3 /* x */
            invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
         1: .line 245
            return
        end local 3 // int x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 253
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
            areturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // java.lang.Object x
         0: .line 262
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            aload 3 /* x */
            invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
         1: .line 263
            return
        end local 3 // java.lang.Object x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 271
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getBoolean:(Ljava/lang/Object;J)Z
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // boolean x
         0: .line 280
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            iload 3 /* x */
            invokevirtual sun.misc.Unsafe.putBoolean:(Ljava/lang/Object;JZ)V
         1: .line 281
            return
        end local 3 // boolean x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 289
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getByte:(Ljava/lang/Object;J)B
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // byte x
         0: .line 298
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            iload 3 /* x */
            invokevirtual sun.misc.Unsafe.putByte:(Ljava/lang/Object;JB)V
         1: .line 299
            return
        end local 3 // byte x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 307
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getShort:(Ljava/lang/Object;J)S
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // short x
         0: .line 316
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            iload 3 /* x */
            invokevirtual sun.misc.Unsafe.putShort:(Ljava/lang/Object;JS)V
         1: .line 317
            return
        end local 3 // short x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 325
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getChar:(Ljava/lang/Object;J)C
            ireturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // char x
         0: .line 334
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            iload 3 /* x */
            invokevirtual sun.misc.Unsafe.putChar:(Ljava/lang/Object;JC)V
         1: .line 335
            return
        end local 3 // char x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 343
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
            lreturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // long x
         0: .line 352
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            lload 3 /* x */
            invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
         1: .line 353
            return
        end local 3 // long x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 361
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getFloat:(Ljava/lang/Object;J)F
            freturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // float x
         0: .line 370
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            fload 3 /* x */
            invokevirtual sun.misc.Unsafe.putFloat:(Ljava/lang/Object;JF)V
         1: .line 371
            return
        end local 3 // float x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
         0: .line 379
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            invokevirtual sun.misc.Unsafe.getDouble:(Ljava/lang/Object;J)D
            dreturn
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Object o
        start local 2 // int offset
        start local 3 // double x
         0: .line 388
            aload 0 /* this */
            aload 1 /* o */
            iload 2 /* offset */
            i2l
            dload 3 /* x */
            invokevirtual sun.misc.Unsafe.putDouble:(Ljava/lang/Object;JD)V
         1: .line 389
            return
        end local 3 // double x
        end local 2 // int offset
        end local 1 // java.lang.Object o
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // long srcAddress
        start local 3 // long destAddress
        start local 5 // long bytes
         0: .line 534
            aload 0 /* this */
            aconst_null
            lload 1 /* srcAddress */
            aconst_null
            lload 3 /* destAddress */
            lload 5 /* bytes */
            invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
         1: .line 535
            return
        end local 5 // long bytes
        end local 3 // long destAddress
        end local 1 // long srcAddress
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.reflect.Field f
         0: .line 571
            aload 1 /* f */
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 2
         1: .line 572
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual sun.misc.Unsafe.staticFieldOffset:(Ljava/lang/reflect/Field;)J
            l2i
            ireturn
         2: .line 574
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* f */
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            l2i
            ireturn
        end local 1 // java.lang.reflect.Field f
        end local 0 // sun.misc.Unsafe this
      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 // sun.misc.Unsafe this
        start local 1 // java.lang.Class c
         0: .line 598
            aload 1 /* c */
            invokevirtual java.lang.Class.getDeclaredFields:()[Ljava/lang/reflect/Field;
            astore 2 /* fields */
        start local 2 // java.lang.reflect.Field[] fields
         1: .line 599
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         2: goto 6
         3: .line 600
      StackMap locals: java.lang.reflect.Field[] int
      StackMap stack:
            aload 2 /* fields */
            iload 3 /* i */
            aaload
            invokevirtual java.lang.reflect.Field.getModifiers:()I
            invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
            ifeq 5
         4: .line 601
            aload 0 /* this */
            aload 2 /* fields */
            iload 3 /* i */
            aaload
            invokevirtual sun.misc.Unsafe.staticFieldBase:(Ljava/lang/reflect/Field;)Ljava/lang/Object;
            areturn
         5: .line 599
      StackMap locals:
      StackMap stack:
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 3 /* i */
            aload 2 /* fields */
            arraylength
            if_icmplt 3
        end local 3 // int i
         7: .line 604
            aconst_null
            areturn
        end local 2 // java.lang.reflect.Field[] fields
        end local 1 // java.lang.Class c
        end local 0 // sun.misc.Unsafe this
      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"