public class org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap extends org.graalvm.compiler.jtt.JTTTest
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap
  super_class: org.graalvm.compiler.jtt.JTTTest
{
  static final sun.misc.Unsafe unsafe;
    descriptor: Lsun/misc/Unsafe;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final long valueOffset;
    descriptor: J
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private java.lang.String value;
    descriptor: Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE

  private static final org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap instance;
    descriptor: Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 35
            invokestatic org.graalvm.compiler.jtt.jdk.UnsafeAccess01.getUnsafe:()Lsun/misc/Unsafe;
            putstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.unsafe:Lsun/misc/Unsafe;
         1: .line 39
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.unsafe:Lsun/misc/Unsafe;
            ldc Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            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 org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.valueOffset:J
         2: .line 40
            goto 5
      StackMap locals:
      StackMap stack: java.lang.Exception
         3: astore 0 /* ex */
        start local 0 // java.lang.Exception ex
         4: .line 41
            new java.lang.Error
            dup
            aload 0 /* ex */
            invokespecial java.lang.Error.<init>:(Ljava/lang/Throwable;)V
            athrow
        end local 0 // java.lang.Exception ex
         5: .line 56
      StackMap locals:
      StackMap stack:
            new org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap
            dup
            invokespecial org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.<init>:()V
            putstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.instance:Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            4    5     0    ex  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.lang.Exception

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
         0: .line 33
            aload 0 /* this */
            invokespecial org.graalvm.compiler.jtt.JTTTest.<init>:()V
            return
        end local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;

  public static java.lang.String test(org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap, java.lang.Object, java.lang.String, java.lang.String);
    descriptor: (Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=4
        start local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap u
        start local 1 // java.lang.Object o
        start local 2 // java.lang.String expected
        start local 3 // java.lang.String newValue
         0: .line 47
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.unsafe:Lsun/misc/Unsafe;
            aload 0 /* u */
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.valueOffset:J
            aload 2 /* expected */
            aload 3 /* newValue */
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            pop
         1: .line 49
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.unsafe:Lsun/misc/Unsafe;
            aload 1 /* o */
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.valueOffset:J
            aload 2 /* expected */
            aload 3 /* newValue */
            invokevirtual sun.misc.Unsafe.compareAndSwapObject:(Ljava/lang/Object;JLjava/lang/Object;Ljava/lang/Object;)Z
            pop
         2: .line 51
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.instance:Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            getfield org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.value:Ljava/lang/String;
            areturn
        end local 3 // java.lang.String newValue
        end local 2 // java.lang.String expected
        end local 1 // java.lang.Object o
        end local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap u
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    3     0         u  Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            0    3     1         o  Ljava/lang/Object;
            0    3     2  expected  Ljava/lang/String;
            0    3     3  newValue  Ljava/lang/String;
    MethodParameters:
          Name  Flags
      u         
      o         
      expected  
      newValue  

  protected void before(jdk.vm.ci.meta.ResolvedJavaMethod);
    descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
        start local 1 // jdk.vm.ci.meta.ResolvedJavaMethod m
         0: .line 60
            getstatic org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.instance:Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            ldc "a"
            putfield org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap.value:Ljava/lang/String;
         1: .line 61
            return
        end local 1 // jdk.vm.ci.meta.ResolvedJavaMethod m
        end local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
            0    2     1     m  Ljdk/vm/ci/meta/ResolvedJavaMethod;
    MethodParameters:
      Name  Flags
      m     

  public void run0();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
         0: .line 63
            new java.lang.Error
            dup
            ldc "Unresolved compilation problem: \n\tTest cannot be resolved to a type\n"
            invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
            athrow
        end local 0 // org.graalvm.compiler.jtt.jdk.Unsafe_compareAndSwap this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/jtt/jdk/Unsafe_compareAndSwap;
    Exceptions:
      throws java.lang.Throwable
    RuntimeInvisibleAnnotations: 
      Test()
}
SourceFile: "Unsafe_compareAndSwap.java"