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;})