class com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1 implements com.oracle.truffle.api.instrumentation.ExecuteSourceListener
minor version: 0
major version: 59
flags: flags: (0x0020) ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1
super_class: java.lang.Object
{
final com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread this$1;
descriptor: Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.atomic.AtomicBoolean val$createEventNodeCalled;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.CountDownLatch val$executionEventLatch;
descriptor: Ljava/util/concurrent/CountDownLatch;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
private final java.util.concurrent.atomic.AtomicBoolean val$onExecuteCalled;
descriptor: Ljava/util/concurrent/atomic/AtomicBoolean;
flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC
void <init>(com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread, java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.CountDownLatch, java.util.concurrent.atomic.AtomicBoolean);
descriptor: (Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/CountDownLatch;Ljava/util/concurrent/atomic/AtomicBoolean;)V
flags: (0x0000)
Code:
stack=2, locals=5, args_size=5
start local 0 0: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$createEventNodeCalled:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
aload 3
putfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$executionEventLatch:Ljava/util/concurrent/CountDownLatch;
aload 0
aload 4
putfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$onExecuteCalled:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1;
MethodParameters:
Name Flags
this$0 final
val$createEventNodeCalled final
val$executionEventLatch final
val$onExecuteCalled final
public void onExecute(com.oracle.truffle.api.instrumentation.ExecuteSourceEvent);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.env: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.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray com.oracle.truffle.api.source.Source
dup
iconst_0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ExecuteSourceEvent.getSource:()Lcom/oracle/truffle/api/source/Source;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceIs:([Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
com/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1.lambda$0(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
1: aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
getstatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.ANY:Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
aload 0
aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$createEventNodeCalled:Ljava/util/concurrent/atomic/AtomicBoolean;
aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$executionEventLatch:Ljava/util/concurrent/CountDownLatch;
invokedynamic create(Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1;Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/CountDownLatch;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
com/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1.lambda$1(Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/CountDownLatch;Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode; (7)
(Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
2: aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$onExecuteCalled:Ljava/util/concurrent/atomic/AtomicBoolean;
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifne 8
3: aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.executionLatches:Ljava/util/Iterator;
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.concurrent.CountDownLatch
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
4: aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.val$executionEventLatch:Ljava/util/concurrent/CountDownLatch;
invokevirtual java.util.concurrent.CountDownLatch.await:()V
5: goto 8
StackMap locals:
StackMap stack: java.lang.InterruptedException
6: astore 2
start local 2 7: aload 2
invokestatic com.oracle.truffle.api.CompilerDirectives.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1;
0 9 1 event Lcom/oracle/truffle/api/instrumentation/ExecuteSourceEvent;
7 8 2 ex Ljava/lang/InterruptedException;
Exception table:
from to target type
4 5 6 Class java.lang.InterruptedException
MethodParameters:
Name Flags
event
private static void lambda$0(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
private com.oracle.truffle.api.instrumentation.ExecutionEventNode lambda$1(java.util.concurrent.atomic.AtomicBoolean, java.util.concurrent.CountDownLatch, com.oracle.truffle.api.instrumentation.EventContext);
descriptor: (Ljava/util/concurrent/atomic/AtomicBoolean;Ljava/util/concurrent/CountDownLatch;Lcom/oracle/truffle/api/instrumentation/EventContext;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=6, locals=4, args_size=4
start local 0 start local 3 0: aload 1
iconst_1
invokevirtual java.util.concurrent.atomic.AtomicBoolean.getAndSet:(Z)Z
ifne 2
1: aload 2
invokevirtual java.util.concurrent.CountDownLatch.countDown:()V
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1.this$1:Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread;
getfield com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.env: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.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray com.oracle.truffle.api.source.Source
dup
iconst_0
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.sourceIs:([Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
invokedynamic onLoad()Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
com/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1.lambda$2(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V (6)
(Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.visitLoadedSourceSections:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionListener;)V
3: new com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1$1
dup
aload 0
invokespecial com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1$1.<init>:(Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1;)V
areturn
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/test/GR25718Test$InstrumentationThread$1;
0 4 3 context Lcom/oracle/truffle/api/instrumentation/EventContext;
private static void lambda$2(com.oracle.truffle.api.instrumentation.LoadSourceSectionEvent);
descriptor: (Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 s Lcom/oracle/truffle/api/instrumentation/LoadSourceSectionEvent;
}
SourceFile: "GR25718Test.java"
EnclosingMethod: com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread.run:()V
NestHost: com.oracle.truffle.api.instrumentation.test.GR25718Test
InnerClasses:
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final Env = com.oracle.truffle.api.instrumentation.TruffleInstrument$Env of com.oracle.truffle.api.instrumentation.TruffleInstrument
private InstrumentationThread = com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread of com.oracle.truffle.api.instrumentation.test.GR25718Test
com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1
com.oracle.truffle.api.instrumentation.test.GR25718Test$InstrumentationThread$1$1
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles