public abstract class com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
super_class: java.lang.Object
{
private static final boolean DEBUG;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 0
protected static final java.lang.String KEY;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "key"
protected static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "name"
protected static final java.lang.String TYPE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "type"
protected static final java.lang.String DECL_NAME;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "declarationName"
protected static final java.lang.String DECL_TYPE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "declarationType"
protected static final java.lang.String LITERAL_TYPE;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "literalType"
protected static final java.lang.String OPERATOR;
descriptor: Ljava/lang/String;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
ConstantValue: "operator"
protected org.graalvm.polyglot.Context context;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0004) ACC_PROTECTED
private boolean collecting;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private java.util.List<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> events;
descriptor: Ljava/util/List;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/List<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
private java.util.Deque<com.oracle.truffle.js.nodes.JavaScriptNode> stack;
descriptor: Ljava/util/Deque;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Deque<Lcom/oracle/truffle/js/nodes/JavaScriptNode;>;
protected com.oracle.truffle.api.instrumentation.Instrumenter instrumenter;
descriptor: Lcom/oracle/truffle/api/instrumentation/Instrumenter;
flags: (0x0004) ACC_PROTECTED
protected com.oracle.truffle.js.test.instrumentation.TestingExecutionInstrument instrument;
descriptor: Lcom/oracle/truffle/js/test/instrumentation/TestingExecutionInstrument;
flags: (0x0004) ACC_PROTECTED
private com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory factory;
descriptor: Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
flags: (0x0002) ACC_PRIVATE
protected com.oracle.truffle.api.instrumentation.EventBinding<com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory> binding;
descriptor: Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0004) ACC_PROTECTED
Signature: Lcom/oracle/truffle/api/instrumentation/EventBinding<Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSObjectInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSPromiseInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertTruffleObject;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSArrayInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertUndefinedInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertGlobalObjectInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSFunctionInput;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSFunctionReturn;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSObjectReturn;
descriptor: Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$5(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSObjectInput:Ljava/util/function/Consumer;
1: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$4(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSPromiseInput:Ljava/util/function/Consumer;
2: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$6(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertTruffleObject:Ljava/util/function/Consumer;
3: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$3(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSArrayInput:Ljava/util/function/Consumer;
4: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$0(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertUndefinedInput:Ljava/util/function/Consumer;
5: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$1(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
6: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$2(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSFunctionInput:Ljava/util/function/Consumer;
7: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$8(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSFunctionReturn:Ljava/util/function/Consumer;
8: invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$7(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
putstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSObjectReturn:Ljava/util/function/Consumer;
9: 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 java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
public static final java.lang.String getTagNames(com.oracle.truffle.js.nodes.JavaScriptNode);
descriptor: (Lcom/oracle/truffle/js/nodes/JavaScriptNode;)Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.util.StringJoiner
dup
ldc " "
invokespecial java.util.StringJoiner.<init>:(Ljava/lang/CharSequence;)V
astore 1
start local 1 1: aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 3
2: aload 1
ldc "STMT"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
3: StackMap locals: java.util.StringJoiner
StackMap stack:
aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 5
4: aload 1
ldc "ROOT"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
5: StackMap locals:
StackMap stack:
aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$RootBodyTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 7
6: aload 1
ldc "BODY"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
7: StackMap locals:
StackMap stack:
aload 0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 9
8: aload 1
ldc "EXPR"
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
9: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags.ALL:[Ljava/lang/Class;
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 14
StackMap locals: com.oracle.truffle.js.nodes.JavaScriptNode java.util.StringJoiner top int int java.lang.Class[]
StackMap stack:
10: aload 5
iload 3
aaload
astore 2
start local 2 11: aload 0
aload 2
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 13
12: aload 1
aload 2
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.util.StringJoiner.add:(Ljava/lang/CharSequence;)Ljava/util/StringJoiner;
pop
end local 2 13: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
14: iload 3
iload 4
if_icmplt 10
15: aload 1
invokevirtual java.util.StringJoiner.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 node Lcom/oracle/truffle/js/nodes/JavaScriptNode;
1 16 1 tags Ljava/util/StringJoiner;
11 13 2 c Ljava/lang/Class<*>;
MethodParameters:
Name Flags
node
private com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event getNextEvent();
descriptor: ()Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: ldc "empty queue!"
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
invokestatic org.junit.Assert.assertFalse:(Ljava/lang/String;Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
iconst_0
invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
private static void assertKindTag(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind, java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Ljava/lang/Class;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new java.lang.StringBuilder
dup
ldc "expected "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.name:()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;
aload 1
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ", actual ["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.instrumentedNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getTagNames:(Lcom/oracle/truffle/js/nodes/JavaScriptNode;)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;
aload 2
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.kind:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
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;
1: aload 2
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.instrumentedNode:Lcom/oracle/truffle/js/nodes/JavaScriptNode;
aload 1
invokevirtual com.oracle.truffle.js.nodes.JavaScriptNode.hasTag:(Ljava/lang/Class;)Z
ifeq 2
aload 0
aload 2
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.kind:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.equals:(Ljava/lang/Object;)Z
ifeq 2
iconst_1
goto 3
StackMap locals:
StackMap stack: java.lang.String
2: iconst_0
3: StackMap locals: com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind java.lang.Class com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event
StackMap stack: java.lang.String int
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
4: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 kind Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
0 5 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
0 5 2 event Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
Signature: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
MethodParameters:
Name Flags
kind
tag
event
protected void enterDeclareTag(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$DeclareTag;
aload 1
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$9(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
1: invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 expectedVarName Ljava/lang/String;
MethodParameters:
Name Flags
expectedVarName
protected com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent enter(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getNextEvent:()Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.ENTER:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
aload 1
aload 2
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertKindTag:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Ljava/lang/Class;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
2: new com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.<init>:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/Class;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
1 3 2 event Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
MethodParameters:
Name Flags
tag
protected com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent enter(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>, java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event>);
descriptor: (Ljava/lang/Class;Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getNextEvent:()Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
astore 3
start local 3 1: getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.ENTER:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
aload 1
aload 3
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertKindTag:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Ljava/lang/Class;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
2: aload 2
aload 3
invokeinterface java.util.function.Consumer.accept:(Ljava/lang/Object;)V
3: new com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.<init>:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/Class;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 4 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
0 4 2 verify Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
1 4 3 event Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
MethodParameters:
Name Flags
tag
verify
protected com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent enter(java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>, java.util.function.BiConsumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent>);
descriptor: (Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getNextEvent:()Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
astore 3
start local 3 1: getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind.ENTER:Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;
aload 1
aload 3
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertKindTag:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event$Kind;Ljava/lang/Class;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
2: new com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent
dup
aload 0
aload 1
invokespecial com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.<init>:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/Class;)V
astore 4
start local 4 3: aload 2
aload 3
aload 4
invokeinterface java.util.function.BiConsumer.accept:(Ljava/lang/Object;Ljava/lang/Object;)V
4: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 5 1 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
0 5 2 verify Ljava/util/function/BiConsumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;>;
1 5 3 event Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
3 5 4 chain Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
Signature: (Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;Ljava/util/function/BiConsumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;>;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
MethodParameters:
Name Flags
tag
verify
protected com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory getTestFactory();
descriptor: ()Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$1
dup
aload 0
invokespecial com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$1.<init>:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
protected static void assertAttribute(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, java.lang.String, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.context:Lcom/oracle/truffle/api/instrumentation/EventContext;
aload 1
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getAttributeFrom:(Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;)Ljava/lang/Object;
astore 3
start local 3 1: aload 2
aload 3
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
0 3 1 attribute Ljava/lang/String;
0 3 2 expected Ljava/lang/Object;
1 3 3 val Ljava/lang/Object;
MethodParameters:
Name Flags
e
attribute
expected
public static java.lang.Object getAttributeFrom(com.oracle.truffle.api.instrumentation.EventContext, java.lang.String);
descriptor: (Lcom/oracle/truffle/api/instrumentation/EventContext;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:()Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
aload 0
invokevirtual com.oracle.truffle.api.instrumentation.EventContext.getInstrumentedNode:()Lcom/oracle/truffle/api/nodes/Node;
checkcast com.oracle.truffle.api.instrumentation.InstrumentableNode
invokeinterface com.oracle.truffle.api.instrumentation.InstrumentableNode.getNodeObject:()Ljava/lang/Object;
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readMember:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
1: areturn
2: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.InteropException
astore 2
start local 2 3: new java.lang.RuntimeException
dup
aload 2
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 cx Lcom/oracle/truffle/api/instrumentation/EventContext;
0 4 1 name Ljava/lang/String;
3 4 2 e Lcom/oracle/truffle/api/interop/InteropException;
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.UnknownIdentifierException
0 1 2 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
cx
name
protected org.graalvm.polyglot.Source evalWithTag(java.lang.String, java.lang.Class<? extends com.oracle.truffle.api.instrumentation.Tag>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=6, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iconst_1
anewarray java.lang.Class
dup
iconst_0
aload 2
aastore
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.evalWithTags:(Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 1 1 src Ljava/lang/String;
0 1 2 tag Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;
Signature: (Ljava/lang/String;Ljava/lang/Class<+Lcom/oracle/truffle/api/instrumentation/Tag;>;)Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
src
tag
protected org.graalvm.polyglot.Source evalAllTags(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags.ALL:[Ljava/lang/Class;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.evalWithTags:(Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 1 1 src Ljava/lang/String;
MethodParameters:
Name Flags
src
protected org.graalvm.polyglot.Source evalWithTags(java.lang.String, java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;
aastore
dup
iconst_1
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;
aastore
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.evalWithTags:(Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 1 1 src Ljava/lang/String;
0 1 2 filterTags [Ljava/lang/Class;
Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
src
filterTags
protected org.graalvm.polyglot.Source eval(java.lang.String);
descriptor: (Ljava/lang/String;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: ldc "js"
aload 1
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
aload 2
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
2: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 src Ljava/lang/String;
1 3 2 source Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
src
protected org.graalvm.polyglot.Source evalWithTags(java.lang.String, java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: (Ljava/lang/String;[Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.initAgent:([Ljava/lang/Class;[Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
1: ldc "js"
aload 1
invokestatic org.graalvm.polyglot.Source.create:(Ljava/lang/String;Ljava/lang/CharSequence;)Lorg/graalvm/polyglot/Source;
astore 4
start local 4 2: aload 0
aload 4
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.evalWithCurrentBinding:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Source;
pop
3: aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 4 1 src Ljava/lang/String;
0 4 2 sourceSectionTags [Ljava/lang/Class;
0 4 3 inputGeneratingTags [Ljava/lang/Class;
2 4 4 source Lorg/graalvm/polyglot/Source;
Signature: (Ljava/lang/String;[Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
src
sourceSectionTags
inputGeneratingTags
protected org.graalvm.polyglot.Source evalWithCurrentBinding(org.graalvm.polyglot.Source);
descriptor: (Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
1: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 2 1 source Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
source
protected org.graalvm.polyglot.Source evalWithTags(org.graalvm.polyglot.Source, java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: (Lorg/graalvm/polyglot/Source;[Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 0
aload 2
aload 3
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.initAgent:([Ljava/lang/Class;[Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
aload 1
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
pop
2: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 source Lorg/graalvm/polyglot/Source;
0 3 2 sourceSectionTags [Ljava/lang/Class;
0 3 3 inputGeneratingTags [Ljava/lang/Class;
Signature: (Lorg/graalvm/polyglot/Source;[Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
source
sourceSectionTags
inputGeneratingTags
protected org.graalvm.polyglot.Source evalWithNewTags(org.graalvm.polyglot.Source, java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: (Lorg/graalvm/polyglot/Source;[Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
1: aload 0
aload 1
aload 2
aload 3
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.evalWithTags:(Lorg/graalvm/polyglot/Source;[Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/polyglot/Source;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 2 1 source Lorg/graalvm/polyglot/Source;
0 2 2 sourceSectionTags [Ljava/lang/Class;
0 2 3 inputGeneratingTags [Ljava/lang/Class;
Signature: (Lorg/graalvm/polyglot/Source;[Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Lorg/graalvm/polyglot/Source;
MethodParameters:
Name Flags
source
sourceSectionTags
inputGeneratingTags
protected void declareInteropSymbol(java.lang.String, com.oracle.truffle.js.test.instrumentation.ForeignTestObject);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/ForeignTestObject;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getPolyglotBindings:()Lorg/graalvm/polyglot/Value;
aload 1
aload 2
invokevirtual org.graalvm.polyglot.Value.putMember:(Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 2 1 name Ljava/lang/String;
0 2 2 foreignObject Lcom/oracle/truffle/js/test/instrumentation/ForeignTestObject;
MethodParameters:
Name Flags
name
foreignObject
public void disposeAgent();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
invokeinterface java.util.List.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.stack:Ljava/util/Deque;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.stack:Ljava/util/Deque;
invokeinterface java.util.Deque.isEmpty:()Z
invokestatic org.junit.Assert.assertTrue:(Ljava/lang/String;Z)V
2: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.leave:()V
3: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
invokeinterface java.util.List.clear:()V
4: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.binding:Lcom/oracle/truffle/api/instrumentation/EventBinding;
invokevirtual com.oracle.truffle.api.instrumentation.EventBinding.dispose:()V
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
RuntimeVisibleAnnotations:
org.junit.After()
public void initTest();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.collecting:Z
1: aload 0
iconst_0
anewarray java.lang.String
invokestatic com.oracle.truffle.js.test.instrumentation.TestUtil.newContextBuilder:([Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
getstatic org.graalvm.polyglot.PolyglotAccess.ALL:Lorg/graalvm/polyglot/PolyglotAccess;
invokevirtual org.graalvm.polyglot.Context$Builder.allowPolyglotAccess:(Lorg/graalvm/polyglot/PolyglotAccess;)Lorg/graalvm/polyglot/Context$Builder;
ldc "js.ecmascript-version"
ldc "2021"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
2: aload 0
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.getEngine:()Lorg/graalvm/polyglot/Engine;
invokevirtual org.graalvm.polyglot.Engine.getInstruments:()Ljava/util/Map;
ldc "TestingExecutionInstrument"
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.graalvm.polyglot.Instrument
ldc Lcom/oracle/truffle/js/test/instrumentation/TestingExecutionInstrument;
invokevirtual org.graalvm.polyglot.Instrument.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.test.instrumentation.TestingExecutionInstrument
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.instrument:Lcom/oracle/truffle/js/test/instrumentation/TestingExecutionInstrument;
3: aload 0
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.instrument:Lcom/oracle/truffle/js/test/instrumentation/TestingExecutionInstrument;
invokevirtual com.oracle.truffle.js.test.instrumentation.TestingExecutionInstrument.getEnvironment:()Lcom/oracle/truffle/api/instrumentation/TruffleInstrument$Env;
invokevirtual com.oracle.truffle.api.instrumentation.TruffleInstrument$Env.getInstrumenter:()Lcom/oracle/truffle/api/instrumentation/Instrumenter;
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.instrumenter:Lcom/oracle/truffle/api/instrumentation/Instrumenter;
4: aload 0
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.events:Ljava/util/List;
5: aload 0
new java.util.ArrayDeque
dup
invokespecial java.util.ArrayDeque.<init>:()V
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.stack:Ljava/util/Deque;
6: aload 0
aload 0
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.getTestFactory:()Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
putfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.factory:Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
7: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.context:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.enter:()V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
RuntimeVisibleAnnotations:
org.junit.Before()
private com.oracle.truffle.api.instrumentation.EventBinding<com.oracle.truffle.api.instrumentation.ExecutionEventNodeFactory> initAgent(java.lang.Class<?>[], java.lang.Class<?>[]);
descriptor: ([Ljava/lang/Class;[Ljava/lang/Class;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
aload 1
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;
astore 3
start local 3 1: invokestatic com.oracle.truffle.api.instrumentation.SourceSectionFilter.newBuilder:()Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter$Builder;
aload 2
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;
astore 4
start local 4 2: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.instrumenter:Lcom/oracle/truffle/api/instrumentation/Instrumenter;
aload 3
aload 4
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.factory:Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;
invokevirtual com.oracle.truffle.api.instrumentation.Instrumenter.attachExecutionEventFactory:(Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;)Lcom/oracle/truffle/api/instrumentation/EventBinding;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 sourceSectionTags [Ljava/lang/Class;
0 3 2 inputGeneratingTags [Ljava/lang/Class;
1 3 3 sourceSectionFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
2 3 4 inputGeneratingFilter Lcom/oracle/truffle/api/instrumentation/SourceSectionFilter;
Signature: ([Ljava/lang/Class<*>;[Ljava/lang/Class<*>;)Lcom/oracle/truffle/api/instrumentation/EventBinding<Lcom/oracle/truffle/api/instrumentation/ExecutionEventNodeFactory;>;
MethodParameters:
Name Flags
sourceSectionTags
inputGeneratingTags
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertReturnValue();
descriptor: (Ljava/lang/Object;)Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Ljava/lang/Object;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$10(Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 expected Ljava/lang/Object;
Signature: (Ljava/lang/Object;)Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
MethodParameters:
Name Flags
expected
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertLiteralType(com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type);
descriptor: (Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;)Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$11(Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 type Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
Signature: (Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;)Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
MethodParameters:
Name Flags
type
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertPropertyReadName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$12(Ljava/lang/String;)Ljava/util/function/Consumer; (6)
(Ljava/lang/String;)Ljava/util/function/Consumer;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.function.Consumer
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
1 2 1 fun Ljava/util/function/Function<Ljava/lang/String;Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;>;
Signature: (Ljava/lang/String;)Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
MethodParameters:
Name Flags
name
protected static final java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertVarReadName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/function/Consumer;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=2, args_size=1
start local 0 0: invokedynamic apply()Ljava/util/function/Function;
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:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$14(Ljava/lang/String;)Ljava/util/function/Consumer; (6)
(Ljava/lang/String;)Ljava/util/function/Consumer;
astore 1
start local 1 1: aload 1
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.function.Consumer
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 name Ljava/lang/String;
1 2 1 fun Ljava/util/function/Function<Ljava/lang/String;Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;>;
Signature: (Ljava/lang/String;)Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
MethodParameters:
Name Flags
name
protected static java.util.function.Consumer<com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event> assertJSFunctionInputWithName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/function/Consumer;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$16(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 expectedFunctionName Ljava/lang/String;
Signature: (Ljava/lang/String;)Ljava/util/function/Consumer<Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;>;
MethodParameters:
Name Flags
expectedFunctionName
protected void assertGlobalVarDeclaration(java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
aload 0
aload 1
aload 2
invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/String;Ljava/lang/Object;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$17(Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
1: invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
2: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 name Ljava/lang/String;
0 3 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
name
value
protected void assertGlobalFunctionExpressionDeclaration(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
aload 0
aload 1
invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/String;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$19(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
1: invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
protected void assertGlobalArrayLiteralDeclaration(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;
aload 0
aload 1
invokedynamic accept(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;Ljava/lang/String;)Ljava/util/function/BiConsumer;
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:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$21(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V (7)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;Ljava/util/function/BiConsumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
1: invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 3 1 name Ljava/lang/String;
MethodParameters:
Name Flags
name
private static void lambda$5(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: invokestatic org.junit.Assert.assertTrue:(Z)V
6: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$4(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 1
iconst_0
goto 2
StackMap locals:
StackMap stack:
1: iconst_1
StackMap locals:
StackMap stack: int
2: invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: invokestatic org.junit.Assert.assertTrue:(Z)V
6: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
7: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSPromise.isJSPromise:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
8: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$6(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
instanceof com.oracle.truffle.api.interop.TruffleObject
invokestatic org.junit.Assert.assertTrue:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$3(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$0(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$1(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 1
start local 1 2: aload 1
aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 1 3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
2 3 1 globalObject Lcom/oracle/truffle/api/object/DynamicObject;
private static void lambda$2(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$8(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
instanceof java.lang.Object[]
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast java.lang.Object[]
astore 1
start local 1 2: aload 1
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 1 3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
2 3 1 vals [Ljava/lang/Object;
private static void lambda$7(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
instanceof java.lang.Object[]
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast java.lang.Object[]
astore 1
start local 1 2: aload 1
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
3: aload 1
iconst_0
aaload
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 4
iconst_1
goto 5
StackMap locals: java.lang.Object[]
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: invokestatic org.junit.Assert.assertTrue:(Z)V
6: aload 1
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertFalse:(Z)V
end local 1 7: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
2 7 1 vals [Ljava/lang/Object;
private static void lambda$9(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 1 start local 2 0: aload 1
ldc "declarationName"
aload 0
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 2 end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
0 2 2 c Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
private static void lambda$10(java.lang.Object, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=3, args_size=2
start local 1 0: aload 1
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
instanceof java.lang.Object[]
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 1
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast java.lang.Object[]
astore 2
start local 2 2: aload 2
iconst_0
aaload
aload 0
invokestatic org.junit.Assert.assertEquals:(Ljava/lang/Object;Ljava/lang/Object;)V
end local 2 3: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 4 1 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
2 3 2 vals [Ljava/lang/Object;
private static void lambda$11(com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
ldc "literalType"
aload 0
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static java.util.function.Consumer lambda$12(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/function/Consumer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$13(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/String;
private static java.util.function.Consumer lambda$14(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/util/function/Consumer;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokedynamic accept(Ljava/lang/String;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$15(Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 e Ljava/lang/String;
private static void lambda$16(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
1: aload 1
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
aload 0
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
2: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 3 1 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private void lambda$17(java.lang.String, java.lang.Object, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
descriptor: (Ljava/lang/String;Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=5, args_size=5
start local 0 start local 3 start local 4 0: aload 3
ldc "key"
aload 1
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: aload 4
getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
2: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
aload 2
invokedynamic accept(Ljava/lang/Object;)Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$18(Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
3: invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
4: aload 4
aload 2
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/lang/Object;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
5: return
end local 4 end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 6 3 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
0 6 4 write Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
private void lambda$19(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 3
getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
1: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
invokedynamic accept()Ljava/util/function/Consumer;
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:
(Ljava/lang/Object;)V
com/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest.lambda$20(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V (6)
(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:(Ljava/util/function/Consumer;)V
2: aload 2
ldc "key"
aload 1
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
3: aload 3
getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSFunctionInput:Ljava/util/function/Consumer;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 5 2 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
0 5 3 write Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
private void lambda$21(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 2
ldc "key"
aload 1
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: aload 3
getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertGlobalObjectInput:Ljava/util/function/Consumer;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
2: aload 0
ldc Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.enter:(Ljava/lang/Class;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.exit:()V
3: aload 3
getstatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertJSArrayInput:Ljava/util/function/Consumer;
invokevirtual com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent.input:(Ljava/util/function/Consumer;)Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
pop
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest;
0 5 2 e Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
0 5 3 write Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$AssertedEvent;
private static void lambda$13(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
ldc "key"
aload 0
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 x Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$15(java.lang.String, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 1
ldc "name"
aload 0
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 2 1 x Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$18(java.lang.Object, com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: aload 0
instanceof java.lang.Integer
ifeq 3
1: aload 1
ldc "literalType"
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.NumericLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
2: goto 8
StackMap locals:
StackMap stack:
3: aload 0
instanceof java.lang.Boolean
ifeq 6
4: aload 1
ldc "literalType"
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.BooleanLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
5: goto 8
StackMap locals:
StackMap stack:
6: aload 0
instanceof java.lang.String
ifeq 8
7: aload 1
ldc "literalType"
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.StringLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
8: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 e2 Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
private static void lambda$20(com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event);
descriptor: (Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
ldc "literalType"
getstatic com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.FunctionLiteral:Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag$Type;
invokevirtual com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type.name:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest.assertAttribute:(Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;Ljava/lang/String;Ljava/lang/Object;)V
1: aload 0
getfield com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event.val:Ljava/lang/Object;
checkcast java.lang.Object[]
astore 1
start local 1 2: aload 1
arraylength
iconst_1
if_icmpne 3
iconst_1
goto 4
StackMap locals: java.lang.Object[]
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: invokestatic org.junit.Assert.assertTrue:(Z)V
5: aload 1
iconst_0
aaload
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
invokestatic org.junit.Assert.assertTrue:(Z)V
end local 1 6: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 e1 Lcom/oracle/truffle/js/test/instrumentation/FineGrainedAccessTest$Event;
2 6 1 results [Ljava/lang/Object;
}
SourceFile: "FineGrainedAccessTest.java"
NestMembers:
com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$1 com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$1$1 com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind
InnerClasses:
public final Builder = com.oracle.truffle.api.instrumentation.SourceSectionFilter$Builder of com.oracle.truffle.api.instrumentation.SourceSectionFilter
public final ExpressionTag = com.oracle.truffle.api.instrumentation.StandardTags$ExpressionTag of com.oracle.truffle.api.instrumentation.StandardTags
public final RootBodyTag = com.oracle.truffle.api.instrumentation.StandardTags$RootBodyTag 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 final DeclareTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$DeclareTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final InputNodeTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$InputNodeTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final LiteralTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
public final Type = com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag$Type of com.oracle.truffle.js.nodes.instrumentation.JSTags$LiteralTag
public final WritePropertyTag = com.oracle.truffle.js.nodes.instrumentation.JSTags$WritePropertyTag of com.oracle.truffle.js.nodes.instrumentation.JSTags
com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$1
AssertedEvent = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$AssertedEvent of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
protected Event = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest
final Kind = com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event$Kind of com.oracle.truffle.js.test.instrumentation.FineGrainedAccessTest$Event
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context