public final class com.oracle.truffle.api.instrumentation.EventContext
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.api.instrumentation.EventContext
super_class: java.lang.Object
{
private final com.oracle.truffle.api.instrumentation.ProbeNode probeNode;
descriptor: Lcom/oracle/truffle/api/instrumentation/ProbeNode;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.api.source.SourceSection sourceSection;
descriptor: Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile java.lang.Object nodeObject;
descriptor: Ljava/lang/Object;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/api/instrumentation/EventContext;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
void <init>(com.oracle.truffle.api.instrumentation.ProbeNode, com.oracle.truffle.api.source.SourceSection);
descriptor: (Lcom/oracle/truffle/api/instrumentation/ProbeNode;Lcom/oracle/truffle/api/source/SourceSection;)V
flags: (0x0000)
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 2
putfield com.oracle.truffle.api.instrumentation.EventContext.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
2: aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 4 1 probeNode Lcom/oracle/truffle/api/instrumentation/ProbeNode;
0 4 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
probeNode
sourceSection
boolean validEventContextOnWrapperInsert();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
start local 1 1: aload 1
instanceof com.oracle.truffle.api.nodes.RootNode
ifeq 3
2: new java.lang.IllegalStateException
dup
ldc "Instrumentable node must not be a root node."
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
iconst_0
istore 2
start local 2 4: getstatic com.oracle.truffle.api.instrumentation.StandardTags.ALL_TAGS:[Ljava/lang/Class;
dup
astore 6
arraylength
istore 5
iconst_0
istore 4
goto 10
StackMap locals: com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.nodes.Node int top int int java.lang.Class[]
StackMap stack:
5: aload 6
iload 4
aaload
astore 3
start local 3 6: aload 0
aload 3
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.hasTag:(Ljava/lang/Class;)Z
ifeq 9
7: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 8
aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
aload 3
invokestatic com.oracle.truffle.api.instrumentation.EventContext.languageDeclaresTag:(Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Class;)Z
ifne 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.nodes.Node int java.lang.Class int int java.lang.Class[]
StackMap stack:
iconst_1
istore 2
end local 3 9: StackMap locals: com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.nodes.Node int top int int java.lang.Class[]
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
10: iload 4
iload 5
if_icmplt 5
11: iload 2
ifeq 15
12: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 3
start local 3 13: aload 3
ifnull 15
aload 3
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
ifnull 15
14: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 15
aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
ifnonnull 15
new java.lang.AssertionError
dup
ldc "All nodes tagged with a standard tag and with a root node that has a source section must also have a source section."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 3 15: StackMap locals: com.oracle.truffle.api.instrumentation.EventContext com.oracle.truffle.api.nodes.Node int
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
1 16 1 node Lcom/oracle/truffle/api/nodes/Node;
4 16 2 foundStandardTag Z
6 9 3 clazz Ljava/lang/Class<*>;
13 15 3 root Lcom/oracle/truffle/api/nodes/RootNode;
boolean validEventContextOnLazyUpdate();
descriptor: ()Z
flags: (0x0000)
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
start local 1 1: aload 1
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.getNodeObject:()Ljava/lang/Object;
astore 2
start local 2 2: aload 2
ifnull 4
3: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 4
aload 0
aload 2
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.isValidNodeObject:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.truffle.api.nodes.Node java.lang.Object
StackMap stack:
iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
1 5 1 node Lcom/oracle/truffle/api/nodes/Node;
2 5 2 object Ljava/lang/Object;
private static boolean languageDeclaresTag(com.oracle.truffle.api.nodes.RootNode, java.lang.Class<?>);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Class;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.nodesAccess:()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.getPolyglotEngine:(Lcom/oracle/truffle/api/nodes/RootNode;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 2
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getInstrumentationHandler:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.instrumentation.InstrumentationHandler
astore 3
start local 3 4: aload 3
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.InstrumentationHandler.getProvidedTags:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/util/Set;
astore 4
start local 4 5: aload 4
aload 1
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifne 10
6: invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.nodesAccess:()Lcom/oracle/truffle/api/impl/Accessor$NodeSupport;
aload 0
invokevirtual com.oracle.truffle.api.impl.Accessor$NodeSupport.getLanguage:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/TruffleLanguage;
astore 5
start local 5 7: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "An instrumentable node returned true for a tag that was not provided by the language '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
invokevirtual com.oracle.truffle.api.nodes.LanguageInfo.getId:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "'.\n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
8: ldc "Add @ProvidedTags with tag "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " to "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
9: invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 5 10: StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentationHandler java.util.Set
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 root Lcom/oracle/truffle/api/nodes/RootNode;
0 11 1 tag Ljava/lang/Class<*>;
1 11 2 polyglotEngine Ljava/lang/Object;
4 11 3 handler Lcom/oracle/truffle/api/instrumentation/InstrumentationHandler;
5 11 4 providedTags Ljava/util/Set<Ljava/lang/Class<*>;>;
7 10 5 language Lcom/oracle/truffle/api/TruffleLanguage<*>;
Signature: (Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Class<*>;)Z
MethodParameters:
Name Flags
root
tag
com.oracle.truffle.api.instrumentation.ProbeNode getProbeNode();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ProbeNode;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
public boolean hasTag(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 3
1: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreter:()V
2: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 2
start local 2 4: aload 2
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 8
5: aload 2
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
aload 1
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.hasTag:(Ljava/lang/Class;)Z
istore 3
start local 3 6: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 7
iload 3
ifeq 7
aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
aload 1
invokestatic com.oracle.truffle.api.instrumentation.EventContext.languageDeclaresTag:(Lcom/oracle/truffle/api/nodes/RootNode;Ljava/lang/Class;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals: com.oracle.truffle.api.nodes.Node int
StackMap stack:
iload 3
ireturn
end local 3 8: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 9 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
4 9 2 node Lcom/oracle/truffle/api/nodes/Node;
6 8 3 has Z
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Z
MethodParameters:
Name Flags
tag
public java.lang.Object getNodeObject();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.nodeObject:Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 13
2: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
3: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 2
start local 2 4: aload 2
instanceof com.oracle.truffle.api.instrumentation.InstrumentableNode
ifeq 7
5: aload 2
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.getNodeObject:()Ljava/lang/Object;
astore 1
6: goto 8
7: StackMap locals: java.lang.Object com.oracle.truffle.api.nodes.Node
StackMap stack:
aconst_null
areturn
8: StackMap locals:
StackMap stack:
aload 1
ifnonnull 11
9: invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.interopAccess:()Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
aload 2
invokevirtual com.oracle.truffle.api.impl.Accessor$InteropSupport.createDefaultNodeObject:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 1
10: goto 12
11: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 12
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.isValidNodeObject:(Ljava/lang/Object;)Z
ifne 12
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 0
aload 1
putfield com.oracle.truffle.api.instrumentation.EventContext.nodeObject:Ljava/lang/Object;
end local 2 13: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
1 14 1 object Ljava/lang/Object;
4 13 2 node Lcom/oracle/truffle/api/nodes/Node;
public com.oracle.truffle.api.source.SourceSection getInstrumentedSourceSection();
descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.sourceSection:Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
public com.oracle.truffle.api.nodes.Node getInstrumentedNode();
descriptor: ()Lcom/oracle/truffle/api/nodes/Node;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.findWrapper:()Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
astore 1
start local 1 1: aload 1
ifnull 2
aload 1
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode.getDelegateNode:()Lcom/oracle/truffle/api/nodes/Node;
goto 3
StackMap locals: com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode
StackMap stack:
2: aconst_null
StackMap locals:
StackMap stack: com.oracle.truffle.api.nodes.Node
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
1 4 1 wrapper Lcom/oracle/truffle/api/instrumentation/InstrumentableNode$WrapperNode;
public boolean isLanguageContextInitialized();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
astore 1
start local 1 2: aload 1
ifnonnull 4
3: iconst_1
ireturn
4: StackMap locals: com.oracle.truffle.api.nodes.Node
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 2
start local 2 5: aload 2
ifnonnull 7
6: iconst_1
ireturn
7: StackMap locals: com.oracle.truffle.api.nodes.RootNode
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
astore 3
start local 3 8: invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.engineAccess:()Lcom/oracle/truffle/api/impl/Accessor$EngineSupport;
aload 3
invokevirtual com.oracle.truffle.api.impl.Accessor$EngineSupport.getEnvForInstrument:(Lcom/oracle/truffle/api/nodes/LanguageInfo;)Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 4
start local 4 9: invokestatic com.oracle.truffle.api.instrumentation.InstrumentAccessor.langAccess:()Lcom/oracle/truffle/api/impl/Accessor$LanguageSupport;
aload 4
invokevirtual com.oracle.truffle.api.impl.Accessor$LanguageSupport.isContextInitialized:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
2 10 1 node Lcom/oracle/truffle/api/nodes/Node;
5 10 2 root Lcom/oracle/truffle/api/nodes/RootNode;
8 10 3 languageInfo Lcom/oracle/truffle/api/nodes/LanguageInfo;
9 10 4 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
public com.oracle.truffle.api.instrumentation.ExecutionEventNode lookupExecutionEventNode(com.oracle.truffle.api.instrumentation.EventBinding<? extends com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory>);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.getElement:()Ljava/lang/Object;
instanceof com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory
ifne 2
1: new java.lang.IllegalArgumentException
dup
ldc "Binding is not a subtype of %s."
iconst_1
anewarray java.lang.Object
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.lookupExecutionEventNode:(Lcom/oracle/truffle/api/instrumentation/EventBinding;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 3 1 binding Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;
Signature: (Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;)Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;
MethodParameters:
Name Flags
binding
public java.util.Iterator<com.oracle.truffle.api.instrumentation.ExecutionEventNode> lookupExecutionEventNodes(java.util.Collection<com.oracle.truffle.api.instrumentation.EventBinding<? extends com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory>>);
descriptor: (Ljava/util/Collection;)Ljava/util/Iterator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.api.instrumentation.EventContext.probeNode:Lcom/oracle/truffle/api/instrumentation/ProbeNode;
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.ProbeNode.lookupExecutionEventNodes:(Ljava/util/Collection;)Ljava/util/Iterator;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 1 bindings Ljava/util/Collection<Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;>;
Signature: (Ljava/util/Collection<Lcom/oracle/truffle/api/instrumentation/EventBinding<+Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;>;)Ljava/util/Iterator<Lcom/oracle/truffle/api/instrumentation/ExecutionEventNode;>;
MethodParameters:
Name Flags
bindings
public java.lang.ThreadDeath createUnwind(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/ThreadDeath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
aconst_null
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.createUnwind:(Ljava/lang/Object;Lcom/oracle/truffle/api/instrumentation/EventBinding;)Ljava/lang/ThreadDeath;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 1 info Ljava/lang/Object;
MethodParameters:
Name Flags
info
public java.lang.ThreadDeath createUnwind(, com.oracle.truffle.api.instrumentation.EventBinding<?>);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/instrumentation/EventBinding;)Ljava/lang/ThreadDeath;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.api.instrumentation.UnwindException
dup
aload 1
aload 2
invokespecial com.oracle.truffle.api.instrumentation.UnwindException.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/api/instrumentation/EventBinding;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 1 info Ljava/lang/Object;
0 1 2 unwindBinding Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;
Signature: (Ljava/lang/Object;Lcom/oracle/truffle/api/instrumentation/EventBinding<*>;)Ljava/lang/ThreadDeath;
MethodParameters:
Name Flags
info
unwindBinding
public java.lang.RuntimeException createError(java.lang.RuntimeException);
descriptor: (Ljava/lang/RuntimeException;)Ljava/lang/RuntimeException;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.api.instrumentation.InstrumentException
dup
aload 0
aload 1
invokespecial com.oracle.truffle.api.instrumentation.InstrumentException.<init>:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/RuntimeException;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 1 1 e Ljava/lang/RuntimeException;
MethodParameters:
Name Flags
e
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "EventContext[source="
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
private boolean isValidNodeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
start local 2 2: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifne 4
3: new java.lang.AssertionError
dup
ldc "Invalid node object: must return true for the hasMembers message."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 5: goto 8
end local 3 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
6: astore 4
start local 4 7: new java.lang.AssertionError
dup
ldc "Invalid node object: must support the getMembers message."
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 8: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 3
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 4
start local 4 9: aload 4
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifne 11
10: new java.lang.AssertionError
dup
ldc "Invalid node object: the returned members object must support hasArrayElements."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
11: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 4
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 5
start local 5 12: goto 15
end local 5 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
13: pop
14: new java.lang.AssertionError
dup
ldc "Invalid node object: the returned members object must have a size."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 5 15: StackMap locals: long
StackMap stack:
lconst_0
lstore 7
start local 7 16: goto 35
17: StackMap locals: long
StackMap stack:
aload 4
aload 3
lload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 9
start local 9 18: goto 21
end local 9 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
19: pop
20: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object: the returned members object must be readable at number index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 9 21: StackMap locals: java.lang.Object
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 9
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 10
start local 10 22: aload 10
aload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifne 24
23: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object: the returned member must return a string at index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 7
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc ". But was "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
24: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 10
aload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 11
start local 11 25: goto 28
end local 11 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
26: pop
27: new java.lang.AssertionError
dup
ldc "Invalid node object: the returned member must return a string "
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 11 28: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 1
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
pop
29: goto 32
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
30: pop
31: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object: the returned member must be readable with identifier "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
32: StackMap locals:
StackMap stack:
aload 2
aload 1
aload 11
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberWritable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 34
33: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object: The member "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " is marked as writable but node objects must not be writable."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 11 end local 10 end local 9 34: StackMap locals:
StackMap stack:
lload 7
lconst_1
ladd
lstore 7
StackMap locals:
StackMap stack:
35: lload 7
lload 5
lcmp
iflt 17
end local 7 36: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 38
37: new java.lang.AssertionError
dup
ldc "Invalid node object: the node object must not return true for hasArrayElements."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
38: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.isValidTaggedNodeObject:(Ljava/lang/Object;)Z
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 39 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 39 1 obj Ljava/lang/Object;
2 39 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
5 6 3 members Ljava/lang/Object;
8 39 3 members Ljava/lang/Object;
7 8 4 e Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
9 39 4 membersInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
12 13 5 size J
15 39 5 size J
16 36 7 i J
18 19 9 key Ljava/lang/Object;
21 34 9 key Ljava/lang/Object;
22 34 10 keyInterop Lcom/oracle/truffle/api/interop/InteropLibrary;
25 26 11 member Ljava/lang/String;
28 34 11 member Ljava/lang/String;
Exception table:
from to target type
4 5 6 Class com.oracle.truffle.api.interop.UnsupportedMessageException
11 12 13 Class com.oracle.truffle.api.interop.UnsupportedMessageException
17 18 19 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
17 18 19 Class com.oracle.truffle.api.interop.UnsupportedMessageException
24 25 26 Class com.oracle.truffle.api.interop.UnsupportedMessageException
28 29 30 Class com.oracle.truffle.api.interop.UnknownIdentifierException
28 29 30 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
obj
private boolean isValidTaggedNodeObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ReadVariableTag;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.hasTag:(Ljava/lang/Class;)Z
ifeq 2
1: aload 1
ldc "readVariableName"
invokestatic com.oracle.truffle.api.instrumentation.EventContext.isValidVarsNodeObject:(Ljava/lang/Object;Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$WriteVariableTag;
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.hasTag:(Ljava/lang/Class;)Z
ifeq 4
3: aload 1
ldc "writeVariableName"
invokestatic com.oracle.truffle.api.instrumentation.EventContext.isValidVarsNodeObject:(Ljava/lang/Object;Ljava/lang/String;)V
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/api/instrumentation/EventContext;
0 5 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
private static void isValidVarsNodeObject(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
start local 2 1: aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberReadable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifne 3
2: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", does not have "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " member."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 2
aload 0
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 4: goto 7
end local 3 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
5: astore 4
start local 4 6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", can not read "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " member."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 4
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 4 start local 3 7: StackMap locals: java.lang.Object
StackMap stack:
aload 3
instanceof java.lang.String
ifeq 9
8: return
9: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 3
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
10: aload 2
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 25
11: aload 2
aload 3
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 4
start local 4 12: goto 15
end local 4 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
13: pop
14: new java.lang.AssertionError
dup
ldc "Invalid node object: the returned variable name object must have a size when it's an array."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 4 15: StackMap locals: long
StackMap stack:
lconst_0
lstore 6
start local 6 16: goto 23
17: StackMap locals: long
StackMap stack:
aload 2
aload 3
lload 6
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 8
start local 8 18: goto 21
end local 8 StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
19: pop
20: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid node object: the returned variable name object must be readable at number index "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 6
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
start local 8 21: StackMap locals: java.lang.Object
StackMap stack:
aload 8
invokestatic com.oracle.truffle.api.instrumentation.EventContext.isValidVarObject:(Ljava/lang/Object;)V
end local 8 22: lload 6
lconst_1
ladd
lstore 6
StackMap locals:
StackMap stack:
23: lload 6
lload 4
lcmp
iflt 17
end local 6 end local 4 24: goto 26
25: StackMap locals:
StackMap stack:
aload 3
invokestatic com.oracle.truffle.api.instrumentation.EventContext.isValidVarObject:(Ljava/lang/Object;)V
26: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 obj Ljava/lang/Object;
0 27 1 varNameProperty Ljava/lang/String;
1 27 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
4 5 3 varName Ljava/lang/Object;
7 27 3 varName Ljava/lang/Object;
6 7 4 ex Lcom/oracle/truffle/api/interop/InteropException;
12 13 4 size J
15 24 4 size J
16 24 6 i J
18 19 8 var Ljava/lang/Object;
21 22 8 var Ljava/lang/Object;
Exception table:
from to target type
3 4 5 Class com.oracle.truffle.api.interop.UnsupportedMessageException
3 4 5 Class com.oracle.truffle.api.interop.UnknownIdentifierException
11 12 13 Class com.oracle.truffle.api.interop.UnsupportedMessageException
17 18 19 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
17 18 19 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
obj
varNameProperty
private static void isValidVarObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 1
start local 1 1: aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifne 3
2: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid variable object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", must be interop String."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
pop
4: goto 7
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
5: astore 2
start local 2 6: new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Invalid variable object "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc ", must be interop String."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 2 7: StackMap locals:
StackMap stack:
aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasSourceLocation:(Ljava/lang/Object;)Z
istore 2
start local 2 8: aload 1
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getSourceLocation:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
pop
9: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 12
iload 2
ifne 12
new java.lang.AssertionError
dup
ldc "Invalid variable object %s, provides source location that should not have."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
10: StackMap locals: java.lang.Object com.oracle.truffle.api.interop.InteropLibrary int
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
11: getstatic com.oracle.truffle.api.instrumentation.EventContext.$assertionsDisabled:Z
ifne 12
iload 2
ifeq 12
new java.lang.AssertionError
dup
ldc "Invalid variable object %s, missing source location."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
12: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 var Ljava/lang/Object;
1 13 1 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
6 7 2 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
8 13 2 hasLocation Z
Exception table:
from to target type
3 4 5 Class com.oracle.truffle.api.interop.UnsupportedMessageException
8 10 10 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
var
}
SourceFile: "EventContext.java"
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public abstract EngineSupport = com.oracle.truffle.api.impl.Accessor$EngineSupport of com.oracle.truffle.api.impl.Accessor
public abstract InteropSupport = com.oracle.truffle.api.impl.Accessor$InteropSupport of com.oracle.truffle.api.impl.Accessor
public abstract LanguageSupport = com.oracle.truffle.api.impl.Accessor$LanguageSupport of com.oracle.truffle.api.impl.Accessor
public abstract NodeSupport = com.oracle.truffle.api.impl.Accessor$NodeSupport of com.oracle.truffle.api.impl.Accessor
public abstract WrapperNode = com.oracle.truffle.api.instrumentation.InstrumentableNode$WrapperNode of com.oracle.truffle.api.instrumentation.InstrumentableNode
public final ReadVariableTag = com.oracle.truffle.api.instrumentation.StandardTags$ReadVariableTag of com.oracle.truffle.api.instrumentation.StandardTags
public final WriteVariableTag = com.oracle.truffle.api.instrumentation.StandardTags$WriteVariableTag of com.oracle.truffle.api.instrumentation.StandardTags