public class com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer<T extends org.graalvm.word.PointerBase>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer
  super_class: java.lang.Object
{
  private static final sun.misc.Unsafe UNSAFE;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final long VALUE_OFFSET;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private volatile long value;
    descriptor: J
    flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 287
            invokestatic org.graalvm.compiler.serviceprovider.GraalUnsafeAccess.getUnsafe:()Lsun/misc/Unsafe;
            putstatic com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.UNSAFE:Lsun/misc/Unsafe;
         1: .line 292
            getstatic com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.UNSAFE:Lsun/misc/Unsafe;
            ldc Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicPointer;
            ldc "value"
            invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
            invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
            putstatic com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.VALUE_OFFSET:J
         2: .line 293
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Throwable
         3: astore 0 /* ex */
        start local 0 // java.lang.Throwable ex
         4: .line 294
            aload 0 /* ex */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 0 // java.lang.Throwable ex
         5: .line 296
      StackMap locals:
      StackMap stack:
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0    ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Throwable

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
         0: .line 285
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicPointer<TT;>;

  public T get();
    descriptor: ()Lorg/graalvm/word/PointerBase;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
         0: .line 302
            aload 0 /* this */
            getfield com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.value:J
            invokestatic org.graalvm.word.WordFactory.pointer:(J)Lorg/graalvm/word/PointerBase;
            areturn
        end local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicPointer<TT;>;
    Signature: ()TT;
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)

  public void set();
    descriptor: (Lorg/graalvm/word/PointerBase;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
        start local 1 // org.graalvm.word.PointerBase newValue
         0: .line 307
            aload 0 /* this */
            aload 1 /* newValue */
            invokeinterface org.graalvm.word.PointerBase.rawValue:()J
            putfield com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.value:J
         1: .line 308
            return
        end local 1 // org.graalvm.word.PointerBase newValue
        end local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicPointer<TT;>;
            0    2     1  newValue  TT;
    Signature: (TT;)V
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
          Name  Flags
      newValue  

  public boolean compareAndSet(T, );
    descriptor: (Lorg/graalvm/word/PointerBase;Lorg/graalvm/word/PointerBase;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
        start local 1 // org.graalvm.word.PointerBase expected
        start local 2 // org.graalvm.word.PointerBase update
         0: .line 312
            getstatic com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.UNSAFE:Lsun/misc/Unsafe;
            aload 0 /* this */
            getstatic com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer.VALUE_OFFSET:J
            aload 1 /* expected */
            invokeinterface org.graalvm.word.PointerBase.rawValue:()J
            aload 2 /* update */
            invokeinterface org.graalvm.word.PointerBase.rawValue:()J
            invokevirtual sun.misc.Unsafe.compareAndSwapLong:(Ljava/lang/Object;JJJ)Z
            ireturn
        end local 2 // org.graalvm.word.PointerBase update
        end local 1 // org.graalvm.word.PointerBase expected
        end local 0 // com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    1     0      this  Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicPointer<TT;>;
            0    1     1  expected  TT;
            0    1     2    update  TT;
    Signature: (TT;TT;)Z
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
    MethodParameters:
          Name  Flags
      expected  
      update    
}
Signature: <T::Lorg/graalvm/word/PointerBase;>Ljava/lang/Object;
SourceFile: "UninterruptibleUtils.java"
NestHost: com.oracle.svm.core.jdk.UninterruptibleUtils
InnerClasses:
  public AtomicPointer = com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicPointer of com.oracle.svm.core.jdk.UninterruptibleUtils