public class com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest extends com.oracle.truffle.llvm.tests.interop.InteropTestBase
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest
  super_class: com.oracle.truffle.llvm.tests.interop.InteropTestBase
{
  static final com.oracle.truffle.api.interop.InteropLibrary INTEROP;
    descriptor: Lcom/oracle/truffle/api/interop/InteropLibrary;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final com.oracle.truffle.llvm.spi.ReferenceLibrary REFERENCES;
    descriptor: Lcom/oracle/truffle/llvm/spi/ReferenceLibrary;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static java.lang.Object testPointerAdd;
    descriptor: Ljava/lang/Object;
    flags: (0x0008) ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:()Lcom/oracle/truffle/api/interop/InteropLibrary;
            putstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
         1: .line 51
            invokestatic com.oracle.truffle.llvm.spi.ReferenceLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
            invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
            checkcast com.oracle.truffle.llvm.spi.ReferenceLibrary
            putstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.REFERENCES:Lcom/oracle/truffle/llvm/spi/ReferenceLibrary;
         2: .line 53
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
         0: .line 48
            aload 0 /* this */
            invokespecial com.oracle.truffle.llvm.tests.interop.InteropTestBase.<init>:()V
            return
        end local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/llvm/tests/interop/DeprecatedPointerCompareTest;

  public static void loadLibrary();
    descriptor: ()V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 57
            ldc "pointerArithmetic.c"
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.loadTestBitcodeInternal:(Ljava/lang/String;)Ljava/lang/Object;
            astore 0 /* testLibrary */
        start local 0 // java.lang.Object testLibrary
         1: .line 58
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            aload 0 /* testLibrary */
            ldc "test_pointer_add"
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
            putstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
         2: .line 59
            return
        end local 0 // java.lang.Object testLibrary
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            1    3     0  testLibrary  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.BeforeClass()

  private static java.lang.Object ptr(long);
    descriptor: (J)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // long v
         0: .line 94
            new com.oracle.truffle.llvm.tests.interop.values.NativeValue
            dup
            lload 0 /* v */
            invokespecial com.oracle.truffle.llvm.tests.interop.values.NativeValue.<init>:(J)V
            areturn
        end local 0 // long v
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     v  J
    MethodParameters:
      Name  Flags
      v     

  public void testIdenticalObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
         0: .line 99
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject
            dup
            iconst_1
            invokespecial com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject.<init>:(I)V
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* ptr1 */
        start local 1 // java.lang.Object ptr1
         1: .line 100
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject
            dup
            iconst_1
            invokespecial com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject.<init>:(I)V
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ptr2 */
        start local 2 // java.lang.Object ptr2
         2: .line 101
            ldc "equals"
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.REFERENCES:Lcom/oracle/truffle/llvm/spi/ReferenceLibrary;
            aload 1 /* ptr1 */
            aload 2 /* ptr2 */
            invokevirtual com.oracle.truffle.llvm.spi.ReferenceLibrary.isSame:(Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         3: .line 102
            return
        end local 2 // java.lang.Object ptr2
        end local 1 // java.lang.Object ptr1
        end local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/llvm/tests/interop/DeprecatedPointerCompareTest;
            1    4     1  ptr1  Ljava/lang/Object;
            2    4     2  ptr2  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testSameAndIdenticalObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=4, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
         0: .line 106
            new com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject
            dup
            iconst_2
            invokespecial com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject.<init>:(I)V
            astore 1 /* obj */
        start local 1 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject obj
         1: .line 107
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* obj */
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ptr1 */
        start local 2 // java.lang.Object ptr1
         2: .line 108
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* obj */
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 3 /* ptr2 */
        start local 3 // java.lang.Object ptr2
         3: .line 109
            ldc "equals"
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.REFERENCES:Lcom/oracle/truffle/llvm/spi/ReferenceLibrary;
            aload 2 /* ptr1 */
            aload 3 /* ptr2 */
            invokevirtual com.oracle.truffle.llvm.spi.ReferenceLibrary.isSame:(Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
         4: .line 110
            return
        end local 3 // java.lang.Object ptr2
        end local 2 // java.lang.Object ptr1
        end local 1 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject obj
        end local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/llvm/tests/interop/DeprecatedPointerCompareTest;
            1    5     1   obj  Lcom/oracle/truffle/llvm/tests/interop/DeprecatedPointerCompareTest$ReferenceEqualObject;
            2    5     2  ptr1  Ljava/lang/Object;
            3    5     3  ptr2  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()

  public void testNotIdenticalObject();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=1
        start local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
         0: .line 114
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject
            dup
            iconst_3
            invokespecial com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject.<init>:(I)V
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 1 /* ptr1 */
        start local 1 // java.lang.Object ptr1
         1: .line 115
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.INTEROP:Lcom/oracle/truffle/api/interop/InteropLibrary;
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.testPointerAdd:Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            new com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject
            dup
            iconst_4
            invokespecial com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject.<init>:(I)V
            aastore
            dup
            iconst_1
            ldc 42
            invokestatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.ptr:(J)Ljava/lang/Object;
            aastore
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.execute:(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            astore 2 /* ptr2 */
        start local 2 // java.lang.Object ptr2
         2: .line 116
            ldc "!equals"
            getstatic com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest.REFERENCES:Lcom/oracle/truffle/llvm/spi/ReferenceLibrary;
            aload 1 /* ptr1 */
            aload 2 /* ptr2 */
            invokevirtual com.oracle.truffle.llvm.spi.ReferenceLibrary.isSame:(Ljava/lang/Object;Ljava/lang/Object;)Z
            invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
         3: .line 117
            return
        end local 2 // java.lang.Object ptr2
        end local 1 // java.lang.Object ptr1
        end local 0 // com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/llvm/tests/interop/DeprecatedPointerCompareTest;
            1    4     1  ptr1  Ljava/lang/Object;
            2    4     2  ptr2  Ljava/lang/Object;
    Exceptions:
      throws com.oracle.truffle.api.interop.InteropException
    RuntimeVisibleAnnotations: 
      org.junit.Test()
}
SourceFile: "DeprecatedPointerCompareTest.java"
NestMembers:
  com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject  com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject$IsSame
InnerClasses:
  ReferenceEqualObject = com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest$ReferenceEqualObject of com.oracle.truffle.llvm.tests.interop.DeprecatedPointerCompareTest
    RuntimeVisibleAnnotations: 
      org.junit.runner.RunWith(value = Lcom/oracle/truffle/tck/TruffleRunner;)