public class com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 extends com.oracle.truffle.api.instrumentation.test.EnableableInstrument
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2
  super_class: com.oracle.truffle.api.instrumentation.test.EnableableInstrument
{
  private com.oracle.truffle.api.instrumentation.EventBinding<?>[] bindings;
    descriptor: [Lcom/oracle/truffle/api/instrumentation/EventBinding;
    flags: (0x0002) ACC_PRIVATE
    Signature: [Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 this
         0: .line 162
            aload 0 /* this */
            invokespecial com.oracle.truffle.api.instrumentation.test.EnableableInstrument.<init>:()V
            return
        end local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest$TestAsyncAttachement2;

  public synchronized void setEnabled(boolean);
    descriptor: (Z)V
    flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 this
        start local 1 // boolean enabled
         0: .line 168
            iload 1 /* enabled */
            ifeq 4
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.bindings:[Lcom/oracle/truffle/api/instrumentation/EventBinding;
            ifnonnull 4
         1: .line 169
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.getEnv:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
            invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
            invokestatic com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest.createDummyBindings:(Lcom/oracle/truffle/api/instrumentation/Instrumenter;)[Lcom/oracle/truffle/api/instrumentation/EventBinding;
            putfield com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.bindings:[Lcom/oracle/truffle/api/instrumentation/EventBinding;
         2: .line 170
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest.createDisposeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.incrementAndGet:()I
            pop
         3: .line 171
            goto 12
      StackMap locals:
      StackMap stack:
         4: iload 1 /* enabled */
            ifne 12
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.bindings:[Lcom/oracle/truffle/api/instrumentation/EventBinding;
            ifnull 12
         5: .line 172
            getstatic com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest.createDisposeCount:Ljava/util/concurrent/atomic/AtomicInteger;
            invokevirtual java.util.concurrent.atomic.AtomicInteger.decrementAndGet:()I
            pop
         6: .line 173
            aload 0 /* this */
            getfield com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.bindings:[Lcom/oracle/truffle/api/instrumentation/EventBinding;
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 10
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 int top int int com.oracle.truffle.api.instrumentation.EventBinding[]
      StackMap stack:
         7: aload 5
            iload 3
            aaload
            astore 2 /* b */
        start local 2 // com.oracle.truffle.api.instrumentation.EventBinding b
         8: .line 174
            aload 2 /* b */
            invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
        end local 2 // com.oracle.truffle.api.instrumentation.EventBinding b
         9: .line 173
            iinc 3 1
      StackMap locals:
      StackMap stack:
        10: iload 3
            iload 4
            if_icmplt 7
        11: .line 176
            aload 0 /* this */
            aconst_null
            putfield com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2.bindings:[Lcom/oracle/truffle/api/instrumentation/EventBinding;
        12: .line 178
      StackMap locals: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 int
      StackMap stack:
            return
        end local 1 // boolean enabled
        end local 0 // com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   13     0     this  Lcom/oracle/truffle/api/instrumentation/test/InstrumentationMultiThreadingTest$TestAsyncAttachement2;
            0   13     1  enabled  Z
            8    9     2        b  Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
    MethodParameters:
         Name  Flags
      enabled  
}
SourceFile: "InstrumentationMultiThreadingTest.java"
NestHost: com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest
InnerClasses:
  public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public abstract Registration = com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration of com.oracle.truffle.api.instrumentation.TruffleInstrument
  public TestAsyncAttachement2 = com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest$TestAsyncAttachement2 of com.oracle.truffle.api.instrumentation.test.InstrumentationMultiThreadingTest
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(id = "testAsyncAttachement2", services = {Lcom/oracle/truffle/api/instrumentation/test/EnableableInstrument;})