public class com.oracle.truffle.tck.instrumentation.VerifierInstrument extends com.oracle.truffle.api.instrumentation.TruffleInstrument implements com.oracle.truffle.tck.common.inline.InlineVerifier
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.truffle.tck.instrumentation.VerifierInstrument
super_class: com.oracle.truffle.api.instrumentation.TruffleInstrument
{
private com.oracle.truffle.api.instrumentation.TruffleInstrument$Env env;
descriptor: Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory inlineScriptFactory;
descriptor: Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
flags: (0x0002) ACC_PRIVATE
private com.oracle.truffle.api.instrumentation.EventBinding<com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory> inlineBinding;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0002) ACC_PRIVATE
Signature: Lcom/oracle/truffle/api/instrumentation/EventBinding<Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;>;
private static final java.lang.ThreadLocal<java.lang.Boolean> ENTERED;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/lang/Boolean;>;
static final com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor ACCESSOR;
descriptor: Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$TruffleTCKAccessor;
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.ENTERED:Ljava/lang/ThreadLocal;
1: new com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor
dup
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor.<init>:()V
putstatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.ACCESSOR:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$TruffleTCKAccessor;
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 0: aload 0
invokespecial com.oracle.truffle.api.instrumentation.TruffleInstrument.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
protected void onCreate(com.oracle.truffle.api.instrumentation.TruffleInstrument$Env);
descriptor: (Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
1: aload 1
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.registerService:(Ljava/lang/Object;)V
2: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
3: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
4: new com.oracle.truffle.tck.instrumentation.VerifierInstrument$RootFrameChecker
dup
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$RootFrameChecker.<init>:()V
5: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
6: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
7: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
8: new com.oracle.truffle.tck.instrumentation.VerifierInstrument$NodePropertyChecker
dup
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$NodePropertyChecker.<init>:()V
9: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
10: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
11: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_1
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
12: new com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker
dup
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker.<init>:()V
13: 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
14: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
15: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
16: new com.oracle.truffle.tck.instrumentation.VerifierInstrument$EmptyExecutionEventListener
dup
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$EmptyExecutionEventListener.<init>:()V
17: invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventListener:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventListener;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
pop
18: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
0 19 1 instrumentEnv Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
MethodParameters:
Name Flags
instrumentEnv
public void setInlineSnippet(java.lang.String, org.graalvm.polyglot.tck.InlineSnippet, com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier);
descriptor: (Ljava/lang/String;Lorg/graalvm/polyglot/tck/InlineSnippet;Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
ifnull 7
1: aload 0
new com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory
dup
aload 0
aload 1
aload 2
aload 3
invokespecial com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.<init>:(Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;Ljava/lang/String;Lorg/graalvm/polyglot/tck/InlineSnippet;Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;)V
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineScriptFactory:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
2: aload 0
aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.env:Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
3: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
aastore
dup
iconst_1
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$CallTag;
aastore
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.tagIs:([Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
invokevirtual com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder.build:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
4: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineScriptFactory:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
5: 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;
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
6: goto 13
StackMap locals:
StackMap stack:
7: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
ifnull 13
8: aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineScriptFactory:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory.snippetExecuted:Z
ifne 10
9: ldc "Inline snippet was not executed."
invokestatic org.junit.Assert.fail:(Ljava/lang/String;)V
10: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
11: aload 0
aconst_null
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineBinding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
12: aload 0
aconst_null
putfield com.oracle.truffle.tck.instrumentation.VerifierInstrument.inlineScriptFactory:Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument$InlineScriptFactory;
13: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/tck/instrumentation/VerifierInstrument;
0 14 1 languageId Ljava/lang/String;
0 14 2 inlineSnippet Lorg/graalvm/polyglot/tck/InlineSnippet;
0 14 3 verifier Lcom/oracle/truffle/tck/common/inline/InlineVerifier$ResultVerifier;
MethodParameters:
Name Flags
languageId
inlineSnippet
verifier
private static void leave();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.ENTERED:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private static void enter();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.ENTERED:Ljava/lang/ThreadLocal;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
1: return
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
private static boolean isEntered();
descriptor: ()Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
getstatic com.oracle.truffle.tck.instrumentation.VerifierInstrument.ENTERED:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
}
SourceFile: "VerifierInstrument.java"
NestMembers:
com.oracle.truffle.tck.instrumentation.VerifierInstrument$EmptyExecutionEventListener com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory$InlineScriptNode com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker$LibraryCheckerNode$InstrumentableNodeInLibrary com.oracle.truffle.tck.instrumentation.VerifierInstrument$NodePropertyChecker com.oracle.truffle.tck.instrumentation.VerifierInstrument$RootFrameChecker com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final CallTag = com.oracle.truffle.api.instrumentation.StandardTags$CallTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootTag = com.oracle.truffle.api.instrumentation.StandardTags$RootTag of com.oracle.truffle.api.instrumentation.StandardTags
public final StatementTag = com.oracle.truffle.api.instrumentation.StandardTags$StatementTag of com.oracle.truffle.api.instrumentation.StandardTags
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 abstract ResultVerifier = com.oracle.truffle.tck.common.inline.InlineVerifier$ResultVerifier of com.oracle.truffle.tck.common.inline.InlineVerifier
private final EmptyExecutionEventListener = com.oracle.truffle.tck.instrumentation.VerifierInstrument$EmptyExecutionEventListener of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private InlineScriptFactory = com.oracle.truffle.tck.instrumentation.VerifierInstrument$InlineScriptFactory of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private LibraryChecker = com.oracle.truffle.tck.instrumentation.VerifierInstrument$LibraryChecker of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private NodePropertyChecker = com.oracle.truffle.tck.instrumentation.VerifierInstrument$NodePropertyChecker of com.oracle.truffle.tck.instrumentation.VerifierInstrument
private RootFrameChecker = com.oracle.truffle.tck.instrumentation.VerifierInstrument$RootFrameChecker of com.oracle.truffle.tck.instrumentation.VerifierInstrument
final TruffleTCKAccessor = com.oracle.truffle.tck.instrumentation.VerifierInstrument$TruffleTCKAccessor of com.oracle.truffle.tck.instrumentation.VerifierInstrument
RuntimeVisibleAnnotations:
com.oracle.truffle.api.instrumentation.TruffleInstrument$Registration(name = "TckVerifierInstrument", id = "TckVerifierInstrument", services = {Lcom/oracle/truffle/tck/common/inline/InlineVerifier;})