final class com.oracle.truffle.polyglot.DefaultScope
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.polyglot.DefaultScope
super_class: java.lang.Object
{
void <init>();
descriptor: ()V
flags: (0x0000)
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/polyglot/DefaultScope;
private static boolean isInternal(com.oracle.truffle.api.frame.FrameSlot);
descriptor: (Lcom/oracle/truffle/api/frame/FrameSlot;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: iconst_1
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
getstatic com.oracle.truffle.polyglot.EngineAccessor.INSTRUMENT:Lcom/oracle/truffle/api/impl/Accessor$InstrumentSupport;
aload 1
invokevirtual com.oracle.truffle.api.impl.Accessor$InstrumentSupport.isInputValueSlotIdentifier:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_1
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 slot Lcom/oracle/truffle/api/frame/FrameSlot;
1 6 1 identifier Ljava/lang/Object;
MethodParameters:
Name Flags
slot
static getVariables(com.oracle.truffle.api.nodes.RootNode, com.oracle.truffle.api.frame.Frame, java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=6, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 3
1: aload 0
invokevirtual com.oracle.truffle.api.nodes.RootNode.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSlots:()Ljava/util/List;
astore 3
start local 3 2: goto 20
end local 3 3: StackMap locals:
StackMap stack:
aload 1
invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.getSlots:()Ljava/util/List;
astore 3
start local 3 4: aconst_null
astore 4
start local 4 5: iconst_0
istore 5
start local 5 6: iconst_0
istore 6
start local 6 7: goto 15
8: StackMap locals: com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.frame.Frame java.lang.Class java.util.List java.util.List int int
StackMap stack:
aload 3
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot
astore 7
start local 7 9: getstatic com.oracle.truffle.polyglot.EngineAccessor.INTEROP:Lcom/oracle/truffle/api/impl/Accessor$InteropSupport;
aload 1
aload 7
invokeinterface com.oracle.truffle.api.frame.Frame.getValue:(Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.impl.Accessor$InteropSupport.isInteropType:(Ljava/lang/Object;)Z
ifeq 10
aload 7
invokestatic com.oracle.truffle.polyglot.DefaultScope.isInternal:(Lcom/oracle/truffle/api/frame/FrameSlot;)Z
ifeq 14
10: StackMap locals: com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 4
ifnonnull 12
11: new java.util.ArrayList
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
12: StackMap locals:
StackMap stack:
aload 4
aload 3
iload 5
iload 6
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
13: iload 6
iconst_1
iadd
istore 5
end local 7 14: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
15: iload 6
aload 3
invokeinterface java.util.List.size:()I
if_icmplt 8
end local 6 16: aload 4
ifnull 20
17: iload 5
aload 3
invokeinterface java.util.List.size:()I
if_icmpge 19
18: aload 4
aload 3
iload 5
aload 3
invokeinterface java.util.List.size:()I
invokeinterface java.util.List.subList:(II)Ljava/util/List;
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
19: StackMap locals:
StackMap stack:
aload 4
astore 3
end local 5 end local 4 20: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 23
21: invokestatic java.util.Collections.emptyMap:()Ljava/util/Map;
astore 4
start local 4 22: goto 32
end local 4 StackMap locals:
StackMap stack:
23: aload 3
invokeinterface java.util.List.size:()I
iconst_1
if_icmpne 27
24: aload 3
iconst_0
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot
astore 5
start local 5 25: aload 5
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
aload 5
invokestatic java.util.Collections.singletonMap:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/util/Map;
astore 4
end local 5 start local 4 26: goto 32
end local 4 27: StackMap locals:
StackMap stack:
new java.util.LinkedHashMap
dup
aload 3
invokeinterface java.util.List.size:()I
invokespecial java.util.LinkedHashMap.<init>:(I)V
astore 4
start local 4 28: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 31
StackMap locals: com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.frame.Frame java.lang.Class java.util.List java.util.Map top java.util.Iterator
StackMap stack:
29: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.api.frame.FrameSlot
astore 5
start local 5 30: aload 4
aload 5
invokevirtual com.oracle.truffle.api.frame.FrameSlot.getIdentifier:()Ljava/lang/Object;
invokestatic java.util.Objects.toString:(Ljava/lang/Object;)Ljava/lang/String;
aload 5
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 5 31: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 29
32: StackMap locals: com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.frame.Frame java.lang.Class java.util.List java.util.Map
StackMap stack:
new com.oracle.truffle.polyglot.DefaultScope$VariablesMapObject
dup
aload 4
aload 0
aload 1
aload 2
invokespecial com.oracle.truffle.polyglot.DefaultScope$VariablesMapObject.<init>:(Ljava/util/Map;Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class;)V
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 33 0 root Lcom/oracle/truffle/api/nodes/RootNode;
0 33 1 frame Lcom/oracle/truffle/api/frame/Frame;
0 33 2 language Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
2 3 3 slots Ljava/util/List<+Lcom/oracle/truffle/api/frame/FrameSlot;>;
4 33 3 slots Ljava/util/List<+Lcom/oracle/truffle/api/frame/FrameSlot;>;
5 20 4 nonNulls Ljava/util/List<Lcom/oracle/truffle/api/frame/FrameSlot;>;
6 20 5 lastI I
7 16 6 i I
9 14 7 slot Lcom/oracle/truffle/api/frame/FrameSlot;
22 23 4 slotsMap Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;>;
26 27 4 slotsMap Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;>;
28 33 4 slotsMap Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/api/frame/FrameSlot;>;
25 26 5 slot Lcom/oracle/truffle/api/frame/FrameSlot;
30 31 5 slot Lcom/oracle/truffle/api/frame/FrameSlot;
Signature: (Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/frame/Frame;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
root
frame
language
static getArguments([], java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>>);
descriptor: ([Ljava/lang/Object;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.polyglot.DefaultScope$ArgumentsArrayObject
dup
aload 0
aload 1
invokespecial com.oracle.truffle.polyglot.DefaultScope$ArgumentsArrayObject.<init>:([Ljava/lang/Object;Ljava/lang/Class;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 frameArguments [Ljava/lang/Object;
0 1 1 language Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
Signature: ([Ljava/lang/Object;Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
frameArguments
language
}
SourceFile: "DefaultScope.java"
NestMembers:
com.oracle.truffle.polyglot.DefaultScope$ArgumentNamesObject com.oracle.truffle.polyglot.DefaultScope$ArgumentsArrayObject com.oracle.truffle.polyglot.DefaultScope$NullValue com.oracle.truffle.polyglot.DefaultScope$VariableNamesObject com.oracle.truffle.polyglot.DefaultScope$VariablesMapObject
InnerClasses:
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public abstract InstrumentSupport = com.oracle.truffle.api.impl.Accessor$InstrumentSupport of com.oracle.truffle.api.impl.Accessor
public abstract InteropSupport = com.oracle.truffle.api.impl.Accessor$InteropSupport of com.oracle.truffle.api.impl.Accessor
final ArgumentNamesObject = com.oracle.truffle.polyglot.DefaultScope$ArgumentNamesObject of com.oracle.truffle.polyglot.DefaultScope
final ArgumentsArrayObject = com.oracle.truffle.polyglot.DefaultScope$ArgumentsArrayObject of com.oracle.truffle.polyglot.DefaultScope
final NullValue = com.oracle.truffle.polyglot.DefaultScope$NullValue of com.oracle.truffle.polyglot.DefaultScope
final VariableNamesObject = com.oracle.truffle.polyglot.DefaultScope$VariableNamesObject of com.oracle.truffle.polyglot.DefaultScope
final VariablesMapObject = com.oracle.truffle.polyglot.DefaultScope$VariablesMapObject of com.oracle.truffle.polyglot.DefaultScope