public final class com.oracle.truffle.trufflenode.GraalJSAccess
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.trufflenode.GraalJSAccess
super_class: java.lang.Object
{
private static final boolean VERBOSE;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean USE_NIO_BUFFER;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean USE_SNAPSHOTS;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.HiddenKey PRIVATE_VALUES_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.HiddenKey FUNCTION_TEMPLATE_DATA_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.HiddenKey INTERNAL_FIELD_COUNT_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.HiddenKey INTERNAL_FIELD_ZERO_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.runtime.Symbol RESOLVER_RESOLVE;
descriptor: Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.js.runtime.Symbol RESOLVER_REJECT;
descriptor: Lcom/oracle/truffle/js/runtime/Symbol;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.api.object.HiddenKey HOLDER_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final com.oracle.truffle.api.object.HiddenKey EXTERNALIZED_KEY;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final java.lang.Object INT_PLACEHOLDER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object SAFE_INT_PLACEHOLDER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Object DOUBLE_PLACEHOLDER;
descriptor: Ljava/lang/Object;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final org.graalvm.polyglot.Context evaluator;
descriptor: Lorg/graalvm/polyglot/Context;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.js.runtime.JSContext mainJSContext;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.js.runtime.JSRealm mainJSRealm;
descriptor: Lcom/oracle/truffle/js/runtime/JSRealm;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.NodeJSAgent agent;
descriptor: Lcom/oracle/truffle/trufflenode/NodeJSAgent;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final com.oracle.truffle.trufflenode.Deallocator deallocator;
descriptor: Lcom/oracle/truffle/trufflenode/Deallocator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader moduleLoader;
descriptor: Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
flags: (0x0002) ACC_PRIVATE
private final com.oracle.truffle.api.TruffleLanguage$Env envForInstruments;
descriptor: Lcom/oracle/truffle/api/TruffleLanguage$Env;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.nio.ByteBuffer sharedBuffer;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Map<java.lang.String, java.lang.ref.Reference<java.lang.String>> sourceCodeCache;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/String;Ljava/lang/ref/Reference<Ljava/lang/String;>;>;
private final java.util.Map<com.oracle.truffle.api.source.Source, java.lang.Object> hostDefinedOptionsMap;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Lcom/oracle/truffle/api/source/Source;Ljava/lang/Object;>;
private final boolean exposeGC;
descriptor: Z
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private static final java.lang.ref.ReferenceQueue<com.oracle.truffle.js.runtime.JSAgentWaiterList> agentWaiterListQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;>;
private static final java.util.Map<java.lang.Long, java.lang.ref.WeakReference<com.oracle.truffle.js.runtime.JSAgentWaiterList>> agentWaiterListMap;
descriptor: Ljava/util/Map;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;Ljava/lang/ref/WeakReference<Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;>;>;
private static final java.util.regex.Pattern SYNTAX_ERROR_PATTERN;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int SYNTAX_ERROR_RESOURCE_NAME_GROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1
private static final int SYNTAX_ERROR_LINE_NUMBER_GROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 2
private static final int SYNTAX_ERROR_COLUMN_NUMBER_GROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 3
private static final int SYNTAX_ERROR_MESSAGE_GROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 4
private static final int SYNTAX_ERROR_SOURCE_LINE_GROUP;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 5
private static final com.oracle.truffle.api.object.HiddenKey HIDDEN_WEAK_CALLBACK;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.truffle.api.object.HiddenKey HIDDEN_WEAK_CALLBACK_CONTEXT;
descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final java.lang.ref.ReferenceQueue<java.lang.Object> weakCallbackQueue;
descriptor: Ljava/lang/ref/ReferenceQueue;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/lang/ref/ReferenceQueue<Ljava/lang/Object;>;
private final java.util.Set<com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback> weakCallbacks;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;>;
private boolean createChildContext;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean terminateExecution;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private static final java.lang.ThreadLocal<java.util.Deque<com.oracle.truffle.js.runtime.util.Pair<java.lang.Long, java.lang.Object>>> isolateStack;
descriptor: Ljava/lang/ThreadLocal;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/ThreadLocal<Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/Long;Ljava/lang/Object;>;>;>;
private static final java.nio.ByteBuffer DUMMY_UNBOUND_MODULE_PARSE_RESULT;
descriptor: Ljava/nio/ByteBuffer;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private com.oracle.truffle.trufflenode.threading.JavaMessagePortData currentMessagePortData;
descriptor: Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$truffle$js$runtime$objects$JSModuleRecord$Status;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lcom/oracle/truffle/trufflenode/GraalJSAccess;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
3: ldc "truffle.node.js.verbose"
invokestatic java.lang.Boolean.getBoolean:(Ljava/lang/String;)Z
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
4: ldc "false"
ldc "node.buffer.nio"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 5
iconst_0
goto 6
StackMap locals:
StackMap stack:
5: iconst_1
StackMap locals:
StackMap stack: int
6: putstatic com.oracle.truffle.trufflenode.GraalJSAccess.USE_NIO_BUFFER:Z
7: ldc "false"
ldc "truffle.node.js.snapshots"
invokestatic java.lang.System.getProperty:(Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.String.equalsIgnoreCase:(Ljava/lang/String;)Z
ifeq 8
iconst_0
goto 9
StackMap locals:
StackMap stack:
8: iconst_1
StackMap locals:
StackMap stack: int
9: putstatic com.oracle.truffle.trufflenode.GraalJSAccess.USE_SNAPSHOTS:Z
10: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "PrivateValues"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.PRIVATE_VALUES_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
11: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "FunctionTemplateData"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.FUNCTION_TEMPLATE_DATA_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
12: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "InternalFieldCount"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_COUNT_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
13: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "InternalField0"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_ZERO_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
14: ldc "Resolve"
invokestatic com.oracle.truffle.js.runtime.Symbol.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_RESOLVE:Lcom/oracle/truffle/js/runtime/Symbol;
15: ldc "Reject"
invokestatic com.oracle.truffle.js.runtime.Symbol.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_REJECT:Lcom/oracle/truffle/js/runtime/Symbol;
16: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "Holder"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.HOLDER_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
17: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "Externalized"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
18: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.INT_PLACEHOLDER:Ljava/lang/Object;
19: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.SAFE_INT_PLACEHOLDER:Ljava/lang/Object;
20: new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.DOUBLE_PLACEHOLDER:Ljava/lang/Object;
21: new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListQueue:Ljava/lang/ref/ReferenceQueue;
22: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
23: ldc "(.+):(\\d+):(\\d+) ([^\r\n]+)\r?\n([^\r\n]+)(?:\r?\n(?:.|(?:\r?\n))*)?"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.SYNTAX_ERROR_PATTERN:Ljava/util/regex/Pattern;
24: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "WeakCallback"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.HIDDEN_WEAK_CALLBACK:Lcom/oracle/truffle/api/object/HiddenKey;
25: new com.oracle.truffle.api.object.HiddenKey
dup
ldc "WeakCallbackContext"
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.HIDDEN_WEAK_CALLBACK_CONTEXT:Lcom/oracle/truffle/api/object/HiddenKey;
26: new java.lang.ThreadLocal
dup
invokespecial java.lang.ThreadLocal.<init>:()V
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.isolateStack:Ljava/lang/ThreadLocal;
27: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.DUMMY_UNBOUND_MODULE_PARSE_RESULT:Ljava/nio/ByteBuffer;
return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=6, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 128
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
2: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.sourceCodeCache:Ljava/util/Map;
3: aload 0
new java.util.WeakHashMap
dup
invokespecial java.util.WeakHashMap.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.hostDefinedOptionsMap:Ljava/util/Map;
4: aload 0
new java.lang.ref.ReferenceQueue
dup
invokespecial java.lang.ref.ReferenceQueue.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbackQueue:Ljava/lang/ref/ReferenceQueue;
5: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbacks:Ljava/util/Set;
6: aload 0
aconst_null
putfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
7: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.prepareArguments:([Ljava/lang/String;)[Ljava/lang/String;
invokestatic com.oracle.truffle.trufflenode.Options.parseArguments:([Ljava/lang/String;)Lcom/oracle/truffle/trufflenode/Options;
astore 2
start local 2 8: aload 2
invokevirtual com.oracle.truffle.trufflenode.Options.getContextBuilder:()Lorg/graalvm/polyglot/Context$Builder;
astore 3
start local 3 9: aload 3
ldc "js.direct-byte-buffer"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
10: aload 3
ldc "js.v8-compat"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
11: aload 3
ldc "js.intl-402"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
12: aload 3
ldc "js.class-fields"
ldc "true"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
13: aload 3
ldc "js.load"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
14: aload 3
ldc "js.console"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
15: aload 3
ldc "js.global-arguments"
ldc "false"
invokevirtual org.graalvm.polyglot.Context$Builder.option:(Ljava/lang/String;Ljava/lang/String;)Lorg/graalvm/polyglot/Context$Builder;
pop
16: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.Options.isGCExposed:()Z
putfield com.oracle.truffle.trufflenode.GraalJSAccess.exposeGC:Z
17: aload 0
aload 3
invokevirtual org.graalvm.polyglot.Context$Builder.build:()Lorg/graalvm/polyglot/Context;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.evaluator:Lorg/graalvm/polyglot/Context;
18: aload 0
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.evaluator:Lorg/graalvm/polyglot/Context;
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getJSRealm:(Lorg/graalvm/polyglot/Context;)Lcom/oracle/truffle/js/runtime/JSRealm;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
end local 3 end local 2 19: goto 41
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.String[]
StackMap stack: java.lang.IllegalArgumentException
20: astore 2
start local 2 21: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "ERROR: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
invokevirtual java.lang.IllegalArgumentException.getMessage:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
22: iconst_1
invokestatic java.lang.System.exit:(I)V
23: aload 2
athrow
end local 2 24: StackMap locals:
StackMap stack: org.graalvm.polyglot.PolyglotException
astore 2
start local 2 25: iconst_1
istore 3
start local 3 26: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getMessage:()Ljava/lang/String;
astore 4
start local 4 27: aload 4
ifnull 28
aload 4
invokevirtual java.lang.String.isEmpty:()Z
ifne 28
iconst_0
goto 29
StackMap locals: org.graalvm.polyglot.PolyglotException int java.lang.String
StackMap stack:
28: iconst_1
StackMap locals:
StackMap stack: int
29: istore 5
start local 5 30: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.isExit:()Z
ifeq 35
31: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.getExitStatus:()I
istore 3
32: iload 3
ifeq 39
iload 5
ifne 39
33: getstatic java.lang.System.err:Ljava/io/PrintStream;
aload 4
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
34: goto 39
StackMap locals: int
StackMap stack:
35: aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.isInternalError:()Z
ifne 36
iload 5
ifeq 38
36: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.graalvm.polyglot.PolyglotException.printStackTrace:()V
37: goto 39
38: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
39: StackMap locals:
StackMap stack:
iload 3
invokestatic java.lang.System.exit:(I)V
40: aload 2
athrow
end local 5 end local 4 end local 3 end local 2 41: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.String[]
StackMap stack:
aload 0
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
42: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 43
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
ifnonnull 43
new java.lang.AssertionError
dup
ldc "JSContext initialized"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
43: StackMap locals:
StackMap stack:
aload 0
new com.oracle.truffle.trufflenode.NodeJSAgent
dup
invokespecial com.oracle.truffle.trufflenode.NodeJSAgent.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
44: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setAgent:(Lcom/oracle/truffle/js/runtime/JSAgent;)V
45: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.interopBoundaryEnter:()V
46: aload 0
new com.oracle.truffle.trufflenode.Deallocator
dup
invokespecial com.oracle.truffle.trufflenode.Deallocator.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.deallocator:Lcom/oracle/truffle/trufflenode/Deallocator;
47: aload 0
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.envForInstruments:Lcom/oracle/truffle/api/TruffleLanguage$Env;
48: aload 0
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.isolateEnableImportModuleDynamically:(Z)V
49: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 50 1 args [Ljava/lang/String;
8 19 2 options Lcom/oracle/truffle/trufflenode/Options;
9 19 3 contextBuilder Lorg/graalvm/polyglot/Context$Builder;
21 24 2 iaex Ljava/lang/IllegalArgumentException;
25 41 2 pex Lorg/graalvm/polyglot/PolyglotException;
26 41 3 exitCode I
27 41 4 message Ljava/lang/String;
30 41 5 emptyMessage Z
Exception table:
from to target type
7 19 20 Class java.lang.IllegalArgumentException
7 19 24 Class org.graalvm.polyglot.PolyglotException
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
private static java.lang.String[] prepareArguments(java.lang.String[]);
descriptor: ([Ljava/lang/String;)[Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=4, args_size=1
start local 0 0: ldc "NODE_POLYGLOT_OPTIONS"
invokestatic java.lang.System.getenv:(Ljava/lang/String;)Ljava/lang/String;
astore 1
start local 1 1: aload 1
ifnonnull 3
2: aload 0
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc " "
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
astore 2
start local 2 4: aload 0
arraylength
aload 2
arraylength
iadd
anewarray java.lang.String
astore 3
start local 3 5: aload 0
iconst_0
aload 3
iconst_0
aload 0
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 2
iconst_0
aload 3
aload 0
arraylength
aload 2
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 args [Ljava/lang/String;
1 8 1 options Ljava/lang/String;
4 8 2 additionalArgs [Ljava/lang/String;
5 8 3 mergedArgs [Ljava/lang/String;
MethodParameters:
Name Flags
args
public static java.lang.Object create(java.lang.String[]);
descriptor: ([Ljava/lang/String;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokestatic java.lang.ClassLoader.getSystemClassLoader:()Ljava/lang/ClassLoader;
invokevirtual java.lang.Thread.setContextClassLoader:(Ljava/lang/ClassLoader;)V
1: new com.oracle.truffle.trufflenode.GraalJSAccess
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess.<init>:([Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 args [Ljava/lang/String;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
args
public java.lang.Object undefinedInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object nullInstance();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public void resetSharedBuffer();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.runtime.util.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
invokevirtual java.nio.Buffer.clear:()Ljava/nio/Buffer;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.nio.ByteBuffer getSharedBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.runtime.util.DirectByteBufferHelper.cast:(Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public int valueType(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public int valueType(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 4
3: iconst_2
ireturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 6
5: iconst_3
ireturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
if_acmpne 8
7: iconst_4
ireturn
8: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.String
ifeq 10
9: iconst_5
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
ifeq 14
11: iload 2
ifeq 13
12: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 1
checkcast java.lang.Number
invokevirtual java.lang.Number.doubleValue:()D
invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
pop
13: StackMap locals:
StackMap stack:
bipush 6
ireturn
14: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 16
15: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeJSObject:(Lcom/oracle/truffle/api/object/DynamicObject;Z)I
ireturn
16: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 18
17: aload 0
aload 1
checkcast com.oracle.truffle.api.interop.TruffleObject
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeForeignObject:(Lcom/oracle/truffle/api/interop/TruffleObject;Z)I
ireturn
18: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
ifeq 20
19: bipush 13
ireturn
20: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.Symbol
ifeq 22
21: bipush 16
ireturn
22: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.BigInt
ifeq 24
23: bipush 31
ireturn
24: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Boolean
ifeq 28
25: aload 1
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 26
iconst_3
goto 27
StackMap locals:
StackMap stack:
26: iconst_4
StackMap locals:
StackMap stack: int
27: ireturn
28: StackMap locals:
StackMap stack:
aload 1
instanceof java.lang.Throwable
ifeq 30
29: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeError:(Ljava/lang/Object;)V
30: StackMap locals:
StackMap stack:
iconst_m1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 31 1 value Ljava/lang/Object;
0 31 2 useSharedBuffer Z
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
useSharedBuffer
private int valueTypeForeignObject(com.oracle.truffle.api.interop.TruffleObject, boolean);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 3
start local 3 1: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isExecutable:(Ljava/lang/Object;)Z
ifne 2
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isInstantiable:(Ljava/lang/Object;)Z
ifeq 3
2: StackMap locals: com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
bipush 8
ireturn
3: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNull:(Ljava/lang/Object;)Z
ifeq 5
4: iconst_2
ireturn
5: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isBoolean:(Ljava/lang/Object;)Z
ifeq 12
6: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asBoolean:(Ljava/lang/Object;)Z
ifeq 7
iconst_3
goto 8
StackMap locals:
StackMap stack:
7: iconst_4
StackMap locals:
StackMap stack: int
8: ireturn
9: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
10: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeError:(Ljava/lang/Object;)V
11: iconst_m1
ireturn
12: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 14
13: iconst_5
ireturn
14: StackMap locals:
StackMap stack:
aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isNumber:(Ljava/lang/Object;)Z
ifeq 16
15: aload 0
aload 1
aload 3
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeForeignNumber:(Lcom/oracle/truffle/api/interop/TruffleObject;Lcom/oracle/truffle/api/interop/InteropLibrary;Z)I
ireturn
16: StackMap locals:
StackMap stack:
bipush 12
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 17 1 value Lcom/oracle/truffle/api/interop/TruffleObject;
0 17 2 useSharedBuffer Z
1 17 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
Exception table:
from to target type
6 8 9 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
value
useSharedBuffer
public int valueTypeForeignNumber(com.oracle.truffle.api.interop.TruffleObject, com.oracle.truffle.api.interop.InteropLibrary, boolean);
descriptor: (Lcom/oracle/truffle/api/interop/TruffleObject;Lcom/oracle/truffle/api/interop/InteropLibrary;Z)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asDouble:(Ljava/lang/Object;)D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
iload 3
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
1: ireturn
2: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
3: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.fitsInLong:(Ljava/lang/Object;)Z
ifeq 7
4: aload 0
aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asLong:(Ljava/lang/Object;)J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
iload 3
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
5: ireturn
6: StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
7: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeError:(Ljava/lang/Object;)V
8: iconst_m1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 value Lcom/oracle/truffle/api/interop/TruffleObject;
0 9 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
0 9 3 useSharedBuffer Z
Exception table:
from to target type
0 1 2 Class com.oracle.truffle.api.interop.UnsupportedMessageException
4 5 6 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
value
interop
useSharedBuffer
private int valueTypeJSObject(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.trufflenode.JSExternal.isJSExternalObject:(Ljava/lang/Object;)Z
ifeq 2
1: bipush 7
ireturn
2: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 4
3: bipush 8
ireturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.isJSArray:(Ljava/lang/Object;)Z
ifeq 6
5: bipush 9
ireturn
6: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.isJSDate:(Ljava/lang/Object;)Z
ifeq 8
7: bipush 10
ireturn
8: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
ifeq 10
9: bipush 11
ireturn
10: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.isJSArrayBufferView:(Ljava/lang/Object;)Z
ifeq 12
11: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueTypeArrayBufferView:(Lcom/oracle/truffle/api/object/DynamicObject;Z)I
ireturn
12: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.isJSDirectArrayBuffer:(Ljava/lang/Object;)Z
ifeq 14
13: bipush 15
ireturn
14: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.isJSDataView:(Ljava/lang/Object;)Z
ifeq 20
15: iload 2
ifeq 19
16: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 17: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 3
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteLength:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
18: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 3
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteOffset:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
end local 3 19: StackMap locals:
StackMap stack:
bipush 30
ireturn
20: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
ifeq 22
21: bipush 26
ireturn
22: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
ifeq 24
23: bipush 27
ireturn
24: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSPromise.isJSPromise:(Ljava/lang/Object;)Z
ifeq 26
25: bipush 28
ireturn
26: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 28
27: bipush 29
ireturn
28: StackMap locals:
StackMap stack:
bipush 12
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 29 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 29 2 useSharedBuffer Z
17 19 3 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
obj
useSharedBuffer
private int valueTypeArrayBufferView(com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 2
ifeq 4
1: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 3
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteLength:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 3
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteOffset:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getArray:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/array/ScriptArray;
astore 3
start local 3 5: aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8Array
ifeq 7
6: bipush 17
ireturn
7: StackMap locals: com.oracle.truffle.js.runtime.array.ScriptArray
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8ClampedArray
ifeq 9
8: bipush 18
ireturn
9: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt8Array
ifeq 11
10: bipush 20
ireturn
11: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint16Array
ifeq 13
12: bipush 21
ireturn
13: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt16Array
ifeq 15
14: bipush 22
ireturn
15: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectUint32Array
ifeq 17
16: bipush 19
ireturn
17: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectInt32Array
ifeq 19
18: bipush 23
ireturn
19: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectFloat32Array
ifeq 21
20: bipush 24
ireturn
21: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectFloat64Array
ifeq 23
22: bipush 25
ireturn
23: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectBigInt64Array
ifeq 25
24: bipush 32
ireturn
25: StackMap locals:
StackMap stack:
aload 3
instanceof com.oracle.truffle.js.runtime.array.TypedArray$DirectBigUint64Array
ifeq 27
26: bipush 33
ireturn
27: StackMap locals:
StackMap stack:
bipush 14
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 28 1 obj Lcom/oracle/truffle/api/object/DynamicObject;
0 28 2 useSharedBuffer Z
2 4 3 context Lcom/oracle/truffle/js/runtime/JSContext;
5 28 3 array Lcom/oracle/truffle/js/runtime/array/ScriptArray;
MethodParameters:
Name Flags
obj
useSharedBuffer
public static void valueTypeError(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "unknown type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
ifnonnull 1
aconst_null
goto 2
StackMap locals: java.lang.Object
StackMap stack: java.io.PrintStream java.lang.StringBuilder
1: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
StackMap locals: java.lang.Object
StackMap stack: java.io.PrintStream java.lang.StringBuilder java.lang.String
2: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 value Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
value
public double valueDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDouble:(Ljava/lang/Object;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public long valueExternal(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.JSExternalObject
invokevirtual com.oracle.truffle.trufflenode.JSExternalObject.getPointer:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public java.lang.String valueUnknown(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 obj Ljava/lang/Object;
MethodParameters:
Name Flags
obj
public java.lang.Object valueToObject(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toObject:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
context
value
public java.lang.Object valueToInteger(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.Double
ifeq 4
1: aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.doubleValue:()D
dstore 2
start local 2 2: dload 2
ldc -9.223372036854776E18
dcmpg
iflt 3
ldc 9.223372036854776E18
dload 2
dcmpg
iflt 3
dload 2
dconst_0
dcmpl
ifne 4
3: StackMap locals: double
StackMap stack:
aload 1
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Object;)J
lstore 2
start local 2 5: lload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longIsRepresentableAsInt:(J)Z
ifeq 7
6: lload 2
l2i
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
7: StackMap locals: long
StackMap stack:
lload 2
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 value Ljava/lang/Object;
2 4 2 doubleValue D
5 8 2 integer J
MethodParameters:
Name Flags
value
public java.lang.Object valueToInt32(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(Ljava/lang/Object;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.Object valueToUint32(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(Ljava/lang/Object;)J
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.String valueToString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public boolean valueToBoolean(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.Object valueToNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toNumber:(Ljava/lang/Object;)Ljava/lang/Number;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.Object valueToArrayIndex(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/Object;)Z
ifeq 7
1: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDouble:(Ljava/lang/Object;)D
dstore 2
start local 2 2: dload 2
dconst_0
dcmpl
ifne 4
3: dconst_0
dstore 2
4: StackMap locals: double
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
5: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
dload 2
invokevirtual java.nio.ByteBuffer.putDouble:(D)Ljava/nio/ByteBuffer;
pop
6: dload 2
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 2 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 value Ljava/lang/Object;
2 7 2 index D
MethodParameters:
Name Flags
value
public int valueInt32Value(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInt32:(Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public double valueUint32Value(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toUInt32:(Ljava/lang/Object;)J
l2d
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public long valueIntegerValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toInteger:(Ljava/lang/Object;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public boolean valueIsNativeError(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.isJSError:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsSetIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 4
1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 2: aload 2
getstatic com.oracle.truffle.js.runtime.JSRuntime.ITERATED_OBJECT_ID:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.isJSSet:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 5 1 object Ljava/lang/Object;
2 4 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
3 4 3 iteratedObj Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsMapIterator(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 4
1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 2: aload 2
getstatic com.oracle.truffle.js.runtime.JSRuntime.ITERATED_OBJECT_ID:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 3: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.isJSMap:(Ljava/lang/Object;)Z
ireturn
end local 3 end local 2 4: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 5 1 object Ljava/lang/Object;
2 4 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
3 4 3 iteratedObj Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsSharedArrayBuffer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsArgumentsObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSArgumentsArray.isJSArgumentsObject:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsBooleanObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.isJSBoolean:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsNumberObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.isJSNumber:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsStringObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.isJSString:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsSymbolObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSSymbol.isJSSymbol:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsBigIntObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSBigInt.isJSBigInt:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsWeakMap(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakMap.isJSWeakMap:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsWeakSet(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakSet.isJSWeakSet:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsAsyncFunction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 1
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isAsync:()Z
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsGeneratorFunction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 1
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isGenerator:()Z
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsGeneratorObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 1
invokestatic com.oracle.truffle.api.object.DynamicObjectLibrary.getUncached:()Lcom/oracle/truffle/api/object/DynamicObjectLibrary;
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.js.runtime.builtins.JSFunction.GENERATOR_STATE_ID:Lcom/oracle/truffle/api/object/HiddenKey;
invokevirtual com.oracle.truffle.api.object.DynamicObjectLibrary.containsKey:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueIsModuleNamespaceObject(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSModuleNamespace.isJSModuleNamespace:(Ljava/lang/Object;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean valueEquals(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.equal:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 left Ljava/lang/Object;
0 1 2 right Ljava/lang/Object;
MethodParameters:
Name Flags
left
right
public boolean valueStrictEquals(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.identical:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 left Ljava/lang/Object;
0 1 2 right Ljava/lang/Object;
MethodParameters:
Name Flags
left
right
public boolean valueInstanceOf(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 9
1: aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 2: aload 3
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_HAS_INSTANCE:Lcom/oracle/truffle/js/runtime/Symbol;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 3: aload 4
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 8
4: aload 3
ldc "prototype"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: aload 5
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 7
6: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 5
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isPrototypeOf:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
7: StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object java.lang.Object
StackMap stack:
ldc "prototype is not an Object"
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 5 8: StackMap locals:
StackMap stack:
aload 4
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toBoolean:(Ljava/lang/Object;)Z
ireturn
end local 4 end local 3 9: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 left Ljava/lang/Object;
0 10 2 right Ljava/lang/Object;
2 9 3 function Lcom/oracle/truffle/api/object/DynamicObject;
3 9 4 hasInstance Ljava/lang/Object;
5 8 5 prototype Ljava/lang/Object;
MethodParameters:
Name Flags
left
right
public java.lang.String valueTypeOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.typeof:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public java.lang.Object objectNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
1 2 2 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
context
public boolean objectSet(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 4
start local 4 1: aload 2
instanceof com.oracle.truffle.api.object.HiddenKey
ifeq 4
2: aload 4
aload 2
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
3: goto 5
4: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 4
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
5: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 object Ljava/lang/Object;
0 6 2 key Ljava/lang/Object;
0 6 3 value Ljava/lang/Object;
1 6 4 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
key
value
public boolean objectSetIndex(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
iload 2
i2l
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;JLjava/lang/Object;)Z
pop
1: iconst_1
ireturn
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/trufflenode/GraalJSAccess;
0 2 1 object Ljava/lang/Object;
0 2 2 index I
0 2 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
index
value
public boolean objectForceSet(java.lang.Object, java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.delete:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
2: iload 4
aload 3
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.propertyDescriptor:(ILjava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 6
start local 6 3: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 5
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)Z
ireturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
0 4 2 key Ljava/lang/Object;
0 4 3 value Ljava/lang/Object;
0 4 4 attributes I
1 4 5 propertyKey Ljava/lang/Object;
3 4 6 descriptor Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
object
key
value
attributes
public boolean objectSetPrivate(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 7
1: aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
astore 5
start local 5 2: aload 5
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.PRIVATE_VALUES_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 6
start local 6 3: aload 6
ifnonnull 6
4: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectNew:(Ljava/lang/Object;)Ljava/lang/Object;
astore 6
5: aload 5
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.PRIVATE_VALUES_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
6: StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object
StackMap stack:
aload 6
checkcast com.oracle.truffle.api.object.DynamicObject
aload 3
aload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 6 end local 5 7: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 context Ljava/lang/Object;
0 8 2 object Ljava/lang/Object;
0 8 3 key Ljava/lang/Object;
0 8 4 value Ljava/lang/Object;
2 7 5 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
3 7 6 privateValues Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
key
value
public java.lang.Object objectGetPrivate(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 3: aload 3
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.PRIVATE_VALUES_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 4
start local 4 4: aload 4
ifnonnull 6
5: aconst_null
areturn
6: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 4
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 8
7: aload 4
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
areturn
8: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 object Ljava/lang/Object;
0 9 2 key Ljava/lang/Object;
3 9 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
4 9 4 privateValues Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
key
public boolean objectDeletePrivate(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifne 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 3: aload 3
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.PRIVATE_VALUES_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
ifnonnull 6
5: iconst_1
ireturn
6: StackMap locals: com.oracle.truffle.api.object.DynamicObject java.lang.Object
StackMap stack:
aload 4
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.delete:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 object Ljava/lang/Object;
0 7 2 key Ljava/lang/Object;
3 7 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
4 7 4 privateValues Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public java.lang.Object objectGet(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
instanceof com.oracle.truffle.api.interop.TruffleObject
ifeq 3
1: aload 1
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 3
start local 3 2: goto 4
end local 3 3: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toObject:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/TruffleObject;
astore 3
start local 3 4: StackMap locals: com.oracle.truffle.api.interop.TruffleObject
StackMap stack:
aload 2
instanceof com.oracle.truffle.api.object.HiddenKey
ifeq 14
5: aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 6: aload 5
ifnonnull 12
7: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSPromise.isJSPromise:(Ljava/lang/Object;)Z
ifeq 10
8: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 4
start local 4 9: goto 15
end local 4 10: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.api.interop.TruffleObject top java.lang.Object
StackMap stack:
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
astore 4
start local 4 11: goto 15
end local 4 12: StackMap locals:
StackMap stack:
aload 5
astore 4
end local 5 start local 4 13: goto 15
end local 4 14: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.api.interop.TruffleObject
StackMap stack:
aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/interop/TruffleObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 15: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueFlatten:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 16: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
17: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.runtime.util.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iconst_4
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
18: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iconst_0
aload 0
aload 5
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
19: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 20 1 object Ljava/lang/Object;
0 20 2 key Ljava/lang/Object;
2 3 3 truffleObject Lcom/oracle/truffle/api/interop/TruffleObject;
4 20 3 truffleObject Lcom/oracle/truffle/api/interop/TruffleObject;
9 10 4 value Ljava/lang/Object;
11 12 4 value Ljava/lang/Object;
13 14 4 value Ljava/lang/Object;
15 20 4 value Ljava/lang/Object;
6 13 5 hiddenValue Ljava/lang/Object;
16 20 5 flatten Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public java.lang.Object objectGetIndex(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
iload 2
i2l
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;J)Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueFlatten:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.runtime.util.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iconst_4
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iconst_0
aload 0
aload 3
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
4: aload 3
areturn
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/trufflenode/GraalJSAccess;
0 5 1 object Ljava/lang/Object;
0 5 2 index I
1 5 3 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
index
public java.lang.Object objectGetOwnPropertyDescriptor(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 2: aload 3
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 5
start local 5 3: aload 5
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.fromPropertyDescriptor:(Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
0 4 2 key Ljava/lang/Object;
1 4 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
2 4 4 context Lcom/oracle/truffle/js/runtime/JSContext;
3 4 5 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
object
key
public boolean objectDefineProperty(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, boolean, boolean, boolean, boolean, boolean, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;ZZZZZZ)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=14, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 12
start local 12 1: invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createEmpty:()Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 13
start local 13 2: aload 3
ifnull 4
3: aload 13
aload 3
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setValue:(Ljava/lang/Object;)V
4: StackMap locals: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
aload 4
ifnull 6
5: aload 13
aload 4
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setGet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
6: StackMap locals:
StackMap stack:
aload 5
ifnull 8
7: aload 13
aload 5
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setSet:(Lcom/oracle/truffle/api/object/DynamicObject;)V
8: StackMap locals:
StackMap stack:
iload 6
ifeq 10
9: aload 13
iload 7
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setEnumerable:(Z)V
10: StackMap locals:
StackMap stack:
iload 8
ifeq 12
11: aload 13
iload 9
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setConfigurable:(Z)V
12: StackMap locals:
StackMap stack:
iload 10
ifeq 14
13: aload 13
iload 11
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.setWritable:(Z)V
14: StackMap locals:
StackMap stack:
aload 12
aload 2
aload 13
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.defineOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;)Z
ireturn
end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 15 1 object Ljava/lang/Object;
0 15 2 key Ljava/lang/Object;
0 15 3 value Ljava/lang/Object;
0 15 4 get Ljava/lang/Object;
0 15 5 set Ljava/lang/Object;
0 15 6 hasEnumerable Z
0 15 7 enumerable Z
0 15 8 hasConfigurable Z
0 15 9 configurable Z
0 15 10 hasWritable Z
0 15 11 writable Z
1 15 12 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
2 15 13 descriptor Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
MethodParameters:
Name Flags
object
key
value
get
set
hasEnumerable
enumerable
hasConfigurable
configurable
hasWritable
writable
public java.lang.Object valueFlatten(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.String
ifeq 2
1: aload 1
areturn
2: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.objects.JSLazyString
ifeq 4
3: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSLazyString
invokevirtual com.oracle.truffle.js.runtime.objects.JSLazyString.toString:()Ljava/lang/String;
areturn
4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifeq 11
5: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 2
start local 2 6: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isString:(Ljava/lang/Object;)Z
ifeq 10
7: aload 2
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
8: areturn
9: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object com.oracle.truffle.api.interop.InteropLibrary
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
pop
10: StackMap locals:
StackMap stack:
aload 1
areturn
end local 2 11: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 12 1 value Ljava/lang/Object;
6 11 2 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
Exception table:
from to target type
7 8 9 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
value
public boolean objectHas(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
0 1 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public boolean objectHasOwnProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
0 1 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public boolean objectHasRealNamedProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 3
2: aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 3
3: StackMap locals: java.lang.Object
StackMap stack:
aload 0
aload 3
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectHasOwnProperty:(Ljava/lang/Object;Ljava/lang/Object;)Z
ireturn
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/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
0 4 2 key Ljava/lang/Object;
1 4 3 obj Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public boolean objectDelete(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.delete:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
0 1 2 key Ljava/lang/Object;
MethodParameters:
Name Flags
object
key
public boolean objectDelete(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
lload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.delete:(Lcom/oracle/truffle/api/object/DynamicObject;J)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
0 1 2 index J
MethodParameters:
Name Flags
object
index
public boolean objectSetAccessor(java.lang.Object, java.lang.Object, long, long, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JJLjava/lang/Object;I)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=11, locals=17, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 start local 8 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 9
start local 9 1: aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 10
start local 10 2: iload 8
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.propertyAttributes:(I)I
istore 11
start local 11 3: new com.oracle.truffle.trufflenode.info.Accessor
dup
aload 0
aload 2
lload 3
lload 5
aload 7
aconst_null
iload 11
invokespecial com.oracle.truffle.trufflenode.info.Accessor.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Ljava/lang/Object;JJLjava/lang/Object;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;I)V
astore 12
start local 12 4: aload 12
aload 10
invokevirtual com.oracle.truffle.trufflenode.info.Accessor.getFunctions:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/util/Pair;
astore 13
start local 13 5: aload 10
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 14
start local 14 6: aload 14
aload 13
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
aload 9
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromFunctionData:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 15
start local 15 7: aload 14
aload 13
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
aload 9
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromFunctionData:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 16
start local 16 8: aload 10
aload 9
aload 12
invokevirtual com.oracle.truffle.trufflenode.info.Accessor.getName:()Ljava/lang/String;
aload 15
aload 16
iload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putAccessorProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;I)V
9: iconst_1
ireturn
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 object Ljava/lang/Object;
0 10 2 name Ljava/lang/Object;
0 10 3 getterPtr J
0 10 5 setterPtr J
0 10 7 data Ljava/lang/Object;
0 10 8 attributes I
1 10 9 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
2 10 10 context Lcom/oracle/truffle/js/runtime/JSContext;
3 10 11 flags I
4 10 12 accessor Lcom/oracle/truffle/trufflenode/info/Accessor;
5 10 13 accessorFunctions Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;>;
6 10 14 realm Lcom/oracle/truffle/js/runtime/JSRealm;
7 10 15 getter Lcom/oracle/truffle/api/object/DynamicObject;
8 10 16 setter Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
object
name
getterPtr
setterPtr
data
attributes
public java.lang.Object objectClone(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.js.runtime.objects.JSCopyableObject
ifeq 2
1: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSCopyableObject
invokeinterface com.oracle.truffle.js.runtime.objects.JSCopyableObject.copy:()Lcom/oracle/truffle/js/runtime/objects/JSObject;
areturn
2: StackMap locals:
StackMap stack:
ldc "Cannot copy %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.safeToString:(Ljava/lang/Object;)Ljava/lang/String;
aastore
invokestatic com.oracle.truffle.js.runtime.Errors.createTypeErrorFormat:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public boolean objectSetPrototype(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.setPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
0 1 2 prototype Ljava/lang/Object;
MethodParameters:
Name Flags
object
prototype
public java.lang.Object objectGetPrototype(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.String objectGetConstructorName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: ldc "Object"
astore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 7
2: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 3: aload 3
ldc "constructor"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 4: aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 15
5: aload 4
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;
astore 2
end local 4 end local 3 6: goto 15
7: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
astore 3
start local 3 8: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMetaObject:(Ljava/lang/Object;)Z
ifeq 15
9: aload 3
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaObject:(Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 10: aload 4
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 4
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMetaSimpleName:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 11: aload 5
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/interop/InteropLibrary;
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
end local 5 end local 4 12: goto 15
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String com.oracle.truffle.api.interop.InteropLibrary
StackMap stack: com.oracle.truffle.api.interop.UnsupportedMessageException
13: astore 4
start local 4 14: aload 4
invokestatic com.oracle.truffle.js.runtime.Errors.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 end local 3 15: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 16 1 object Ljava/lang/Object;
1 16 2 name Ljava/lang/String;
3 6 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
4 6 4 constructor Ljava/lang/Object;
8 15 3 interop Lcom/oracle/truffle/api/interop/InteropLibrary;
10 12 4 metaObject Ljava/lang/Object;
11 12 5 interopName Ljava/lang/Object;
14 15 4 ex Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
Exception table:
from to target type
9 12 13 Class com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
object
private static java.lang.String foreignStringToString(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
instanceof java.lang.String
ifeq 2
1: aload 0
checkcast java.lang.String
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 0
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
aload 0
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.asString:(Ljava/lang/Object;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 foreignString Ljava/lang/Object;
Exceptions:
throws com.oracle.truffle.api.interop.UnsupportedMessageException
MethodParameters:
Name Flags
foreignString
public java.lang.Object objectGetOwnPropertyNames(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 6
1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 2: aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.enumerableOwnNames:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
astore 4
start local 4 3: aload 4
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 2
start local 2 4: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.convertArrayIndicesToNumbers:([Ljava/lang/Object;)V
end local 4 end local 3 5: goto 31
end local 2 6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 7
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 3
start local 3 8: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 4
start local 4 9: aload 4
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifeq 19
10: aload 4
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 11: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 5
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 6
start local 6 12: aload 6
aload 5
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 7
start local 7 13: lconst_0
lstore 9
start local 9 14: goto 18
15: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object top java.util.List com.oracle.truffle.api.interop.InteropLibrary java.lang.Object com.oracle.truffle.api.interop.InteropLibrary long long
StackMap stack:
aload 6
aload 5
lload 9
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 11
start local 11 16: aload 3
aload 11
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.foreignStringToString:(Ljava/lang/Object;)Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 11 17: lload 9
lconst_1
ladd
lstore 9
StackMap locals:
StackMap stack:
18: lload 9
lload 7
lcmp
iflt 15
end local 9 end local 7 end local 6 end local 5 19: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object top java.util.List com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
aload 4
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 27
20: aload 4
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 5
start local 5 21: lconst_0
lstore 7
start local 7 22: goto 26
23: StackMap locals: long long
StackMap stack:
aload 4
aload 1
lload 7
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementExisting:(Ljava/lang/Object;J)Z
ifeq 25
24: aload 3
lload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longToIntOrDouble:(J)Ljava/lang/Number;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: StackMap locals:
StackMap stack:
lload 7
lconst_1
ladd
lstore 7
StackMap locals:
StackMap stack:
26: lload 7
lload 5
lcmp
iflt 23
end local 7 end local 5 27: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 2
end local 4 end local 3 start local 2 28: goto 31
end local 2 StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object
StackMap stack: com.oracle.truffle.api.interop.InteropException
29: pop
30: iconst_0
anewarray java.lang.Object
astore 2
start local 2 31: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantObjectArray:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 32 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 32 1 object Ljava/lang/Object;
4 6 2 namesArray [Ljava/lang/Object;
28 29 2 namesArray [Ljava/lang/Object;
31 32 2 namesArray [Ljava/lang/Object;
2 5 3 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
3 5 4 names Ljava/util/List<Ljava/lang/String;>;
8 28 3 names Ljava/util/List<Ljava/lang/Object;>;
9 28 4 library Lcom/oracle/truffle/api/interop/InteropLibrary;
11 19 5 members Ljava/lang/Object;
12 19 6 membersLibrary Lcom/oracle/truffle/api/interop/InteropLibrary;
13 19 7 size J
14 19 9 i J
16 17 11 key Ljava/lang/Object;
21 27 5 size J
22 27 7 i J
Exception table:
from to target type
7 28 29 Class com.oracle.truffle.api.interop.UnsupportedMessageException
7 28 29 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
MethodParameters:
Name Flags
object
public java.lang.Object objectGetPropertyNames(java.lang.Object, boolean, boolean, boolean, boolean, boolean, boolean, boolean, boolean);
descriptor: (Ljava/lang/Object;ZZZZZZZZ)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=21, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 32
1: new java.util.LinkedHashSet
dup
invokespecial java.util.LinkedHashSet.<init>:()V
astore 11
start local 11 2: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 12
start local 12 3: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.Set com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 12
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSClass:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSClass;
astore 13
start local 13 4: aload 13
aload 12
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.ownPropertyKeys:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/util/List;
astore 14
start local 14 5: aload 14
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 16
goto 27
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.Set com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSClass java.lang.Iterable top java.util.Iterator
StackMap stack:
6: aload 16
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 15
start local 15 7: aload 15
astore 17
start local 17 8: aload 15
instanceof java.lang.String
ifeq 18
9: iload 8
ifeq 11
10: goto 27
11: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.Set com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSClass java.lang.Iterable java.lang.Object java.util.Iterator java.lang.Object
StackMap stack:
aload 15
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/String;)Z
istore 18
start local 18 12: iload 18
ifeq 21
13: iload 6
ifeq 15
14: goto 27
15: StackMap locals: int
StackMap stack:
iload 9
ifeq 21
16: aload 15
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
astore 17
end local 18 17: goto 21
18: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 19
aload 15
instanceof com.oracle.truffle.js.runtime.Symbol
ifne 19
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
19: StackMap locals:
StackMap stack:
iload 7
ifeq 21
20: goto 27
21: StackMap locals:
StackMap stack:
aload 13
aload 12
aload 15
invokevirtual com.oracle.truffle.js.runtime.builtins.JSClass.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 18
start local 18 22: iload 3
ifeq 23
aload 18
ifnull 27
aload 18
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getEnumerable:()Z
ifeq 27
StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor
StackMap stack:
23: iload 4
ifeq 24
aload 18
ifnull 27
aload 18
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
ifeq 27
24: StackMap locals:
StackMap stack:
iload 5
ifeq 26
aload 18
ifnull 27
aload 18
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifne 26
25: goto 27
26: StackMap locals:
StackMap stack:
aload 11
aload 17
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 18 end local 17 end local 15 27: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.Set com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSClass java.lang.Iterable top java.util.Iterator
StackMap stack:
aload 16
invokeinterface java.util.Iterator.hasNext:()Z
ifne 6
28: aload 12
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 12
end local 14 end local 13 29: iload 2
ifne 30
aload 12
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpne 3
30: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.Set com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 11
invokeinterface java.util.Set.toArray:()[Ljava/lang/Object;
astore 10
end local 12 end local 11 start local 10 31: goto 64
end local 10 32: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 33
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isForeignObject:(Ljava/lang/Object;)Z
ifne 33
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
33: StackMap locals:
StackMap stack:
new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 11
start local 11 34: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 1
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 12
start local 12 35: iload 8
ifne 47
aload 12
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasMembers:(Ljava/lang/Object;)Z
ifeq 47
36: aload 12
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getMembers:(Ljava/lang/Object;)Ljava/lang/Object;
astore 13
start local 13 37: invokestatic com.oracle.truffle.api.interop.InteropLibrary.getFactory:()Lcom/oracle/truffle/api/library/LibraryFactory;
aload 13
invokevirtual com.oracle.truffle.api.library.LibraryFactory.getUncached:(Ljava/lang/Object;)Lcom/oracle/truffle/api/library/Library;
checkcast com.oracle.truffle.api.interop.InteropLibrary
astore 14
start local 14 38: aload 14
aload 13
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 15
start local 15 39: lconst_0
lstore 17
start local 17 40: goto 46
41: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.List com.oracle.truffle.api.interop.InteropLibrary java.lang.Object com.oracle.truffle.api.interop.InteropLibrary long long
StackMap stack:
aload 14
aload 13
lload 17
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.readArrayElement:(Ljava/lang/Object;J)Ljava/lang/Object;
astore 19
start local 19 42: aload 19
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.foreignStringToString:(Ljava/lang/Object;)Ljava/lang/String;
astore 20
start local 20 43: iload 5
ifeq 44
aload 12
aload 1
aload 20
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isMemberWritable:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 45
44: StackMap locals: java.lang.Object java.lang.String
StackMap stack:
aload 11
aload 20
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 20 end local 19 45: StackMap locals:
StackMap stack:
lload 17
lconst_1
ladd
lstore 17
StackMap locals:
StackMap stack:
46: lload 17
lload 15
lcmp
iflt 41
end local 17 end local 15 end local 14 end local 13 47: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int top java.util.List com.oracle.truffle.api.interop.InteropLibrary
StackMap stack:
iload 6
ifne 60
aload 12
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.hasArrayElements:(Ljava/lang/Object;)Z
ifeq 60
48: aload 12
aload 1
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.getArraySize:(Ljava/lang/Object;)J
lstore 13
start local 13 49: lconst_0
lstore 15
start local 15 50: goto 59
51: StackMap locals: long long
StackMap stack:
aload 12
aload 1
lload 15
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementExisting:(Ljava/lang/Object;J)Z
ifeq 58
52: iload 9
ifeq 55
53: lload 15
invokestatic com.oracle.truffle.js.runtime.JSRuntime.longToIntOrDouble:(J)Ljava/lang/Number;
astore 17
start local 17 54: goto 56
end local 17 55: StackMap locals:
StackMap stack:
lload 15
invokestatic java.lang.String.valueOf:(J)Ljava/lang/String;
astore 17
start local 17 56: StackMap locals: java.lang.Object
StackMap stack:
iload 5
ifeq 57
aload 12
aload 1
lload 15
invokevirtual com.oracle.truffle.api.interop.InteropLibrary.isArrayElementWritable:(Ljava/lang/Object;J)Z
ifeq 58
57: StackMap locals:
StackMap stack:
aload 11
aload 17
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 17 58: StackMap locals:
StackMap stack:
lload 15
lconst_1
ladd
lstore 15
StackMap locals:
StackMap stack:
59: lload 15
lload 13
lcmp
iflt 51
end local 15 end local 13 60: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
astore 10
end local 12 end local 11 start local 10 61: goto 64
end local 10 StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int int int int int int int
StackMap stack: com.oracle.truffle.api.interop.InteropException
62: pop
63: iconst_0
anewarray java.lang.Object
astore 10
start local 10 64: StackMap locals: java.lang.Object[]
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 10
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantObjectArray:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 65 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 65 1 object Ljava/lang/Object;
0 65 2 ownOnly Z
0 65 3 enumerableOnly Z
0 65 4 configurableOnly Z
0 65 5 writableOnly Z
0 65 6 skipIndices Z
0 65 7 skipSymbols Z
0 65 8 skipStrings Z
0 65 9 keepNumbers Z
31 32 10 propertyNames [Ljava/lang/Object;
61 62 10 propertyNames [Ljava/lang/Object;
64 65 10 propertyNames [Ljava/lang/Object;
2 31 11 keys Ljava/util/Set<Ljava/lang/Object;>;
3 31 12 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
4 29 13 jsclass Lcom/oracle/truffle/js/runtime/builtins/JSClass;
5 29 14 ownKeys Ljava/lang/Iterable<Ljava/lang/Object;>;
7 27 15 key Ljava/lang/Object;
8 27 17 keyToStore Ljava/lang/Object;
12 17 18 index Z
22 27 18 desc Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
34 61 11 keys Ljava/util/List<Ljava/lang/Object;>;
35 61 12 library Lcom/oracle/truffle/api/interop/InteropLibrary;
37 47 13 members Ljava/lang/Object;
38 47 14 membersLibrary Lcom/oracle/truffle/api/interop/InteropLibrary;
39 47 15 size J
40 47 17 i J
42 45 19 key Ljava/lang/Object;
43 45 20 stringKey Ljava/lang/String;
49 60 13 size J
50 60 15 i J
54 55 17 key Ljava/lang/Object;
56 58 17 key Ljava/lang/Object;
Exception table:
from to target type
33 61 62 Class com.oracle.truffle.api.interop.UnsupportedMessageException
33 61 62 Class com.oracle.truffle.api.interop.InvalidArrayIndexException
MethodParameters:
Name Flags
object
ownOnly
enumerableOnly
configurableOnly
writableOnly
skipIndices
skipSymbols
skipStrings
keepNumbers
private void convertArrayIndicesToNumbers(java.lang.Object[]);
descriptor: ([Ljava/lang/Object;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: goto 6
2: StackMap locals: int
StackMap stack:
aload 1
iload 2
aaload
astore 3
start local 3 3: aload 3
instanceof java.lang.String
ifeq 5
aload 3
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isArrayIndex:(Ljava/lang/String;)Z
ifeq 5
4: aload 1
iload 2
aload 3
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.JSRuntime.stringToNumber:(Ljava/lang/String;)Ljava/lang/Number;
aastore
end local 3 5: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
6: iload 2
aload 1
arraylength
if_icmplt 2
end local 2 7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 namesArray [Ljava/lang/Object;
1 7 2 i I
3 5 3 name Ljava/lang/Object;
MethodParameters:
Name Flags
namesArray
public java.lang.Object objectGetRealNamedProperty(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 1
astore 4
start local 4 2: goto 10
3: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
checkcast com.oracle.truffle.api.object.DynamicObject
astore 5
start local 5 4: aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 7
5: aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 4
6: goto 10
7: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 5
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 9
8: aload 5
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
areturn
9: StackMap locals:
StackMap stack:
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
end local 5 10: StackMap locals:
StackMap stack:
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 3
11: aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 12 1 object Ljava/lang/Object;
0 12 2 key Ljava/lang/Object;
1 12 3 propertyKey Ljava/lang/Object;
2 12 4 current Ljava/lang/Object;
4 10 5 currentDO Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
key
public int objectGetRealNamedPropertyAttributes(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toPropertyKey:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: aload 1
astore 4
start local 4 2: goto 18
3: StackMap locals: java.lang.Object java.lang.Object
StackMap stack:
aload 4
checkcast com.oracle.truffle.api.object.DynamicObject
astore 5
start local 5 4: aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifeq 7
5: aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 4
6: goto 18
7: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 5
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
astore 6
start local 6 8: aload 6
ifnull 17
9: iconst_0
istore 7
start local 7 10: aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.isAccessorDescriptor:()Z
ifne 12
aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getWritable:()Z
ifne 12
11: iload 7
iconst_1
ior
istore 7
12: StackMap locals: com.oracle.truffle.js.runtime.objects.PropertyDescriptor int
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getEnumerable:()Z
ifne 14
13: iload 7
iconst_2
ior
istore 7
14: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.truffle.js.runtime.objects.PropertyDescriptor.getConfigurable:()Z
ifne 16
15: iload 7
iconst_4
ior
istore 7
16: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 17: StackMap locals:
StackMap stack:
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
end local 6 end local 5 18: StackMap locals:
StackMap stack:
aload 4
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifne 3
19: iconst_m1
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 20 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 20 1 object Ljava/lang/Object;
0 20 2 key Ljava/lang/Object;
1 20 3 propertyKey Ljava/lang/Object;
2 20 4 current Ljava/lang/Object;
4 18 5 currentDO Lcom/oracle/truffle/api/object/DynamicObject;
8 18 6 descriptor Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
10 17 7 attributes I
MethodParameters:
Name Flags
object
key
public java.lang.Object objectCreationContext(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 3
2: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
areturn
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectCreationContextFromConstructor:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
1 4 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
object
private java.lang.Object objectCreationContextFromConstructor(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.isJSProxy:(Ljava/lang/Object;)Z
ifne 6
1: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 2: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 8
3: aload 2
ldc "constructor"
invokestatic com.oracle.truffle.js.runtime.JSRuntime.getDataProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 4: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 8
5: aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
areturn
end local 3 end local 2 6: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ifeq 8
7: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectCreationContext:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
8: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
ldc "Cannot get creation context for this object"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 object Lcom/oracle/truffle/api/object/DynamicObject;
2 6 2 prototype Lcom/oracle/truffle/api/object/DynamicObject;
4 6 3 constructor Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void objectSetIntegrityLevel(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
iload 2
iconst_1
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.setIntegrityLevel:(Lcom/oracle/truffle/api/object/DynamicObject;ZZ)Z
pop
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 object Ljava/lang/Object;
0 3 2 freeze Z
MethodParameters:
Name Flags
object
freeze
public java.lang.Object arrayNew(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;I)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 length I
MethodParameters:
Name Flags
context
length
public long arrayLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.arrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.Object arrayBufferNew(java.lang.Object, java.lang.Object, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
checkcast java.nio.ByteBuffer
astore 5
start local 5 1: lload 3
lconst_0
lcmp
ifeq 3
2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.deallocator:Lcom/oracle/truffle/trufflenode/Deallocator;
aload 5
lload 3
invokevirtual com.oracle.truffle.trufflenode.Deallocator.register:(Ljava/nio/ByteBuffer;J)V
3: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.createDirectArrayBuffer:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 4: aload 6
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
lload 3
lconst_0
lcmp
ifne 5
iconst_1
goto 6
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object long java.nio.ByteBuffer com.oracle.truffle.api.object.DynamicObject
StackMap stack: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.HiddenKey
5: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object long java.nio.ByteBuffer com.oracle.truffle.api.object.DynamicObject
StackMap stack: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.HiddenKey int
6: invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 6
areturn
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 context Ljava/lang/Object;
0 8 2 buffer Ljava/lang/Object;
0 8 3 pointer J
1 8 5 byteBuffer Ljava/nio/ByteBuffer;
4 8 6 arrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
buffer
pointer
public java.lang.Object arrayBufferNew(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.createDirectArrayBuffer:(Lcom/oracle/truffle/js/runtime/JSContext;I)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 byteLength I
MethodParameters:
Name Flags
context
byteLength
public java.lang.Object arrayBufferGetContents(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.getDirectByteBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
arrayBuffer
public java.lang.Object arrayBufferViewBuffer(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.isJSDataView:(Ljava/lang/Object;)Z
ifeq 3
2: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.getArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
3: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 arrayBufferView Ljava/lang/Object;
1 4 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
arrayBufferView
public int arrayBufferViewByteLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteLength:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 arrayBufferView Ljava/lang/Object;
1 2 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
arrayBufferView
public boolean arrayBufferIsExternal(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
arrayBuffer
public void arrayBufferExternalize(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 2
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)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/trufflenode/GraalJSAccess;
0 3 1 arrayBuffer Ljava/lang/Object;
1 3 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
arrayBuffer
public void arrayBufferDetach(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBuffer.detachArrayBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
arrayBuffer
public static int arrayBufferViewByteLength(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.isJSDataView:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.typedArrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getByteLength:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSContext;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 3 1 arrayBufferView Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
arrayBufferView
public int arrayBufferViewByteOffset(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferViewByteOffset:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 arrayBufferView Ljava/lang/Object;
1 2 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
arrayBufferView
public static int arrayBufferViewByteOffset(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.isJSDataView:(Ljava/lang/Object;)Z
ifeq 2
1: aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.typedArrayGetOffset:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
2: StackMap locals:
StackMap stack:
aload 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.getByteOffset:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSContext;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 3 1 arrayBufferView Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
arrayBufferView
private static void pollAgentWaiterListQueue();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=0
0: goto 3
start local 0 1: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList.pointer:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
ifnonnull 3
2: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList.pointer:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 0 3: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList
dup
astore 0
start local 0 4: ifnonnull 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 ref Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakAgentWaiterList;
4 6 0 ref Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakAgentWaiterList;
private static void updateWaiterList(com.oracle.truffle.api.object.DynamicObject, long);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
dup
astore 3
monitorenter
1: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.pollAgentWaiterListQueue:()V
2: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 3
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.isJSSharedArrayBuffer:(Ljava/lang/Object;)Z
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.util.Map
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 4
lload 1
lconst_0
lcmp
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.WeakReference
astore 4
start local 4 5: aload 4
ifnonnull 6
aconst_null
goto 7
StackMap locals: java.lang.ref.WeakReference
StackMap stack:
6: aload 4
invokevirtual java.lang.ref.WeakReference.get:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.JSAgentWaiterList
StackMap locals:
StackMap stack: com.oracle.truffle.js.runtime.JSAgentWaiterList
7: astore 5
start local 5 8: aload 5
ifnonnull 12
9: new com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList
dup
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.getWaiterList:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;
lload 1
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList.<init>:(Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;J)V
astore 4
10: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.agentWaiterListMap:Ljava/util/Map;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
11: goto 13
12: StackMap locals: com.oracle.truffle.js.runtime.JSAgentWaiterList
StackMap stack:
aload 0
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.setWaiterList:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;)V
end local 5 end local 4 13: StackMap locals:
StackMap stack:
aload 3
monitorexit
14: goto 17
StackMap locals:
StackMap stack: java.lang.Throwable
15: aload 3
monitorexit
16: athrow
17: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 sharedArrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
0 18 1 pointer J
5 13 4 ref Ljava/lang/ref/WeakReference<Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;>;
8 13 5 wl Lcom/oracle/truffle/js/runtime/JSAgentWaiterList;
Exception table:
from to target type
1 14 15 any
15 16 15 any
MethodParameters:
Name Flags
sharedArrayBuffer
pointer
public java.lang.Object sharedArrayBufferNew(java.lang.Object, java.lang.Object, long, boolean);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JZ)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 2
checkcast java.nio.ByteBuffer
astore 6
start local 6 1: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.createSharedArrayBuffer:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 2: aload 7
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
iload 5
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
3: iload 5
ifeq 6
4: aload 7
lload 3
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.updateWaiterList:(Lcom/oracle/truffle/api/object/DynamicObject;J)V
5: goto 7
6: StackMap locals: java.nio.ByteBuffer com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.deallocator:Lcom/oracle/truffle/trufflenode/Deallocator;
aload 6
lload 3
invokevirtual com.oracle.truffle.trufflenode.Deallocator.register:(Ljava/nio/ByteBuffer;J)V
7: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 context Ljava/lang/Object;
0 8 2 buffer Ljava/lang/Object;
0 8 3 pointer J
0 8 5 externalized Z
1 8 6 byteBuffer Ljava/nio/ByteBuffer;
2 8 7 sharedArrayBuffer Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
buffer
pointer
externalized
public boolean sharedArrayBufferIsExternal(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
if_acmpne 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 sharedArrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
sharedArrayBuffer
public java.lang.Object sharedArrayBufferGetContents(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSSharedArrayBuffer.getDirectByteBuffer:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/nio/ByteBuffer;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 sharedArrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
sharedArrayBuffer
public void sharedArrayBufferExternalize(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 4
start local 4 1: aload 4
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.EXTERNALIZED_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
2: aload 4
lload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.updateWaiterList:(Lcom/oracle/truffle/api/object/DynamicObject;J)V
3: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 sharedArrayBuffer Ljava/lang/Object;
0 4 2 pointer J
1 4 4 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
sharedArrayBuffer
pointer
public int typedArrayLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.typedArrayGetLength:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 typedArray Ljava/lang/Object;
MethodParameters:
Name Flags
typedArray
private java.lang.Object typedArrayNew(java.lang.Object, int, int, com.oracle.truffle.js.runtime.array.TypedArrayFactory);
descriptor: (Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 4
iconst_1
iload 2
ifeq 1
iconst_1
goto 2
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int com.oracle.truffle.js.runtime.array.TypedArrayFactory
StackMap stack: com.oracle.truffle.js.runtime.array.TypedArrayFactory int
1: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object int int com.oracle.truffle.js.runtime.array.TypedArrayFactory
StackMap stack: com.oracle.truffle.js.runtime.array.TypedArrayFactory int int
2: invokevirtual com.oracle.truffle.js.runtime.array.TypedArrayFactory.createArrayType:(ZZ)Lcom/oracle/truffle/js/runtime/array/TypedArray;
astore 5
start local 5 3: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 6
start local 6 4: aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 7
start local 7 5: aload 7
aload 6
aload 5
iload 2
iload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSArrayBufferView.createArrayBufferView:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/array/TypedArray;II)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 arrayBuffer Ljava/lang/Object;
0 6 2 offset I
0 6 3 length I
0 6 4 factory Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
3 6 5 arrayType Lcom/oracle/truffle/js/runtime/array/TypedArray;
4 6 6 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
5 6 7 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
arrayBuffer
offset
length
factory
public java.lang.Object uint8ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Uint8Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object uint8ClampedArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Uint8ClampedArray:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object int8ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Int8Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object uint16ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Uint16Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object int16ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Int16Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object uint32ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Uint32Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object int32ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Int32Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object float32ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Float32Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object float64ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.Float64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object bigInt64ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.BigInt64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object bigUint64ArrayNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
iload 3
getstatic com.oracle.truffle.js.runtime.array.TypedArrayFactory.BigUint64Array:Lcom/oracle/truffle/js/runtime/array/TypedArrayFactory;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.typedArrayNew:(Ljava/lang/Object;IILcom/oracle/truffle/js/runtime/array/TypedArrayFactory;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 arrayBuffer Ljava/lang/Object;
0 1 2 offset I
0 1 3 length I
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object dataViewNew(java.lang.Object, int, int);
descriptor: (Ljava/lang/Object;II)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 4
start local 4 1: aload 4
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 5
start local 5 2: aload 5
aload 4
iload 2
iload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSDataView.createDataView:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;II)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 arrayBuffer Ljava/lang/Object;
0 3 2 offset I
0 3 3 length I
1 3 4 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
2 3 5 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
arrayBuffer
offset
length
public java.lang.Object externalNew(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
lload 2
invokestatic com.oracle.truffle.trufflenode.JSExternal.create:(Lcom/oracle/truffle/js/runtime/JSContext;J)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 pointer J
MethodParameters:
Name Flags
context
pointer
public java.lang.Object integerNew(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: lload 1
l2d
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value J
MethodParameters:
Name Flags
value
public java.lang.Object numberNew(double);
descriptor: (D)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: dload 1
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value D
MethodParameters:
Name Flags
value
public java.lang.Object dateNew(java.lang.Object, double);
descriptor: (Ljava/lang/Object;D)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
dload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.create:(Lcom/oracle/truffle/js/runtime/JSContext;D)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 value D
MethodParameters:
Name Flags
context
value
public double dateValueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSDate.getTimeMillisField:(Lcom/oracle/truffle/api/object/DynamicObject;)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 date Ljava/lang/Object;
MethodParameters:
Name Flags
date
public java.lang.Object symbolNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.Symbol.create:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/Symbol;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 name Ljava/lang/Object;
MethodParameters:
Name Flags
name
public java.lang.Object symbolName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.Symbol
invokevirtual com.oracle.truffle.js.runtime.Symbol.getDescription:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 symbol Ljava/lang/Object;
MethodParameters:
Name Flags
symbol
public java.lang.Object symbolGetIterator();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_ITERATOR:Lcom/oracle/truffle/js/runtime/Symbol;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object functionNewInstance(java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 4
start local 4 2: aconst_null
aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
astore 5
start local 5 3: aload 4
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getConstructTarget:()Lcom/oracle/truffle/api/CallTarget;
aload 5
invokeinterface com.oracle.truffle.api.CallTarget.call:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 function Ljava/lang/Object;
0 4 2 arguments [Ljava/lang/Object;
1 4 3 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
2 4 4 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
3 4 5 callArguments [Ljava/lang/Object;
MethodParameters:
Name Flags
function
arguments
public void functionSetName(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 4
start local 4 2: aload 4
aload 2
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setName:(Ljava/lang/String;)V
3: return
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/trufflenode/GraalJSAccess;
0 4 1 function Ljava/lang/Object;
0 4 2 name Ljava/lang/String;
1 4 3 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
2 4 4 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
function
name
public java.lang.String functionGetName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 3
start local 3 2: aload 3
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.getName:()Ljava/lang/String;
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/trufflenode/GraalJSAccess;
0 3 1 function Ljava/lang/Object;
1 3 2 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
2 3 3 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
function
public java.lang.Object functionCall(java.lang.Object, java.lang.Object, java.lang.Object[]);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 2
aload 3
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
astore 4
start local 4 1: aload 0
aload 4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueFlatten:(Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 2: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokestatic com.oracle.truffle.js.runtime.util.BufferUtil.asBaseBuffer:(Ljava/nio/Buffer;)Ljava/nio/Buffer;
iconst_4
invokevirtual java.nio.Buffer.position:(I)Ljava/nio/Buffer;
pop
4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iconst_0
aload 0
aload 5
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.valueType:(Ljava/lang/Object;Z)I
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
5: aload 5
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 function Ljava/lang/Object;
0 6 2 receiver Ljava/lang/Object;
0 6 3 arguments [Ljava/lang/Object;
1 6 4 value Ljava/lang/Object;
2 6 5 flatten Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arguments
public java.lang.Object functionCall0(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
aload 2
getstatic com.oracle.truffle.js.runtime.JSArguments.EMPTY_ARGUMENTS_ARRAY:[Ljava/lang/Object;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
public java.lang.Object functionCall1(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 2
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
public java.lang.Object functionCall2(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
public java.lang.Object functionCall3(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
public java.lang.Object functionCall4(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=7, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: aload 0
aload 1
aload 2
iconst_4
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
public java.lang.Object functionCall5(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=8, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 0: aload 0
aload 1
aload 2
iconst_5
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
aload 7
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
0 1 7 arg4 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
arg4
public java.lang.Object functionCall6(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=9, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
bipush 6
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
aload 7
aastore
dup
iconst_5
aload 8
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
0 1 7 arg4 Ljava/lang/Object;
0 1 8 arg5 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
arg4
arg5
public java.lang.Object functionCall7(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=10, args_size=10
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 0: aload 0
aload 1
aload 2
bipush 7
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
aload 7
aastore
dup
iconst_5
aload 8
aastore
dup
bipush 6
aload 9
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
0 1 7 arg4 Ljava/lang/Object;
0 1 8 arg5 Ljava/lang/Object;
0 1 9 arg6 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
arg4
arg5
arg6
public java.lang.Object functionCall8(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=11, args_size=11
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 0: aload 0
aload 1
aload 2
bipush 8
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
aload 7
aastore
dup
iconst_5
aload 8
aastore
dup
bipush 6
aload 9
aastore
dup
bipush 7
aload 10
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
0 1 7 arg4 Ljava/lang/Object;
0 1 8 arg5 Ljava/lang/Object;
0 1 9 arg6 Ljava/lang/Object;
0 1 10 arg7 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
arg4
arg5
arg6
arg7
public java.lang.Object functionCall9(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=12, args_size=12
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 start local 9 start local 10 start local 11 0: aload 0
aload 1
aload 2
bipush 9
anewarray java.lang.Object
dup
iconst_0
aload 3
aastore
dup
iconst_1
aload 4
aastore
dup
iconst_2
aload 5
aastore
dup
iconst_3
aload 6
aastore
dup
iconst_4
aload 7
aastore
dup
iconst_5
aload 8
aastore
dup
bipush 6
aload 9
aastore
dup
bipush 7
aload 10
aastore
dup
bipush 8
aload 11
aastore
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionCall:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 function Ljava/lang/Object;
0 1 2 receiver Ljava/lang/Object;
0 1 3 arg0 Ljava/lang/Object;
0 1 4 arg1 Ljava/lang/Object;
0 1 5 arg2 Ljava/lang/Object;
0 1 6 arg3 Ljava/lang/Object;
0 1 7 arg4 Ljava/lang/Object;
0 1 8 arg5 Ljava/lang/Object;
0 1 9 arg6 Ljava/lang/Object;
0 1 10 arg7 Ljava/lang/Object;
0 1 11 arg8 Ljava/lang/Object;
MethodParameters:
Name Flags
function
receiver
arg0
arg1
arg2
arg3
arg4
arg5
arg6
arg7
arg8
private static com.oracle.truffle.api.source.SourceSection functionGetSourceSection(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifeq 5
1: aload 0
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getCallTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/CallTarget;
astore 1
start local 1 2: aload 1
instanceof com.oracle.truffle.api.RootCallTarget
ifeq 5
3: aload 1
checkcast com.oracle.truffle.api.RootCallTarget
invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 2
start local 2 4: aload 2
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
areturn
end local 2 end local 1 5: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 function Ljava/lang/Object;
2 5 1 callTarget Lcom/oracle/truffle/api/CallTarget;
4 5 2 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
function
public java.lang.Object functionResourceName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionGetSourceSection:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: aconst_null
areturn
3: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 3
start local 3 4: aload 3
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
areturn
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/trufflenode/GraalJSAccess;
0 5 1 function Ljava/lang/Object;
1 5 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
4 5 3 source Lcom/oracle/truffle/api/source/Source;
MethodParameters:
Name Flags
function
public int functionGetScriptLineNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionGetSourceSection:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
iconst_1
isub
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 function Ljava/lang/Object;
1 4 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
MethodParameters:
Name Flags
function
public int functionGetScriptColumnNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionGetSourceSection:(Ljava/lang/Object;)Lcom/oracle/truffle/api/source/SourceSection;
astore 2
start local 2 1: aload 2
ifnonnull 3
2: iconst_m1
ireturn
3: StackMap locals: com.oracle.truffle.api.source.SourceSection
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 4: aload 3
bipush 40
invokevirtual java.lang.String.indexOf:(I)I
istore 4
start local 4 5: iload 4
iconst_m1
if_icmpne 6
iconst_0
goto 7
StackMap locals: java.lang.String int
StackMap stack:
6: iload 4
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 2
invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
iload 5
iadd
iconst_1
isub
ireturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 function Ljava/lang/Object;
1 9 2 sourceSection Lcom/oracle/truffle/api/source/SourceSection;
4 9 3 code Ljava/lang/String;
5 9 4 idx I
8 9 5 delta I
MethodParameters:
Name Flags
function
public java.lang.Object exceptionError(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.runtime.JSErrorType.Error:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionCreate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
public java.lang.Object exceptionTypeError(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.runtime.JSErrorType.TypeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionCreate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
public java.lang.Object exceptionSyntaxError(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.runtime.JSErrorType.SyntaxError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionCreate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
public java.lang.Object exceptionRangeError(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.runtime.JSErrorType.RangeError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionCreate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
public java.lang.Object exceptionReferenceError(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.runtime.JSErrorType.ReferenceError:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionCreate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 object Ljava/lang/Object;
MethodParameters:
Name Flags
context
object
private java.lang.Object exceptionCreate(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.JSErrorType, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
aload 1
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.create:(Lcom/oracle/truffle/js/runtime/JSErrorType;Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 1: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 2
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.getException:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/GraalJSException;
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
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 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 3 2 errorType Lcom/oracle/truffle/js/runtime/JSErrorType;
0 3 3 message Ljava/lang/Object;
1 3 4 error Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
errorType
message
public java.lang.Object exceptionCreateMessage(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionObjectToException:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 exceptionObject Ljava/lang/Object;
MethodParameters:
Name Flags
exceptionObject
private com.oracle.truffle.js.runtime.GraalJSException exceptionObjectToException(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
ifeq 4
1: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.getException:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/GraalJSException;
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
areturn
end local 2 4: StackMap locals:
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.UserScriptException.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/UserScriptException;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 5 1 exceptionObject Ljava/lang/Object;
2 4 2 exception Lcom/oracle/truffle/js/runtime/GraalJSException;
MethodParameters:
Name Flags
exceptionObject
public void isolateThrowException(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exceptionObjectToException:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 exceptionObject Ljava/lang/Object;
MethodParameters:
Name Flags
exceptionObject
public void templateSet(java.lang.Object, java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
instanceof com.oracle.truffle.trufflenode.info.FunctionTemplate
ifeq 3
1: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getFunctionObjectTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
astore 5
start local 5 2: goto 4
end local 5 3: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 5
start local 5 4: StackMap locals: com.oracle.truffle.trufflenode.info.ObjectTemplate
StackMap stack:
aload 5
new com.oracle.truffle.trufflenode.info.Value
dup
aload 2
aload 3
iload 4
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.propertyAttributes:(I)I
invokespecial com.oracle.truffle.trufflenode.info.Value.<init>:(Ljava/lang/Object;Ljava/lang/Object;I)V
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.addValue:(Lcom/oracle/truffle/trufflenode/info/Value;)V
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 templateObj Ljava/lang/Object;
0 6 2 name Ljava/lang/Object;
0 6 3 value Ljava/lang/Object;
0 6 4 attributes I
2 3 5 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
4 6 5 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
MethodParameters:
Name Flags
templateObj
name
value
attributes
public void templateSetAccessorProperty(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=6, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
aload 1
aload 2
new com.oracle.truffle.js.runtime.util.Pair
dup
aload 3
aload 4
invokespecial com.oracle.truffle.js.runtime.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
iload 5
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.templateSet:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;I)V
1: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 templateObj Ljava/lang/Object;
0 2 2 name Ljava/lang/Object;
0 2 3 getter Ljava/lang/Object;
0 2 4 setter Ljava/lang/Object;
0 2 5 attributes I
MethodParameters:
Name Flags
templateObj
name
getter
setter
attributes
public java.lang.Object functionTemplateNew(int, long, java.lang.Object, java.lang.Object, int, boolean, boolean);
descriptor: (IJLjava/lang/Object;Ljava/lang/Object;IZZ)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=10, args_size=8
start local 0 start local 1 start local 2 start local 4 start local 5 start local 6 start local 7 start local 8 0: new com.oracle.truffle.trufflenode.info.FunctionTemplate
dup
iload 1
lload 2
aload 4
aload 5
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
iload 6
iload 7
iload 8
invokespecial com.oracle.truffle.trufflenode.info.FunctionTemplate.<init>:(IJLjava/lang/Object;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;IZZ)V
astore 9
start local 9 1: aload 9
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getInstanceTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
aload 9
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.setParentFunctionTemplate:(Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)V
2: aload 9
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 id I
0 3 2 pointer J
0 3 4 additionalData Ljava/lang/Object;
0 3 5 signature Ljava/lang/Object;
0 3 6 length I
0 3 7 isConstructor Z
0 3 8 singleFunctionTemplate Z
1 3 9 template Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
id
pointer
additionalData
signature
length
isConstructor
singleFunctionTemplate
public void functionTemplateSetCallHandler(java.lang.Object, long, java.lang.Object);
descriptor: (Ljava/lang/Object;JLjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 4 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 5
start local 5 1: aload 5
lload 2
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.setFunctionPointer:(J)V
2: aload 5
aload 4
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.setAdditionalData:(Ljava/lang/Object;)V
3: return
end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 templateObj Ljava/lang/Object;
0 4 2 funcPointer J
0 4 4 additionalData Ljava/lang/Object;
1 4 5 functionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
templateObj
funcPointer
additionalData
public void functionTemplateInherit(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 3
start local 3 1: aload 3
aload 2
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.setParent:(Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)V
2: return
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/trufflenode/GraalJSAccess;
0 3 1 templateObj Ljava/lang/Object;
0 3 2 parent Ljava/lang/Object;
1 3 3 functionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
templateObj
parent
public void functionTemplateSetClassName(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 3
start local 3 1: aload 3
aload 2
checkcast java.lang.String
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.setClassName:(Ljava/lang/String;)V
2: aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getInstanceTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
astore 4
start local 4 3: aload 4
new com.oracle.truffle.trufflenode.info.Value
dup
getstatic com.oracle.truffle.js.runtime.Symbol.SYMBOL_TO_STRING_TAG:Lcom/oracle/truffle/js/runtime/Symbol;
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSAttributes.configurableNotEnumerableNotWritable:()I
invokespecial com.oracle.truffle.trufflenode.info.Value.<init>:(Ljava/lang/Object;Ljava/lang/Object;I)V
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.addValue:(Lcom/oracle/truffle/trufflenode/info/Value;)V
4: return
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/trufflenode/GraalJSAccess;
0 5 1 templateObj Ljava/lang/Object;
0 5 2 name Ljava/lang/Object;
1 5 3 functionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
3 5 4 instanceTemplate Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
MethodParameters:
Name Flags
templateObj
name
public java.lang.Object functionTemplateInstanceTemplate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getInstanceTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 templateObj Ljava/lang/Object;
1 2 2 functionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
templateObj
public java.lang.Object functionTemplatePrototypeTemplate(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getPrototypeTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 templateObj Ljava/lang/Object;
1 2 2 functionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
templateObj
public java.lang.Object functionTemplateGetFunction(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 2: aload 2
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 5
start local 5 3: aload 5
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getFunctionObject:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
ifnonnull 18
4: invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
5: aload 0
aload 4
aload 3
aload 5
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateCreateCallback:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 6: aload 0
aload 3
aload 5
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getFunctionObjectTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
aload 6
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectTemplateInstantiate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Ljava/lang/Object;)V
7: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getPrototypeTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
astore 7
start local 7 8: aload 7
ifnull 18
9: aload 4
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 10: aload 0
aload 3
aload 7
aload 8
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectTemplateInstantiate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Ljava/lang/Object;)V
11: aload 4
aload 8
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putConstructorProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)V
12: aload 6
ldc "prototype"
aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
13: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getParent:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
astore 9
start local 9 14: aload 9
ifnull 18
15: aload 0
aload 1
aload 9
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateGetFunction:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 10
start local 10 16: aload 10
ldc "prototype"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 11
start local 11 17: aload 8
aload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.setPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
pop
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 18: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack:
aload 5
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getFunctionObject:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 19 1 realm Ljava/lang/Object;
0 19 2 templateObj Ljava/lang/Object;
1 19 3 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
2 19 4 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
3 19 5 template Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
6 18 6 obj Lcom/oracle/truffle/api/object/DynamicObject;
8 18 7 prototypeTemplate Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
10 18 8 proto Lcom/oracle/truffle/api/object/DynamicObject;
14 18 9 parentTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
16 18 10 parentFunction Lcom/oracle/truffle/api/object/DynamicObject;
17 18 11 parentProto Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
templateObj
private com.oracle.truffle.api.object.DynamicObject functionTemplateCreateCallback(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.trufflenode.info.FunctionTemplate);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: ldc "do not create function template in compiled code"
invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:(Ljava/lang/String;)V
1: aload 1
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getLength:()I
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getClassName:()Ljava/lang/String;
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getPrototypeTemplate:()Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
ifnull 2
iconst_1
goto 3
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack: com.oracle.truffle.js.runtime.JSContext int java.lang.String
2: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack: com.oracle.truffle.js.runtime.JSContext int java.lang.String int
3: iconst_0
iconst_0
iconst_0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.create:(Lcom/oracle/truffle/js/runtime/JSContext;ILjava/lang/String;ZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 4
start local 4 4: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode
dup
aload 0
aload 1
aload 3
iconst_0
iconst_0
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;ZZ)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 5
start local 5 5: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode
dup
aload 0
aload 1
aload 3
iconst_1
iconst_0
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;ZZ)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 6
start local 6 6: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode
dup
aload 0
aload 1
aload 3
iconst_1
iconst_1
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;ZZ)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 7
start local 7 7: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 6
iconst_0
invokestatic com.oracle.truffle.js.nodes.function.ConstructorRootNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 8
start local 8 8: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 4
aload 7
iconst_1
invokestatic com.oracle.truffle.js.nodes.function.ConstructorRootNode.create:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/api/CallTarget;Z)Lcom/oracle/truffle/js/nodes/function/ConstructorRootNode;
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 9
start local 9 9: aload 4
aload 5
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setCallTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
10: aload 4
aload 8
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setConstructTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
11: aload 4
aload 9
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.setConstructNewTarget:(Lcom/oracle/truffle/api/CallTarget;)Lcom/oracle/truffle/api/CallTarget;
pop
12: aload 2
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 13: aload 3
aload 2
aload 10
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.setFunctionObject:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;)V
14: aload 10
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.FUNCTION_TEMPLATE_DATA_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 3
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getAdditionalData:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
15: aload 10
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 16 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 16 2 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 16 3 template Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
4 16 4 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
5 16 5 callTarget Lcom/oracle/truffle/api/CallTarget;
6 16 6 newCallTarget Lcom/oracle/truffle/api/CallTarget;
7 16 7 newTargetCallTarget Lcom/oracle/truffle/api/CallTarget;
8 16 8 constructTarget Lcom/oracle/truffle/api/CallTarget;
9 16 9 constructNewTarget Lcom/oracle/truffle/api/CallTarget;
13 16 10 functionObject Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
realm
template
public boolean functionTemplateHasInstance(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 2
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 10
1: aload 2
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.info.FunctionTemplate.CONSTRUCTOR:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
instanceof com.oracle.truffle.trufflenode.info.FunctionTemplate
ifne 4
3: iconst_0
ireturn
4: StackMap locals: java.lang.Object
StackMap stack:
aload 3
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 4
start local 4 5: goto 9
6: StackMap locals: com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack:
aload 4
aload 1
if_acmpne 8
7: iconst_1
ireturn
8: StackMap locals:
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.trufflenode.info.FunctionTemplate.getParent:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
astore 4
9: StackMap locals:
StackMap stack:
aload 4
ifnonnull 6
end local 4 end local 3 10: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 11 1 functionTemplate Ljava/lang/Object;
0 11 2 instance Ljava/lang/Object;
2 10 3 constructor Ljava/lang/Object;
5 10 4 instanceTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
functionTemplate
instance
public java.lang.Object objectTemplateNew();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: new com.oracle.truffle.trufflenode.info.ObjectTemplate
dup
invokespecial com.oracle.truffle.trufflenode.info.ObjectTemplate.<init>:()V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object objectTemplateNewInstance(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 2: aload 2
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.getFunctionHandler:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
astore 6
start local 6 4: aload 6
ifnonnull 14
5: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.getParentFunctionTemplate:()Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
astore 8
start local 8 6: aload 8
ifnonnull 9
7: aload 4
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 8: goto 15
end local 7 9: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.trufflenode.info.FunctionTemplate top com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack:
aload 0
aload 1
aload 8
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateGetFunction:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 9
start local 9 10: aload 9
ldc "prototype"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 10
start local 10 11: aload 10
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.createWithPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 12: aload 7
getstatic com.oracle.truffle.trufflenode.info.FunctionTemplate.CONSTRUCTOR:Lcom/oracle/truffle/api/object/HiddenKey;
aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
end local 10 end local 9 end local 8 13: goto 15
end local 7 14: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.trufflenode.info.FunctionTemplate
StackMap stack:
aload 0
aload 4
aload 3
aload 6
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateCreateCallback:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 15: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 0
aload 3
aload 2
aload 7
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectTemplateInstantiate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Ljava/lang/Object;)V
16: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.hasPropertyHandler:()Z
ifeq 18
17: aload 0
aload 4
aload 3
aload 5
aload 7
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.propertyHandlerInstantiate:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
18: StackMap locals:
StackMap stack:
aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 19 1 realm Ljava/lang/Object;
0 19 2 templateObj Ljava/lang/Object;
1 19 3 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
2 19 4 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
3 19 5 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
4 19 6 functionHandler Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
8 9 7 instance Lcom/oracle/truffle/api/object/DynamicObject;
12 14 7 instance Lcom/oracle/truffle/api/object/DynamicObject;
15 19 7 instance Lcom/oracle/truffle/api/object/DynamicObject;
6 13 8 parentFunctionTemplate Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
10 13 9 function Lcom/oracle/truffle/api/object/DynamicObject;
11 13 10 prototype Lcom/oracle/truffle/api/object/DynamicObject;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
realm
templateObj
public com.oracle.truffle.api.object.DynamicObject propertyHandlerInstantiate(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.trufflenode.info.ObjectTemplate, com.oracle.truffle.api.object.DynamicObject, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=19, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 1: aload 1
aload 4
aload 6
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 7
start local 7 2: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
3: aload 0
4: aload 1
5: aload 3
6: aload 7
7: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.GETTER:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
8: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 9: aload 6
ldc "get"
aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
10: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
11: aload 0
12: aload 1
13: aload 3
14: aload 7
15: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.SETTER:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
16: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 9
start local 9 17: aload 6
ldc "set"
aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
18: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
19: aload 0
20: aload 1
21: aload 3
22: aload 7
23: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.QUERY:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
24: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 25: aload 6
ldc "has"
aload 10
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
26: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
27: aload 0
28: aload 1
29: aload 3
30: aload 7
31: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.DELETER:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
32: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 11
start local 11 33: aload 6
ldc "deleteProperty"
aload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
34: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
35: aload 0
36: aload 1
37: aload 3
38: aload 7
39: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.OWN_KEYS:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
40: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 12
start local 12 41: aload 6
ldc "ownKeys"
aload 12
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
42: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
43: aload 0
44: aload 1
45: aload 3
46: aload 7
47: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.GET_OWN_PROPERTY_DESCRIPTOR:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
48: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 13
start local 13 49: aload 6
ldc "getOwnPropertyDescriptor"
aload 13
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
50: aload 1
aload 2
new com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
dup
51: aload 0
52: aload 1
53: aload 3
54: aload 7
55: getstatic com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode.DEFINE_PROPERTY:Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;
invokespecial com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Ljava/lang/Object;Lcom/oracle/truffle/trufflenode/node/ExecuteNativePropertyHandlerNode$Mode;)V
aload 7
56: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 14
start local 14 57: aload 6
ldc "defineProperty"
aload 14
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
58: aload 1
aload 2
new com.oracle.truffle.trufflenode.GraalJSAccess$PropertyHandlerPrototypeNode
dup
iload 5
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$PropertyHandlerPrototypeNode.<init>:(Z)V
aconst_null
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 15
start local 15 59: aload 6
ldc "getPrototypeOf"
aload 15
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
60: aload 3
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.getValues:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 17
goto 65
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.api.object.DynamicObject int com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.DynamicObject top java.util.Iterator
StackMap stack:
61: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.Value
astore 16
start local 16 62: aload 16
invokevirtual com.oracle.truffle.trufflenode.info.Value.getName:()Ljava/lang/Object;
astore 18
start local 18 63: aload 18
instanceof com.oracle.truffle.api.object.HiddenKey
ifeq 65
64: aload 7
aload 18
aload 16
invokevirtual com.oracle.truffle.trufflenode.info.Value.getValue:()Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
end local 18 end local 16 65: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 61
66: aload 7
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 67 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 67 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 67 2 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 67 3 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
0 67 4 target Lcom/oracle/truffle/api/object/DynamicObject;
0 67 5 global Z
1 67 6 handler Lcom/oracle/truffle/api/object/DynamicObject;
2 67 7 proxy Lcom/oracle/truffle/api/object/DynamicObject;
9 67 8 getter Lcom/oracle/truffle/api/object/DynamicObject;
17 67 9 setter Lcom/oracle/truffle/api/object/DynamicObject;
25 67 10 query Lcom/oracle/truffle/api/object/DynamicObject;
33 67 11 deleter Lcom/oracle/truffle/api/object/DynamicObject;
41 67 12 ownKeys Lcom/oracle/truffle/api/object/DynamicObject;
49 67 13 getOwnPropertyDescriptor Lcom/oracle/truffle/api/object/DynamicObject;
57 67 14 defineProperty Lcom/oracle/truffle/api/object/DynamicObject;
59 67 15 getPrototypeOf Lcom/oracle/truffle/api/object/DynamicObject;
62 65 16 value Lcom/oracle/truffle/trufflenode/info/Value;
63 65 18 name Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
realm
template
target
global
public void objectTemplateInstantiate(com.oracle.truffle.js.runtime.JSRealm, java.lang.Object, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 1: aload 2
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 5
start local 5 2: aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
astore 6
start local 6 3: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.getAccessors:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 9
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSRealm java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.api.object.DynamicObject top java.util.Iterator
StackMap stack:
4: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.Accessor
astore 7
start local 7 5: aload 7
aload 4
invokevirtual com.oracle.truffle.trufflenode.info.Accessor.getFunctions:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/util/Pair;
astore 9
start local 9 6: aload 1
aload 9
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
aload 6
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromFunctionData:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 7: aload 1
aload 9
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.builtins.JSFunctionData
aload 6
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromFunctionData:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 11
start local 11 8: aload 4
aload 6
aload 7
invokevirtual com.oracle.truffle.trufflenode.info.Accessor.getName:()Ljava/lang/String;
aload 10
aload 11
aload 7
invokevirtual com.oracle.truffle.trufflenode.info.Accessor.getAttributes:()I
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putAccessorProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;I)V
end local 11 end local 10 end local 9 end local 7 9: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
10: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.getValues:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 38
StackMap locals:
StackMap stack:
11: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.Value
astore 7
start local 7 12: aload 7
invokevirtual com.oracle.truffle.trufflenode.info.Value.getName:()Ljava/lang/Object;
astore 9
start local 9 13: aload 7
invokevirtual com.oracle.truffle.trufflenode.info.Value.getValue:()Ljava/lang/Object;
astore 10
start local 10 14: aload 7
invokevirtual com.oracle.truffle.trufflenode.info.Value.getAttributes:()I
istore 11
start local 11 15: aload 10
instanceof com.oracle.truffle.trufflenode.info.FunctionTemplate
ifeq 18
16: aload 10
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 12
start local 12 17: aload 0
aload 1
aload 12
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateGetFunction:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
astore 10
end local 12 18: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSRealm java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.trufflenode.info.Value java.util.Iterator java.lang.Object java.lang.Object int
StackMap stack:
aload 10
instanceof com.oracle.truffle.js.runtime.util.Pair
ifeq 30
19: aload 10
checkcast com.oracle.truffle.js.runtime.util.Pair
astore 12
start local 12 20: aload 12
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
astore 13
start local 13 21: aload 12
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
astore 14
start local 14 22: aload 13
ifnonnull 23
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
goto 24
StackMap locals: com.oracle.truffle.js.runtime.util.Pair java.lang.Object java.lang.Object
StackMap stack:
23: aload 0
aload 1
aload 13
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateGetFunction:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
24: astore 15
start local 15 25: aload 14
ifnonnull 26
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
goto 27
StackMap locals: java.lang.Object
StackMap stack:
26: aload 0
aload 1
aload 14
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateGetFunction:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
27: astore 16
start local 16 28: aload 4
aload 6
aload 9
aload 15
checkcast com.oracle.truffle.api.object.DynamicObject
aload 16
checkcast com.oracle.truffle.api.object.DynamicObject
iload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putAccessorProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;I)V
end local 16 end local 15 end local 14 end local 13 end local 12 29: goto 38
30: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSRealm java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.trufflenode.info.Value java.util.Iterator java.lang.Object java.lang.Object int
StackMap stack:
aload 9
instanceof com.oracle.truffle.api.object.HiddenKey
ifeq 34
31: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.hasPropertyHandler:()Z
ifne 38
32: aload 6
aload 9
aload 10
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
33: goto 38
StackMap locals:
StackMap stack:
34: aload 6
aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.hasOwnProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
ifeq 37
35: aload 6
aload 9
aload 10
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
36: goto 38
37: StackMap locals:
StackMap stack:
aload 4
aload 6
aload 9
aload 10
iload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putDataProperty:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;I)V
end local 11 end local 10 end local 9 end local 7 38: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSRealm java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.api.object.DynamicObject top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 11
39: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 40 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 40 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 40 2 templateObj Ljava/lang/Object;
0 40 3 targetObject Ljava/lang/Object;
1 40 4 context Lcom/oracle/truffle/js/runtime/JSContext;
2 40 5 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
3 40 6 obj Lcom/oracle/truffle/api/object/DynamicObject;
5 9 7 accessor Lcom/oracle/truffle/trufflenode/info/Accessor;
6 9 9 accessorFunctions Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;>;
7 9 10 getter Lcom/oracle/truffle/api/object/DynamicObject;
8 9 11 setter Lcom/oracle/truffle/api/object/DynamicObject;
12 38 7 value Lcom/oracle/truffle/trufflenode/info/Value;
13 38 9 name Ljava/lang/Object;
14 38 10 processedValue Ljava/lang/Object;
15 38 11 attributes I
17 18 12 functionTempl Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
20 29 12 pair Lcom/oracle/truffle/js/runtime/util/Pair<**>;
21 29 13 getterTemplate Ljava/lang/Object;
22 29 14 setterTemplate Ljava/lang/Object;
25 29 15 getter Ljava/lang/Object;
28 29 16 setter Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
realm
templateObj
targetObject
public void objectTemplateSetAccessor(java.lang.Object, java.lang.Object, long, long, java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;JJLjava/lang/Object;Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=12, locals=11, args_size=8
start local 0 start local 1 start local 2 start local 3 start local 5 start local 7 start local 8 start local 9 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 10
start local 10 1: aload 10
new com.oracle.truffle.trufflenode.info.Accessor
dup
aload 0
aload 2
lload 3
lload 5
aload 7
aload 8
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
iload 9
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.propertyAttributes:(I)I
invokespecial com.oracle.truffle.trufflenode.info.Accessor.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Ljava/lang/Object;JJLjava/lang/Object;Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;I)V
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.addAccessor:(Lcom/oracle/truffle/trufflenode/info/Accessor;)V
2: return
end local 10 end local 9 end local 8 end local 7 end local 5 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/trufflenode/GraalJSAccess;
0 3 1 templateObj Ljava/lang/Object;
0 3 2 name Ljava/lang/Object;
0 3 3 getterPtr J
0 3 5 setterPtr J
0 3 7 data Ljava/lang/Object;
0 3 8 signature Ljava/lang/Object;
0 3 9 attributes I
1 3 10 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
MethodParameters:
Name Flags
templateObj
name
getterPtr
setterPtr
data
signature
attributes
public void objectTemplateSetHandler(java.lang.Object, long, long, long, long, long, long, long, java.lang.Object, boolean, boolean);
descriptor: (Ljava/lang/Object;JJJJJJJLjava/lang/Object;ZZ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=17, locals=21, args_size=12
start local 0 start local 1 start local 2 start local 4 start local 6 start local 8 start local 10 start local 12 start local 14 start local 16 start local 17 start local 18 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 19
start local 19 1: new com.oracle.truffle.trufflenode.info.PropertyHandler
dup
lload 2
lload 4
lload 6
lload 8
lload 10
lload 12
lload 14
aload 16
invokespecial com.oracle.truffle.trufflenode.info.PropertyHandler.<init>:(JJJJJJJLjava/lang/Object;)V
astore 20
start local 20 2: iload 17
ifeq 5
3: aload 19
aload 20
iload 18
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.setNamedPropertyHandler:(Lcom/oracle/truffle/trufflenode/info/PropertyHandler;Z)V
4: goto 6
5: StackMap locals: com.oracle.truffle.trufflenode.info.ObjectTemplate com.oracle.truffle.trufflenode.info.PropertyHandler
StackMap stack:
aload 19
aload 20
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.setIndexedPropertyHandler:(Lcom/oracle/truffle/trufflenode/info/PropertyHandler;)V
6: StackMap locals:
StackMap stack:
return
end local 20 end local 19 end local 18 end local 17 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 templateObj Ljava/lang/Object;
0 7 2 getter J
0 7 4 setter J
0 7 6 query J
0 7 8 deleter J
0 7 10 enumerator J
0 7 12 definer J
0 7 14 descriptor J
0 7 16 data Ljava/lang/Object;
0 7 17 named Z
0 7 18 stringKeysOnly Z
1 7 19 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
2 7 20 handler Lcom/oracle/truffle/trufflenode/info/PropertyHandler;
MethodParameters:
Name Flags
templateObj
getter
setter
query
deleter
enumerator
definer
descriptor
data
named
stringKeysOnly
public void objectTemplateSetCallAsFunctionHandler(java.lang.Object, int, long, java.lang.Object);
descriptor: (Ljava/lang/Object;IJLjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 5 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 6
start local 6 1: aload 0
iload 2
lload 3
aload 5
aconst_null
iconst_0
iconst_1
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.functionTemplateNew:(IJLjava/lang/Object;Ljava/lang/Object;IZZ)Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.FunctionTemplate
astore 7
start local 7 2: aload 6
aload 7
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.setFunctionHandler:(Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;)V
3: return
end local 7 end local 6 end local 5 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/trufflenode/GraalJSAccess;
0 4 1 templateObj Ljava/lang/Object;
0 4 2 id I
0 4 3 functionPointer J
0 4 5 additionalData Ljava/lang/Object;
1 4 6 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
2 4 7 functionHandler Lcom/oracle/truffle/trufflenode/info/FunctionTemplate;
MethodParameters:
Name Flags
templateObj
id
functionPointer
additionalData
public java.lang.Object scriptCompilerCompileFunctionInContext(java.lang.Object, java.lang.String, java.lang.String, java.lang.Object[], java.lang.Object[], java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/String;[Ljava/lang/Object;[Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=23, args_size=7
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
ifeq 2
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "FUNCTION IN CONTEXT: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 7
start local 7 3: aload 7
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 8
start local 8 4: aload 8
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
astore 9
start local 9 5: aload 0
aload 2
aload 8
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getExtraArgumentOfInternalScript:(Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
astore 10
start local 10 6: aconst_null
astore 12
start local 12 7: aload 10
ifnonnull 14
8: aload 5
astore 11
start local 11 9: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.USE_SNAPSHOTS:Z
ifeq 18
aload 6
ifnonnull 18
10: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 12
aload 5
arraylength
ifne 11
aload 2
invokestatic com.oracle.truffle.trufflenode.info.UnboundScript.isCoreModule:(Ljava/lang/String;)Z
ifne 12
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object java.lang.Object[] java.nio.ByteBuffer
StackMap stack:
11: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
12: StackMap locals:
StackMap stack:
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getCoreModuleBinarySnapshot:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
astore 12
13: goto 18
end local 11 14: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object top java.nio.ByteBuffer
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 15
aload 5
arraylength
ifeq 15
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
15: StackMap locals:
StackMap stack:
aload 8
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 13
start local 13 16: aload 13
ldc "graalExtension"
aload 10
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
17: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 13
aastore
astore 11
end local 13 start local 11 18: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object java.lang.Object[] java.nio.ByteBuffer
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 13
start local 13 19: iconst_0
istore 14
start local 14 20: goto 25
21: StackMap locals: java.lang.StringBuilder int
StackMap stack:
iload 14
ifeq 23
22: aload 13
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
23: StackMap locals:
StackMap stack:
aload 13
aload 4
iload 14
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
pop
24: iinc 14 1
StackMap locals:
StackMap stack:
25: iload 14
aload 4
arraylength
if_icmplt 21
end local 14 26: aload 13
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 14
start local 14 27: aload 8
aload 8
invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
aload 14
aload 3
iconst_0
iconst_0
aload 2
invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.checkFunctionSyntax:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSParserOptions;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)V
28: goto 31
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object java.lang.Object[] java.nio.ByteBuffer java.lang.StringBuilder java.lang.String
StackMap stack: com.oracle.js.parser.ParserException
29: pop
30: aload 9
aload 8
aload 14
aload 3
iconst_0
iconst_0
aload 2
invokeinterface com.oracle.truffle.js.runtime.Evaluator.parseFunction:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
pop
31: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 15
start local 15 32: aload 11
arraylength
ifle 33
iconst_1
goto 34
StackMap locals: java.lang.StringBuilder
StackMap stack:
33: iconst_0
StackMap locals:
StackMap stack: int
34: istore 16
start local 16 35: iload 16
ifeq 43
36: aload 15
ldc "(function () {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
37: iconst_0
istore 17
start local 17 38: goto 41
39: StackMap locals: int int
StackMap stack:
aload 15
ldc "with (arguments["
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 17
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "]) {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
40: iinc 17 1
StackMap locals:
StackMap stack:
41: iload 17
aload 11
arraylength
if_icmplt 39
end local 17 42: aload 15
ldc "return "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
43: StackMap locals:
StackMap stack:
aload 15
ldc "(function ("
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
44: aload 15
aload 14
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
45: aload 15
ldc ") {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
46: aload 3
ldc "#!"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 48
47: aload 15
ldc "//"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
48: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 17
start local 17 49: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 15
50: aload 15
ldc "\n});"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
51: iload 16
ifeq 58
52: iconst_0
istore 18
start local 18 53: goto 56
54: StackMap locals: java.lang.String int
StackMap stack:
aload 15
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
55: iinc 18 1
StackMap locals:
StackMap stack:
56: iload 18
aload 11
arraylength
if_icmplt 54
end local 18 57: aload 15
ldc ";})"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
58: StackMap locals:
StackMap stack:
aload 15
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 18
start local 18 59: aconst_null
astore 19
start local 19 60: aload 6
ifnonnull 63
61: ldc "js"
aload 3
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.isBootstrapSource:(Ljava/lang/String;)Z
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.internal:(Z)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 19
62: goto 73
63: StackMap locals: java.lang.String com.oracle.truffle.api.source.Source
StackMap stack:
aload 2
invokevirtual java.lang.String.isEmpty:()Z
ifne 70
64: aload 7
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
astore 20
start local 20 65: ldc "js"
aload 20
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
aload 3
invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.content:(Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
aload 2
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 19
end local 20 66: goto 70
StackMap locals:
StackMap stack: java.nio.file.InvalidPathException
67: pop
68: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
ifeq 70
69: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "INVALID PATH: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
70: StackMap locals:
StackMap stack:
aload 19
ifnonnull 72
71: ldc "js"
aload 3
aload 2
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 19
72: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.hostDefinedOptionsMap:Ljava/util/Map;
aload 19
aload 6
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
73: StackMap locals:
StackMap stack:
aload 12
ifnonnull 80
74: aload 9
aload 8
aload 19
aload 17
aload 18
invokeinterface com.oracle.truffle.js.runtime.Evaluator.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 21
start local 21 75: aload 21
aload 7
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:(Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 22
start local 22 76: iload 16
ifeq 77
aload 22
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 11
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
goto 78
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object java.lang.Object[] java.nio.ByteBuffer java.lang.StringBuilder java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String com.oracle.truffle.api.source.Source top com.oracle.truffle.js.nodes.ScriptNode com.oracle.truffle.api.object.DynamicObject
StackMap stack:
77: aload 22
StackMap locals:
StackMap stack: java.lang.Object
78: astore 20
end local 22 end local 21 start local 20 79: goto 82
end local 20 80: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.String java.lang.String java.lang.Object[] java.lang.Object[] java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.Evaluator java.lang.Object java.lang.Object[] java.nio.ByteBuffer java.lang.StringBuilder java.lang.String java.lang.StringBuilder int java.lang.String java.lang.String com.oracle.truffle.api.source.Source
StackMap stack:
aload 0
aload 8
aload 19
aload 17
aload 18
aload 12
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.parseScriptFromSnapshot:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 21
start local 21 81: aload 21
aload 7
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:(Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
astore 20
end local 21 start local 20 82: StackMap locals: java.lang.Object
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 83
aload 20
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
ifne 83
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
83: StackMap locals:
StackMap stack:
new com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule
dup
aload 8
aload 19
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)V
astore 21
start local 21 84: aload 20
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule.SCRIPT_OR_MODULE:Lcom/oracle/truffle/api/object/HiddenKey;
aload 21
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
85: iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 20
aastore
dup
iconst_1
aload 21
aastore
areturn
end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 86 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 86 1 context Ljava/lang/Object;
0 86 2 sourceName Ljava/lang/String;
0 86 3 body Ljava/lang/String;
0 86 4 arguments [Ljava/lang/Object;
0 86 5 exts [Ljava/lang/Object;
0 86 6 hostDefinedOptions Ljava/lang/Object;
3 86 7 realm Lcom/oracle/truffle/js/runtime/JSRealm;
4 86 8 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
5 86 9 nodeEvaluator Lcom/oracle/truffle/js/runtime/Evaluator;
6 86 10 extraArgument Ljava/lang/Object;
9 14 11 extensions [Ljava/lang/Object;
18 86 11 extensions [Ljava/lang/Object;
7 86 12 snapshot Ljava/nio/ByteBuffer;
16 18 13 graalExtension Lcom/oracle/truffle/api/object/DynamicObject;
19 86 13 params Ljava/lang/StringBuilder;
20 26 14 i I
27 86 14 parameterList Ljava/lang/String;
32 86 15 code Ljava/lang/StringBuilder;
35 86 16 anyExtension Z
38 42 17 i I
49 86 17 prefix Ljava/lang/String;
53 57 18 i I
59 86 18 suffix Ljava/lang/String;
60 86 19 source Lcom/oracle/truffle/api/source/Source;
65 66 20 truffleFile Lcom/oracle/truffle/api/TruffleFile;
79 80 20 function Ljava/lang/Object;
82 86 20 function Ljava/lang/Object;
75 79 21 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
76 79 22 fn Lcom/oracle/truffle/api/object/DynamicObject;
81 82 21 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
84 86 21 scriptOrModule Lcom/oracle/truffle/trufflenode/GraalJSAccess$NodeScriptOrModule;
Exception table:
from to target type
27 28 29 Class com.oracle.js.parser.ParserException
64 66 67 Class java.nio.file.InvalidPathException
MethodParameters:
Name Flags
context
sourceName
body
arguments
exts
hostDefinedOptions
private static boolean isBootstrapSource(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
ldc "internal/per_context"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
aload 0
ldc "internal/bootstrap"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 sourceName Ljava/lang/String;
MethodParameters:
Name Flags
sourceName
public java.lang.Object scriptCompile(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=6, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 2
aload 3
aload 4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.unboundScriptCompile:(Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.info.UnboundScript
astore 5
start local 5 1: aload 0
aload 1
aload 5
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.unboundScriptBindToContext:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
0 2 2 sourceCode Ljava/lang/Object;
0 2 3 fileName Ljava/lang/Object;
0 2 4 hostDefinedOptions Ljava/lang/Object;
1 2 5 unboundScript Lcom/oracle/truffle/trufflenode/info/UnboundScript;
MethodParameters:
Name Flags
context
sourceCode
fileName
hostDefinedOptions
public java.lang.Object scriptRun(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.Script
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.info.Script.getScriptNode:()Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 3
start local 3 2: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
ifeq 5
3: aload 3
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 4
start local 4 4: getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "EXECUTING: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
end local 4 5: StackMap locals: com.oracle.truffle.trufflenode.info.Script com.oracle.truffle.js.nodes.ScriptNode
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.trufflenode.info.Script.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 4
start local 4 6: aload 3
aload 4
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.argumentsToRun:(Lcom/oracle/truffle/js/runtime/JSRealm;)[Ljava/lang/Object;
astore 5
start local 5 7: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
invokevirtual com.oracle.truffle.api.TruffleContext.enter:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 6
start local 6 8: aload 2
invokevirtual com.oracle.truffle.trufflenode.info.Script.isGraalInternal:()Z
ifeq 11
9: aload 0
aload 3
aload 5
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.scriptRunInternal:(Lcom/oracle/truffle/js/nodes/ScriptNode;[Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 10: goto 12
end local 7 11: StackMap locals: com.oracle.truffle.js.runtime.JSRealm java.lang.Object[] java.lang.Object
StackMap stack:
aload 3
aload 5
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:([Ljava/lang/Object;)Ljava/lang/Object;
astore 7
start local 7 12: StackMap locals: java.lang.Object
StackMap stack:
aload 7
astore 9
13: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
aload 6
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
14: aload 9
areturn
end local 7 15: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object com.oracle.truffle.trufflenode.info.Script com.oracle.truffle.js.nodes.ScriptNode com.oracle.truffle.js.runtime.JSRealm java.lang.Object[] java.lang.Object
StackMap stack: java.lang.Throwable
astore 8
16: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
aload 6
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
17: aload 8
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 18 1 script Ljava/lang/Object;
1 18 2 boundScript Lcom/oracle/truffle/trufflenode/info/Script;
2 18 3 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
4 5 4 source Lcom/oracle/truffle/api/source/Source;
6 18 4 realm Lcom/oracle/truffle/js/runtime/JSRealm;
7 18 5 arguments [Ljava/lang/Object;
8 18 6 prev Ljava/lang/Object;
10 11 7 result Ljava/lang/Object;
12 15 7 result Ljava/lang/Object;
Exception table:
from to target type
8 13 15 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
script
private java.lang.Object scriptRunInternal(com.oracle.truffle.js.nodes.ScriptNode, java.lang.Object[]);
descriptor: (Lcom/oracle/truffle/js/nodes/ScriptNode;[Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 4
start local 4 2: aload 1
aload 2
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:([Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
astore 5
start local 5 3: new com.oracle.truffle.trufflenode.GraalJSAccess$1
dup
aload 0
aload 5
aload 1
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$1.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/js/nodes/ScriptNode;)V
astore 6
start local 6 4: aload 3
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 6
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
iconst_5
ldc ""
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 7
start local 7 5: aload 4
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
0 6 2 arguments [Ljava/lang/Object;
1 6 3 context Lcom/oracle/truffle/js/runtime/JSContext;
2 6 4 realm Lcom/oracle/truffle/js/runtime/JSRealm;
3 6 5 moduleFunction Lcom/oracle/truffle/api/object/DynamicObject;
4 6 6 wrapperNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
5 6 7 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
scriptNode
arguments
private java.lang.Object (java.lang.String, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
start local 3 1: ldc "internal/graal/buffer.js"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
2: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.USE_NIO_BUFFER:Z
ifeq 3
aload 2
invokestatic com.oracle.truffle.trufflenode.buffer.NIOBuffer.createInitFunction:(Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
goto 4
StackMap locals: java.lang.Object
StackMap stack:
3: getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
StackMap locals:
StackMap stack: java.lang.Object
4: astore 3
5: goto 20
StackMap locals:
StackMap stack:
6: ldc "internal/graal/debug.js"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 12
7: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
new com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.node.debug.SetBreakPointNode.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 4
start local 4 8: aload 2
aload 4
iconst_3
ldc "setBreakPoint"
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 5
start local 5 9: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
aload 5
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 10: aload 6
astore 3
end local 6 end local 5 end local 4 11: goto 20
StackMap locals:
StackMap stack:
12: ldc "internal/worker/io.js"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 13
ldc "internal/main/worker_thread.js"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 15
13: StackMap locals:
StackMap stack:
aload 0
aload 2
invokestatic com.oracle.truffle.trufflenode.threading.SharedMemMessagingBindings.createInitFunction:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
astore 3
14: goto 20
StackMap locals:
StackMap stack:
15: ldc "inspector.js"
aload 1
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 20
16: aload 0
ldc "inspect"
ldc Lcom/oracle/truffle/api/interop/TruffleObject;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.lookupInstrument:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.interop.TruffleObject
astore 4
start local 4 17: aload 4
ifnonnull 18
getstatic com.oracle.truffle.js.runtime.objects.Null.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
goto 19
StackMap locals: com.oracle.truffle.api.interop.TruffleObject
StackMap stack:
18: aload 4
StackMap locals:
StackMap stack: com.oracle.truffle.api.interop.TruffleObject
19: astore 3
end local 4 20: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 21 1 moduleName Ljava/lang/String;
0 21 2 context Lcom/oracle/truffle/js/runtime/JSContext;
1 21 3 extraArgument Ljava/lang/Object;
8 11 4 setBreakPointCallTarget Lcom/oracle/truffle/api/CallTarget;
9 11 5 setBreakPointData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
10 11 6 setBreakPoint Lcom/oracle/truffle/api/object/DynamicObject;
17 20 4 inspector Lcom/oracle/truffle/api/interop/TruffleObject;
MethodParameters:
Name Flags
moduleName
context
private java.lang.Object[] getInternalModuleUserArguments(java.lang.Object[], com.oracle.truffle.js.nodes.ScriptNode);
descriptor: ([Ljava/lang/Object;Lcom/oracle/truffle/js/nodes/ScriptNode;)[Ljava/lang/Object;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.js.runtime.JSArguments.extractUserArguments:([Ljava/lang/Object;)[Ljava/lang/Object;
astore 3
start local 3 1: aload 2
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
astore 4
start local 4 2: aload 0
aload 4
aload 2
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getExtraArgumentOfInternalScript:(Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
astore 5
start local 5 3: aload 5
ifnonnull 5
4: aload 3
areturn
5: StackMap locals: java.lang.Object[] java.lang.String java.lang.Object
StackMap stack:
aload 3
arraylength
iconst_1
iadd
anewarray java.lang.Object
astore 6
start local 6 6: aload 3
iconst_0
aload 6
iconst_0
aload 3
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
7: aload 6
aload 3
arraylength
aload 5
aastore
8: aload 6
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 args [Ljava/lang/Object;
0 9 2 node Lcom/oracle/truffle/js/nodes/ScriptNode;
1 9 3 userArgs [Ljava/lang/Object;
2 9 4 moduleName Ljava/lang/String;
3 9 5 extraArgument Ljava/lang/Object;
6 9 6 extendedArgs [Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
args
node
public java.lang.Object scriptGetUnboundScript(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.trufflenode.info.UnboundScript
dup
aload 1
checkcast com.oracle.truffle.trufflenode.info.Script
invokespecial com.oracle.truffle.trufflenode.info.UnboundScript.<init>:(Lcom/oracle/truffle/trufflenode/info/Script;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 script Ljava/lang/Object;
MethodParameters:
Name Flags
script
private static com.oracle.js.parser.ir.FunctionNode parseSource(com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/js/parser/ir/FunctionNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEmbedderData:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.ContextData
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
astore 3
start local 3 2: aload 2
invokevirtual com.oracle.truffle.trufflenode.ContextData.getFunctionNodeCache:()Ljava/util/Map;
aload 3
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.FunctionNode
astore 4
start local 4 3: aload 4
ifnonnull 6
4: aload 1
aload 0
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/FunctionNode;
astore 4
5: aload 2
invokevirtual com.oracle.truffle.trufflenode.ContextData.getFunctionNodeCache:()Ljava/util/Map;
aload 3
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
6: StackMap locals: com.oracle.truffle.trufflenode.ContextData java.lang.String com.oracle.js.parser.ir.FunctionNode
StackMap stack:
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 7 0 source Lcom/oracle/truffle/api/source/Source;
0 7 1 context Lcom/oracle/truffle/js/runtime/JSContext;
1 7 2 contextData Lcom/oracle/truffle/trufflenode/ContextData;
2 7 3 content Ljava/lang/String;
3 7 4 parseResult Lcom/oracle/js/parser/ir/FunctionNode;
MethodParameters:
Name Flags
source
context
public java.lang.Object unboundScriptCompile(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast java.lang.String
astore 4
start local 4 1: aload 2
checkcast java.lang.String
astore 5
start local 5 2: aload 0
aload 4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.internSourceCode:(Ljava/lang/String;)Ljava/lang/String;
aload 5
invokestatic com.oracle.truffle.trufflenode.info.UnboundScript.createSource:(Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.hostDefinedOptionsMap:Ljava/util/Map;
aload 6
aload 3
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.USE_SNAPSHOTS:Z
ifeq 8
aload 5
ifnull 8
aload 5
invokestatic com.oracle.truffle.trufflenode.info.UnboundScript.isCoreModule:(Ljava/lang/String;)Z
ifeq 8
5: aload 5
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getCoreModuleBinarySnapshot:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
astore 7
start local 7 6: aload 7
ifnull 8
7: new com.oracle.truffle.trufflenode.info.UnboundScript
dup
aload 6
aload 7
invokespecial com.oracle.truffle.trufflenode.info.UnboundScript.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/Object;)V
areturn
end local 7 8: StackMap locals: java.lang.String java.lang.String com.oracle.truffle.api.source.Source
StackMap stack:
aload 6
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.parseSource:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/js/parser/ir/FunctionNode;
astore 7
start local 7 9: new com.oracle.truffle.trufflenode.info.UnboundScript
dup
aload 6
aload 7
invokespecial com.oracle.truffle.trufflenode.info.UnboundScript.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/Object;)V
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 sourceCode Ljava/lang/Object;
0 10 2 fileName Ljava/lang/Object;
0 10 3 hostDefinedOptions Ljava/lang/Object;
1 10 4 sourceCodeStr Ljava/lang/String;
2 10 5 fileNameStr Ljava/lang/String;
3 10 6 source Lcom/oracle/truffle/api/source/Source;
6 8 7 snapshotBinary Ljava/nio/ByteBuffer;
9 10 7 functionNode Lcom/oracle/js/parser/ir/FunctionNode;
MethodParameters:
Name Flags
sourceCode
fileName
hostDefinedOptions
private static java.nio.ByteBuffer getCoreModuleBinarySnapshot(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/nio/ByteBuffer;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.trufflenode.NativeAccess.getCoreModuleBinarySnapshot:(Ljava/lang/String;)Ljava/nio/ByteBuffer;
astore 1
start local 1 1: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
ifeq 6
2: aload 1
ifnonnull 5
3: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "no snapshot for %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
4: goto 6
5: StackMap locals: java.nio.ByteBuffer
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "successfully read snapshot for %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
6: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 modulePath Ljava/lang/String;
1 7 1 snapshotBinary Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
modulePath
public java.lang.Object unboundScriptBindToContext(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=14, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 2: aload 2
checkcast com.oracle.truffle.trufflenode.info.UnboundScript
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.UnboundScript.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 6
start local 6 4: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.UnboundScript.getParseResult:()Ljava/lang/Object;
astore 7
start local 7 5: aload 7
instanceof com.oracle.js.parser.ir.FunctionNode
ifeq 21
6: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEmbedderData:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.ContextData
astore 9
start local 9 7: aload 9
invokevirtual com.oracle.truffle.trufflenode.ContextData.getScriptNodeCache:()Ljava/util/Map;
aload 6
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.nodes.ScriptNode
astore 8
start local 8 8: aload 8
ifnonnull 22
9: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
astore 10
start local 10 10: aload 4
invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
astore 11
start local 11 11: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
invokevirtual com.oracle.truffle.api.TruffleContext.enter:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 12
start local 12 12: aload 11
aload 4
aconst_null
aload 6
aload 10
invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isStrict:()Z
aload 7
checkcast com.oracle.js.parser.ir.FunctionNode
invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateFunction:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 8
13: goto 17
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.UnboundScript com.oracle.truffle.api.source.Source java.lang.Object com.oracle.truffle.js.nodes.ScriptNode com.oracle.truffle.trufflenode.ContextData com.oracle.truffle.js.runtime.JSParserOptions com.oracle.truffle.js.nodes.NodeFactory java.lang.Object
StackMap stack: java.lang.Throwable
14: astore 13
15: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
aload 12
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
16: aload 13
athrow
17: StackMap locals:
StackMap stack:
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
aload 12
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
18: ldc "repl"
aload 6
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 22
19: aload 9
invokevirtual com.oracle.truffle.trufflenode.ContextData.getScriptNodeCache:()Ljava/util/Map;
aload 6
aload 8
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 12 end local 11 end local 10 end local 9 20: goto 22
end local 8 21: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.info.UnboundScript com.oracle.truffle.api.source.Source java.lang.Object
StackMap stack:
aload 0
aload 4
aload 6
ldc ""
ldc ""
aload 7
checkcast java.nio.ByteBuffer
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.parseScriptFromSnapshot:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 8
start local 8 22: StackMap locals: com.oracle.truffle.js.nodes.ScriptNode
StackMap stack:
new com.oracle.truffle.trufflenode.info.Script
dup
aload 8
aload 7
aload 3
aload 5
invokevirtual com.oracle.truffle.trufflenode.info.UnboundScript.getId:()I
invokespecial com.oracle.truffle.trufflenode.info.Script.<init>:(Lcom/oracle/truffle/js/nodes/ScriptNode;Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;I)V
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 23 1 context Ljava/lang/Object;
0 23 2 script Ljava/lang/Object;
1 23 3 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
2 23 4 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
3 23 5 unboundScript Lcom/oracle/truffle/trufflenode/info/UnboundScript;
4 23 6 source Lcom/oracle/truffle/api/source/Source;
5 23 7 parseResult Ljava/lang/Object;
8 21 8 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
22 23 8 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
7 20 9 contextData Lcom/oracle/truffle/trufflenode/ContextData;
10 20 10 options Lcom/oracle/truffle/js/runtime/JSParserOptions;
11 20 11 factory Lcom/oracle/truffle/js/nodes/NodeFactory;
12 20 12 prev Ljava/lang/Object;
Exception table:
from to target type
12 14 14 any
MethodParameters:
Name Flags
context
script
public java.lang.String unboundScriptGetContent(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.UnboundScript
invokevirtual com.oracle.truffle.trufflenode.info.UnboundScript.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getCharacters:()Ljava/lang/CharSequence;
invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 script Ljava/lang/Object;
MethodParameters:
Name Flags
script
private java.lang.String internSourceCode(java.lang.String);
descriptor: (Ljava/lang/String;)Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sourceCodeCache:Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.ref.Reference
astore 2
start local 2 1: aconst_null
astore 3
start local 3 2: aload 2
ifnull 3
aload 2
invokevirtual java.lang.ref.Reference.get:()Ljava/lang/Object;
checkcast java.lang.String
dup
astore 3
ifnonnull 5
3: StackMap locals: java.lang.ref.Reference java.lang.String
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sourceCodeCache:Ljava/util/Map;
aload 1
new java.lang.ref.WeakReference
dup
aload 1
invokespecial java.lang.ref.WeakReference.<init>:(Ljava/lang/Object;)V
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
4: aload 1
areturn
5: StackMap locals:
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 sourceCode Ljava/lang/String;
1 6 2 cacheEntry Ljava/lang/ref/Reference<Ljava/lang/String;>;
2 6 3 entry Ljava/lang/String;
MethodParameters:
Name Flags
sourceCode
private com.oracle.truffle.js.nodes.ScriptNode parseScriptFromSnapshot(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, java.lang.String, java.lang.String, java.nio.ByteBuffer);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/js/nodes/ScriptNode;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
checkcast com.oracle.truffle.js.parser.JSParser
astore 6
start local 6 1: aload 6
aload 1
aload 2
aload 5
invokeinterface com.oracle.truffle.js.parser.JSParser.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/js/nodes/ScriptNode;
2: areturn
3: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source java.lang.String java.lang.String java.nio.ByteBuffer com.oracle.truffle.js.parser.JSParser
StackMap stack: java.lang.IllegalArgumentException
astore 7
start local 7 4: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.VERBOSE:Z
ifeq 8
5: aload 2
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
astore 8
start local 8 6: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "error when parsing binary snapshot for %s: %s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
dup
iconst_1
aload 7
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
7: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "falling back to parsing %s at runtime\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 8 8: StackMap locals: java.lang.IllegalArgumentException
StackMap stack:
aload 6
aload 1
aload 2
aload 3
aload 4
invokeinterface com.oracle.truffle.js.parser.JSParser.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 context Lcom/oracle/truffle/js/runtime/JSContext;
0 9 2 source Lcom/oracle/truffle/api/source/Source;
0 9 3 prefix Ljava/lang/String;
0 9 4 suffix Ljava/lang/String;
0 9 5 snapshotBinary Ljava/nio/ByteBuffer;
1 9 6 parser Lcom/oracle/truffle/js/parser/JSParser;
4 9 7 e Ljava/lang/IllegalArgumentException;
6 8 8 moduleName Ljava/lang/String;
Exception table:
from to target type
1 2 3 Class java.lang.IllegalArgumentException
MethodParameters:
Name Flags
context
source
prefix
suffix
snapshotBinary
public int unboundScriptGetId(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.info.UnboundScript
invokevirtual com.oracle.truffle.trufflenode.info.UnboundScript.getId:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 script Ljava/lang/Object;
MethodParameters:
Name Flags
script
public java.lang.Object contextGlobal(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 realm Ljava/lang/Object;
MethodParameters:
Name Flags
realm
private static int propertyAttributes(int);
descriptor: (I)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: iload 0
iconst_1
iand
ifeq 3
2: iload 1
iconst_4
ior
istore 1
3: StackMap locals: int
StackMap stack:
iload 0
iconst_2
iand
ifeq 5
4: iload 1
iconst_1
ior
istore 1
5: StackMap locals:
StackMap stack:
iload 0
iconst_4
iand
ifeq 7
6: iload 1
iconst_2
ior
istore 1
7: StackMap locals:
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 attributes I
1 8 1 flags I
MethodParameters:
Name Flags
attributes
public static com.oracle.truffle.js.runtime.objects.PropertyDescriptor propertyDescriptor(int, java.lang.Object);
descriptor: (ILjava/lang/Object;)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iload 0
iconst_1
iand
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: istore 2
start local 2 3: iload 0
iconst_2
iand
ifne 4
iconst_1
goto 5
StackMap locals: int
StackMap stack:
4: iconst_0
StackMap locals:
StackMap stack: int
5: istore 3
start local 3 6: iload 0
iconst_4
iand
ifne 7
iconst_1
goto 8
StackMap locals: int
StackMap stack:
7: iconst_0
StackMap locals:
StackMap stack: int
8: istore 4
start local 4 9: aload 1
iload 3
iload 2
iload 4
invokestatic com.oracle.truffle.js.runtime.objects.PropertyDescriptor.createData:(Ljava/lang/Object;ZZZ)Lcom/oracle/truffle/js/runtime/objects/PropertyDescriptor;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 v8Attributes I
0 10 1 value Ljava/lang/Object;
3 10 2 writable Z
6 10 3 enumerable Z
9 10 4 configurable Z
MethodParameters:
Name Flags
v8Attributes
value
private static com.oracle.truffle.api.object.DynamicObject functionFromRootNode(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.JavaScriptRootNode, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
aload 0
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionDataFromRootNode:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
aload 3
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.functionFromFunctionData:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 1 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 1 2 rootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
0 1 3 holder Ljava/lang/Object;
MethodParameters:
Name Flags
context
realm
rootNode
holder
public static com.oracle.truffle.js.runtime.builtins.JSFunctionData functionDataFromRootNode(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.JavaScriptRootNode);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 1
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 2
start local 2 1: aload 0
aload 2
aload 2
iconst_0
ldc ""
iconst_0
iconst_0
iconst_0
iconst_1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;ZZZZ)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 1 rootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
1 2 2 callbackCallTarget Lcom/oracle/truffle/api/CallTarget;
MethodParameters:
Name Flags
context
rootNode
private static com.oracle.truffle.api.object.DynamicObject functionFromFunctionData(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.builtins.JSFunctionData, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: aconst_null
areturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 3: aload 2
ifnull 5
4: aload 3
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.HOLDER_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
5: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.preventExtensions:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
pop
6: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 7 1 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
0 7 2 holder Ljava/lang/Object;
3 7 3 function Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
functionData
holder
public java.lang.Object tryCatchException(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast java.lang.Throwable
astore 3
start local 3 1: aload 2
instanceof com.oracle.truffle.js.runtime.ExitException
ifeq 5
2: aload 2
checkcast com.oracle.truffle.js.runtime.ExitException
invokevirtual com.oracle.truffle.js.runtime.ExitException.getStatus:()I
istore 4
start local 4 3: aload 0
iload 4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exit:(I)V
end local 4 4: goto 8
StackMap locals: java.lang.Throwable
StackMap stack:
5: aload 3
instanceof java.lang.OutOfMemoryError
ifeq 8
6: aload 3
invokevirtual java.lang.Throwable.printStackTrace:()V
7: aload 0
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exit:(I)V
8: StackMap locals:
StackMap stack:
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 4
start local 4 9: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 5
start local 5 10: aload 3
instanceof com.oracle.truffle.js.runtime.GraalJSException
ifne 13
11: aload 0
aload 3
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.isolateInternalErrorCheck:(Ljava/lang/Object;)V
12: getstatic com.oracle.truffle.js.runtime.JSErrorType.Error:Lcom/oracle/truffle/js/runtime/JSErrorType;
aload 3
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
aload 3
aconst_null
invokestatic com.oracle.truffle.js.runtime.JSException.create:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
astore 3
13: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 3
checkcast com.oracle.truffle.js.runtime.GraalJSException
astore 6
start local 6 14: aload 6
aload 5
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getErrorObjectEager:(Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
astore 7
start local 7 15: aload 7
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isObject:(Ljava/lang/Object;)Z
ifeq 17
aload 7
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSError.getException:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/GraalJSException;
ifnonnull 17
16: aload 7
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.js.runtime.builtins.JSError.EXCEPTION_PROPERTY_NAME:Lcom/oracle/truffle/api/object/HiddenKey;
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
17: StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.Object
StackMap stack:
aload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorMatcher:(Ljava/lang/Object;)Ljava/util/regex/Matcher;
astore 8
start local 8 18: aload 8
ifnull 24
19: aload 7
checkcast com.oracle.truffle.api.object.DynamicObject
ldc "stack"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.toString:(Ljava/lang/Object;)Ljava/lang/String;
astore 9
start local 9 20: aload 9
aload 6
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 24
21: aload 8
iconst_4
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 10
start local 10 22: new java.lang.StringBuilder
dup
ldc "SyntaxError: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 9
aload 6
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getMessage:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 9
23: aload 7
checkcast com.oracle.truffle.api.object.DynamicObject
ldc "stack"
aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
end local 10 end local 9 24: StackMap locals: java.util.regex.Matcher
StackMap stack:
aload 7
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 25 1 context Ljava/lang/Object;
0 25 2 exception Ljava/lang/Object;
1 25 3 throwable Ljava/lang/Throwable;
3 4 4 exitCode I
9 25 4 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
10 25 5 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
14 25 6 truffleException Lcom/oracle/truffle/js/runtime/GraalJSException;
15 25 7 exceptionObject Ljava/lang/Object;
18 25 8 matcher Ljava/util/regex/Matcher;
20 24 9 stack Ljava/lang/String;
22 24 10 message Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
exception
public boolean tryCatchHasTerminated(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.trufflenode.GraalJSAccess$GraalJSKillException
ifne 2
aload 1
instanceof com.oracle.truffle.api.TruffleException
ifeq 1
aload 1
checkcast com.oracle.truffle.api.TruffleException
invokeinterface com.oracle.truffle.api.TruffleException.isCancelled:()Z
ifne 2
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
StackMap locals:
StackMap stack:
2: iconst_1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 exception Ljava/lang/Object;
MethodParameters:
Name Flags
exception
private static com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement messageGraalJSExceptionStackFrame(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.runtime.GraalJSException
ifeq 10
1: aload 0
checkcast com.oracle.truffle.js.runtime.GraalJSException
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
astore 2
start local 2 3: iconst_0
istore 4
start local 4 4: StackMap locals: java.lang.Object com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] top int
StackMap stack:
iload 4
aload 2
arraylength
if_icmpne 7
5: aconst_null
astore 3
start local 3 6: goto 9
end local 3 7: StackMap locals:
StackMap stack:
aload 2
iload 4
iinc 4 1
aaload
astore 3
start local 3 8: ldc "<builtin>"
aload 3
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getFileName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 4
9: StackMap locals: java.lang.Object com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement int
StackMap stack:
aload 3
areturn
end local 4 end local 3 end local 2 end local 1 10: StackMap locals: java.lang.Object
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 exception Ljava/lang/Object;
2 10 1 truffleException Lcom/oracle/truffle/js/runtime/GraalJSException;
3 10 2 stackTrace [Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
6 7 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
8 10 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
4 10 4 index I
MethodParameters:
Name Flags
exception
private static java.util.regex.Matcher messageSyntaxErrorMatcher(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/util/regex/Matcher;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=4, args_size=1
start local 0 0: aload 0
instanceof com.oracle.truffle.js.runtime.JSException
ifeq 7
1: aload 0
checkcast com.oracle.truffle.js.runtime.JSException
astore 1
start local 1 2: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSException.getErrorType:()Lcom/oracle/truffle/js/runtime/JSErrorType;
getstatic com.oracle.truffle.js.runtime.JSErrorType.SyntaxError:Lcom/oracle/truffle/js/runtime/JSErrorType;
if_acmpne 7
3: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSException.getRawMessage:()Ljava/lang/String;
astore 2
start local 2 4: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.SYNTAX_ERROR_PATTERN:Ljava/util/regex/Pattern;
aload 2
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
astore 3
start local 3 5: aload 3
invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 7
6: aload 3
areturn
end local 3 end local 2 end local 1 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 exception Ljava/lang/Object;
2 7 1 jsException Lcom/oracle/truffle/js/runtime/JSException;
4 7 2 message Ljava/lang/String;
5 7 3 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
exception
private static java.lang.String messageSyntaxErrorResourceName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorMatcher:(Ljava/lang/Object;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
iconst_1
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 exception Ljava/lang/Object;
1 4 1 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
exception
private static int messageSyntaxErrorLineNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorMatcher:(Ljava/lang/Object;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
iconst_2
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 2
start local 2 3: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 2 4: StackMap locals: java.util.regex.Matcher
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 exception Ljava/lang/Object;
1 5 1 matcher Ljava/util/regex/Matcher;
3 4 2 lineNumber Ljava/lang/String;
MethodParameters:
Name Flags
exception
private static int messageSyntaxErrorColumnNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorMatcher:(Ljava/lang/Object;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
iconst_3
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
astore 2
start local 2 3: aload 2
invokestatic java.lang.Integer.parseInt:(Ljava/lang/String;)I
ireturn
end local 2 4: StackMap locals: java.util.regex.Matcher
StackMap stack:
iconst_m1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 exception Ljava/lang/Object;
1 5 1 matcher Ljava/util/regex/Matcher;
3 4 2 columnNumber Ljava/lang/String;
MethodParameters:
Name Flags
exception
private static java.lang.String messageSyntaxErrorSourceLine(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorMatcher:(Ljava/lang/Object;)Ljava/util/regex/Matcher;
astore 1
start local 1 1: aload 1
ifnull 3
2: aload 1
iconst_5
invokevirtual java.util.regex.Matcher.group:(I)Ljava/lang/String;
areturn
3: StackMap locals: java.util.regex.Matcher
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 exception Ljava/lang/Object;
1 4 1 matcher Ljava/util/regex/Matcher;
MethodParameters:
Name Flags
exception
public java.lang.Object messageGetScriptResourceName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorResourceName:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageGraalJSExceptionStackFrame:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getFileName:()Ljava/lang/String;
areturn
6: StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
StackMap stack:
ldc "unknown"
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 exception Ljava/lang/Object;
1 7 2 resourceName Ljava/lang/String;
4 7 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
exception
public int messageGetLineNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorLineNumber:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageGraalJSExceptionStackFrame:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getLineNumber:()I
ireturn
6: StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 exception Ljava/lang/Object;
1 7 2 lineNumber I
4 7 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
exception
public int messageGetStartColumn(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorColumnNumber:(Ljava/lang/Object;)I
istore 2
start local 2 1: iload 2
iconst_m1
if_icmpeq 3
2: iload 2
ireturn
3: StackMap locals: int
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageGraalJSExceptionStackFrame:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getColumnNumber:()I
iconst_1
isub
ireturn
6: StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
StackMap stack:
iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 exception Ljava/lang/Object;
1 7 2 columnNumber I
4 7 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
exception
public java.lang.Object messageGetSourceLine(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageSyntaxErrorSourceLine:(Ljava/lang/Object;)Ljava/lang/String;
astore 2
start local 2 1: aload 2
ifnull 3
2: aload 2
areturn
3: StackMap locals: java.lang.String
StackMap stack:
aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.messageGraalJSExceptionStackFrame:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
astore 3
start local 3 4: aload 3
ifnull 6
5: aload 3
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getLine:()Ljava/lang/String;
areturn
6: StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
StackMap stack:
ldc "unknown"
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 7 1 exception Ljava/lang/Object;
1 7 2 sourceLine Ljava/lang/String;
4 7 3 stackFrame Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
exception
public java.lang.Object messageGetStackTrace(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.js.runtime.GraalJSException
ifeq 3
1: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
areturn
end local 2 3: StackMap locals:
StackMap stack:
iconst_0
anewarray com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 exception Ljava/lang/Object;
2 3 2 truffleException Lcom/oracle/truffle/js/runtime/GraalJSException;
MethodParameters:
Name Flags
exception
public java.lang.Object messageGet(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
ldc "Uncaught "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 exception Ljava/lang/Object;
MethodParameters:
Name Flags
exception
public java.lang.Object stackTraceCurrentStackTrace();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aconst_null
invokestatic com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:(Lcom/oracle/truffle/api/nodes/Node;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public int stackFrameGetLineNumber(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getLineNumber:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 stackFrame Ljava/lang/Object;
1 2 2 element Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
stackFrame
public int stackFrameGetColumn(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getColumnNumber:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 stackFrame Ljava/lang/Object;
1 2 2 element Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
stackFrame
public java.lang.Object stackFrameGetScriptName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getFileName:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 stackFrame Ljava/lang/Object;
1 2 2 element Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
stackFrame
public java.lang.Object stackFrameGetFunctionName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.getFunctionName:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 stackFrame Ljava/lang/Object;
1 2 2 element Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
stackFrame
public boolean stackFrameIsEval(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.isEval:()Z
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 stackFrame Ljava/lang/Object;
1 2 2 element Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
MethodParameters:
Name Flags
stackFrame
private com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback updateWeakCallback(java.lang.Object, long, long, long, int);
descriptor: (Ljava/lang/Object;JJJI)Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
flags: (0x0002) ACC_PRIVATE
Code:
stack=9, locals=12, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 8 0: aload 1
instanceof com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule
ifeq 3
1: aload 1
checkcast com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule.getWeakCallbackMap:()Ljava/util/Map;
astore 9
start local 9 2: goto 17
end local 9 3: StackMap locals:
StackMap stack:
aload 1
instanceof com.oracle.truffle.js.runtime.JSRealm
ifeq 7
4: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 10
start local 10 5: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.HIDDEN_WEAK_CALLBACK_CONTEXT:Lcom/oracle/truffle/api/object/HiddenKey;
astore 11
start local 11 6: goto 13
end local 11 end local 10 StackMap locals:
StackMap stack:
7: aload 1
instanceof com.oracle.truffle.api.object.DynamicObject
ifeq 11
8: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 10
start local 10 9: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.HIDDEN_WEAK_CALLBACK:Lcom/oracle/truffle/api/object/HiddenKey;
astore 11
start local 11 10: goto 13
end local 11 end local 10 11: StackMap locals:
StackMap stack:
getstatic java.lang.System.err:Ljava/io/PrintStream;
new java.lang.StringBuilder
dup
ldc "Weak references not supported for "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
12: aconst_null
areturn
start local 10 start local 11 13: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object long long long int top com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.api.object.HiddenKey
StackMap stack:
aload 10
aload 11
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.util.Map
astore 9
start local 9 14: aload 9
ifnonnull 17
15: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
16: aload 10
aload 11
aload 9
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
end local 11 end local 10 17: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object long long long int java.util.Map
StackMap stack:
aload 9
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
astore 10
start local 10 18: aload 10
ifnonnull 22
19: new com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
dup
aload 1
lload 4
lload 6
iload 8
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbackQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.<init>:(Ljava/lang/Object;JJILjava/lang/ref/ReferenceQueue;)V
astore 10
20: aload 9
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
21: goto 25
22: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
StackMap stack:
aload 10
lload 4
putfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.data:J
23: aload 10
lload 6
putfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.callback:J
24: aload 10
iload 8
putfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.type:I
25: StackMap locals:
StackMap stack:
lload 6
lconst_0
lcmp
ifne 28
26: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbacks:Ljava/util/Set;
aload 10
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
27: goto 29
28: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbacks:Ljava/util/Set;
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
29: StackMap locals:
StackMap stack:
aload 10
areturn
end local 10 end local 9 end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 30 1 object Ljava/lang/Object;
0 30 2 reference J
0 30 4 data J
0 30 6 callbackPointer J
0 30 8 type I
2 3 9 map Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;>;
14 30 9 map Ljava/util/Map<Ljava/lang/Long;Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;>;
5 7 10 target Lcom/oracle/truffle/api/object/DynamicObject;
9 11 10 target Lcom/oracle/truffle/api/object/DynamicObject;
13 17 10 target Lcom/oracle/truffle/api/object/DynamicObject;
6 7 11 key Lcom/oracle/truffle/api/object/HiddenKey;
10 11 11 key Lcom/oracle/truffle/api/object/HiddenKey;
13 17 11 key Lcom/oracle/truffle/api/object/HiddenKey;
18 30 10 weakCallback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
MethodParameters:
Name Flags
object
reference
data
callbackPointer
type
private void pollWeakCallbackQueue(boolean);
descriptor: (Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 8
1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbackQueue:Ljava/lang/ref/ReferenceQueue;
ldc 10
invokevirtual java.lang.ref.ReferenceQueue.remove:(J)Ljava/lang/ref/Reference;
checkcast com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
astore 2
start local 2 2: aload 2
ifnull 8
3: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.processWeakCallback:(Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;)V
4: goto 8
end local 2 StackMap locals:
StackMap stack: java.lang.InterruptedException
5: pop
6: goto 8
start local 2 7: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
StackMap stack:
aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.processWeakCallback:(Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;)V
end local 2 8: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbackQueue:Ljava/lang/ref/ReferenceQueue;
invokevirtual java.lang.ref.ReferenceQueue.poll:()Ljava/lang/ref/Reference;
checkcast com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
dup
astore 2
start local 2 9: ifnonnull 7
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 11 1 canBlock Z
2 5 2 callback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
7 8 2 callback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
9 11 2 callback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
Exception table:
from to target type
1 4 5 Class java.lang.InterruptedException
MethodParameters:
Name Flags
canBlock
private void processWeakCallback(com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback);
descriptor: (Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbacks:Ljava/util/Set;
aload 1
invokeinterface java.util.Set.remove:(Ljava/lang/Object;)Z
pop
1: aload 1
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.callback:J
lconst_0
lcmp
ifeq 3
2: aload 1
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.callback:J
aload 1
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.data:J
aload 1
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.type:I
invokestatic com.oracle.truffle.trufflenode.NativeAccess.weakCallback:(JJI)V
3: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 callback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
MethodParameters:
Name Flags
callback
public void makeWeak(java.lang.Object, long, long, long, int);
descriptor: (Ljava/lang/Object;JJJI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=9, args_size=6
start local 0 start local 1 start local 2 start local 4 start local 6 start local 8 0: aload 1
ifnonnull 3
1: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "null object given to makeWeak!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
2: return
3: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lload 4
lload 6
iload 8
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.updateWeakCallback:(Ljava/lang/Object;JJJI)Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
pop
4: aload 0
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.pollWeakCallbackQueue:(Z)V
5: return
end local 8 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 object Ljava/lang/Object;
0 6 2 reference J
0 6 4 data J
0 6 6 callbackPointer J
0 6 8 type I
MethodParameters:
Name Flags
object
reference
data
callbackPointer
type
public long clearWeak(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
ifnonnull 2
1: lconst_0
lreturn
2: StackMap locals:
StackMap stack:
aload 0
aload 1
lload 2
lconst_0
lconst_0
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.updateWeakCallback:(Ljava/lang/Object;JJJI)Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
astore 4
start local 4 3: aload 4
getfield com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.data:J
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
0 4 2 reference J
3 4 4 callback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
MethodParameters:
Name Flags
object
reference
public <T> T lookupInstrument(java.lang.String, java.lang.Class<T>);
descriptor: (Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.envForInstruments:Lcom/oracle/truffle/api/TruffleLanguage$Env;
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getInstruments:()Ljava/util/Map;
aload 1
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.InstrumentInfo
astore 4
start local 4 2: aload 4
ifnonnull 3
aconst_null
goto 4
StackMap locals: com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.InstrumentInfo
StackMap stack:
3: aload 3
aload 4
aload 2
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.lookup:(Lcom/oracle/truffle/api/InstrumentInfo;Ljava/lang/Class;)Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
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/trufflenode/GraalJSAccess;
0 5 1 instrumentId Ljava/lang/String;
0 5 2 instrumentClass Ljava/lang/Class<TT;>;
1 5 3 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 5 4 info Lcom/oracle/truffle/api/InstrumentInfo;
Signature: <T:Ljava/lang/Object;>(Ljava/lang/String;Ljava/lang/Class<TT;>;)TT;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
instrumentId
instrumentClass
public java.lang.Object contextNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.createChildContext:Z
ifeq 4
1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.createChildRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 3: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 8
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getAgent:()Lcom/oracle/truffle/js/runtime/JSAgent;
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
if_acmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 3 end local 2 4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
astore 2
start local 2 5: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 6: aload 3
new com.oracle.truffle.trufflenode.ContextData
dup
aload 3
invokespecial com.oracle.truffle.trufflenode.ContextData.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
invokevirtual com.oracle.truffle.js.runtime.JSContext.setEmbedderData:(Ljava/lang/Object;)V
7: aload 0
iconst_1
putfield com.oracle.truffle.trufflenode.GraalJSAccess.createChildContext:Z
8: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 2
new com.oracle.truffle.trufflenode.RealmData
dup
invokespecial com.oracle.truffle.trufflenode.RealmData.<init>:()V
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setEmbedderData:(Ljava/lang/Object;)V
9: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 10: aload 4
ldc "arguments"
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.delete:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Z
pop
11: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.exposeGC:Z
ifeq 13
12: aload 0
aload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.contextExposeGC:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
13: StackMap locals: com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 1
ifnull 22
14: aload 1
checkcast com.oracle.truffle.trufflenode.info.ObjectTemplate
astore 5
start local 5 15: aload 5
invokevirtual com.oracle.truffle.trufflenode.info.ObjectTemplate.hasPropertyHandler:()Z
ifeq 19
16: aload 0
aload 3
aload 2
aload 5
aload 4
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.propertyHandlerInstantiate:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
17: aload 2
aload 4
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setGlobalObject:(Lcom/oracle/truffle/api/object/DynamicObject;)V
18: goto 22
19: StackMap locals: com.oracle.truffle.trufflenode.info.ObjectTemplate
StackMap stack:
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 6
start local 6 20: aload 0
aload 2
aload 5
aload 6
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.objectTemplateInstantiate:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Ljava/lang/Object;)V
21: aload 4
aload 6
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.setPrototype:(Lcom/oracle/truffle/api/object/DynamicObject;Lcom/oracle/truffle/api/object/DynamicObject;)Z
pop
end local 6 end local 5 22: StackMap locals:
StackMap stack:
aload 2
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 23 1 templateObj Ljava/lang/Object;
2 4 2 realm Lcom/oracle/truffle/js/runtime/JSRealm;
5 23 2 realm Lcom/oracle/truffle/js/runtime/JSRealm;
3 4 3 context Lcom/oracle/truffle/js/runtime/JSContext;
6 23 3 context Lcom/oracle/truffle/js/runtime/JSContext;
10 23 4 global Lcom/oracle/truffle/api/object/DynamicObject;
15 22 5 template Lcom/oracle/truffle/trufflenode/info/ObjectTemplate;
20 22 6 prototype Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
templateObj
public static com.oracle.truffle.trufflenode.RealmData getRealmEmbedderData(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEmbedderData:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.RealmData
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 realm Ljava/lang/Object;
MethodParameters:
Name Flags
realm
public static com.oracle.truffle.trufflenode.ContextData getContextEmbedderData(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/trufflenode/ContextData;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEmbedderData:()Ljava/lang/Object;
checkcast com.oracle.truffle.trufflenode.ContextData
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
private void contextExposeGC(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 1: new com.oracle.truffle.trufflenode.GraalJSAccess$2
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$2.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 3
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
ldc "gc"
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 4
start local 4 3: aload 1
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 4: aload 2
ldc "gc"
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
5: return
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
1 6 2 global Lcom/oracle/truffle/api/object/DynamicObject;
2 6 3 rootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
3 6 4 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
4 6 5 function Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
private void isolatePerformGC();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: iconst_1
invokestatic com.oracle.truffle.trufflenode.NativeAccess.notifyGCCallbacks:(Z)V
1: aload 0
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.pollWeakCallbackQueue:(Z)V
2: iconst_0
istore 1
start local 1 3: goto 7
4: StackMap locals: int
StackMap stack:
invokestatic java.lang.System.gc:()V
5: aload 0
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.pollWeakCallbackQueue:(Z)V
6: iinc 1 1
StackMap locals:
StackMap stack:
7: iload 1
iconst_3
if_icmplt 4
end local 1 8: iconst_0
invokestatic com.oracle.truffle.trufflenode.NativeAccess.notifyGCCallbacks:(Z)V
9: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
3 8 1 i I
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
public void contextSetSecurityToken(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 3
start local 3 1: aload 3
aload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.setSecurityToken:(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 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 context Ljava/lang/Object;
0 3 2 securityToken Ljava/lang/Object;
1 3 3 contextData Lcom/oracle/truffle/trufflenode/RealmData;
MethodParameters:
Name Flags
context
securityToken
public java.lang.Object contextGetSecurityToken(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.getSecurityToken:()Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnonnull 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
goto 4
StackMap locals: com.oracle.truffle.trufflenode.RealmData java.lang.Object
StackMap stack:
3: aload 3
StackMap locals:
StackMap stack: java.lang.Object
4: areturn
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/trufflenode/GraalJSAccess;
0 5 1 context Ljava/lang/Object;
1 5 2 contextData Lcom/oracle/truffle/trufflenode/RealmData;
2 5 3 securityToken Ljava/lang/Object;
MethodParameters:
Name Flags
context
public java.lang.Object (java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.getExtrasBindingObject:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.initializeExtrasBindingObject:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
4: aload 2
aload 3
invokevirtual com.oracle.truffle.trufflenode.RealmData.setExtrasBindingObject:(Lcom/oracle/truffle/api/object/DynamicObject;)V
5: StackMap locals: com.oracle.truffle.trufflenode.RealmData com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 context Ljava/lang/Object;
1 6 2 contextData Lcom/oracle/truffle/trufflenode/RealmData;
2 6 3 extras Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
private com.oracle.truffle.api.object.DynamicObject (com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=9, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSOrdinary.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 1: new com.oracle.truffle.trufflenode.GraalJSAccess$3
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$3.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
astore 3
start local 3 2: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 3
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
ldc "isTraceCategoryEnabled"
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 4
start local 4 3: aload 1
aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 5
start local 5 4: aload 2
ldc "isTraceCategoryEnabled"
aload 5
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
5: new com.oracle.truffle.trufflenode.GraalJSAccess$4
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$4.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
astore 6
start local 6 6: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 6
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
iconst_0
ldc "trace"
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 7
start local 7 7: aload 1
aload 7
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.create:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 8
start local 8 8: aload 2
ldc "trace"
aload 8
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.set:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)Z
pop
9: aload 2
areturn
end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
1 10 2 extras Lcom/oracle/truffle/api/object/DynamicObject;
2 10 3 isEnabledRootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
3 10 4 isEnabledFunctionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
4 10 5 isEnabledFunction Lcom/oracle/truffle/api/object/DynamicObject;
6 10 6 traceRootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
7 10 7 traceFunctionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
8 10 8 traceFunction Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
public void contextSetPointerInEmbedderData(java.lang.Object, int, long);
descriptor: (Ljava/lang/Object;IJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
iload 2
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.contextSetEmbedderData:(Ljava/lang/Object;ILjava/lang/Object;)V
1: return
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/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
0 2 2 index I
0 2 3 pointer J
MethodParameters:
Name Flags
context
index
pointer
public long contextGetPointerInEmbedderData(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.contextGetEmbedderData:(Ljava/lang/Object;I)Ljava/lang/Object;
checkcast java.lang.Long
astore 3
start local 3 1: aload 3
ifnonnull 2
lconst_0
goto 3
StackMap locals: java.lang.Long
StackMap stack:
2: aload 3
invokevirtual java.lang.Long.longValue:()J
StackMap locals:
StackMap stack: long
3: lreturn
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/trufflenode/GraalJSAccess;
0 4 1 context Ljava/lang/Object;
0 4 2 index I
1 4 3 pointer Ljava/lang/Long;
MethodParameters:
Name Flags
context
index
public void contextSetEmbedderData(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 4
start local 4 1: aload 4
iload 2
aload 3
invokevirtual com.oracle.truffle.trufflenode.RealmData.setEmbedderData:(ILjava/lang/Object;)V
2: return
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/trufflenode/GraalJSAccess;
0 3 1 realm Ljava/lang/Object;
0 3 2 index I
0 3 3 value Ljava/lang/Object;
1 3 4 data Lcom/oracle/truffle/trufflenode/RealmData;
MethodParameters:
Name Flags
realm
index
value
public java.lang.Object contextGetEmbedderData(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 3
start local 3 1: aload 3
iload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.getEmbedderData:(I)Ljava/lang/Object;
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/trufflenode/GraalJSAccess;
0 2 1 realm Ljava/lang/Object;
0 2 2 index I
1 2 3 data Lcom/oracle/truffle/trufflenode/RealmData;
MethodParameters:
Name Flags
realm
index
public void isolateRunMicrotasks();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.pollWeakCallbackQueue:(Z)V
1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
iconst_1
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.processAllPromises:(Z)V
2: goto 6
StackMap locals:
StackMap stack: java.lang.Exception
3: astore 1
start local 1 4: aload 1
invokevirtual java.lang.Exception.printStackTrace:()V
5: iconst_1
invokestatic java.lang.System.exit:(I)V
end local 1 6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
4 6 1 ex Ljava/lang/Exception;
Exception table:
from to target type
1 2 3 Class java.lang.Exception
public java.lang.Object isolateCreateInternalFieldCountKey();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_COUNT_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object isolateCreateInternalFieldKey(int);
descriptor: (I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: iload 1
ifne 1
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_ZERO_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
goto 2
StackMap locals:
StackMap stack:
1: new com.oracle.truffle.api.object.HiddenKey
dup
new java.lang.StringBuilder
dup
ldc "InternalField"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
StackMap locals:
StackMap stack: com.oracle.truffle.api.object.HiddenKey
2: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 index I
MethodParameters:
Name Flags
index
public int objectInternalFieldCount(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.internalFieldCount:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 target Ljava/lang/Object;
MethodParameters:
Name Flags
target
public static int internalFieldCount(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_COUNT_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 1
start local 1 1: aload 1
instanceof java.lang.Integer
ifeq 3
2: aload 1
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
3: StackMap locals: java.lang.Object
StackMap stack:
aload 1
instanceof java.lang.Double
ifeq 5
4: aload 1
checkcast java.lang.Double
invokevirtual java.lang.Double.intValue:()I
ireturn
5: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 target Lcom/oracle/truffle/api/object/DynamicObject;
1 6 1 ret Ljava/lang/Object;
MethodParameters:
Name Flags
target
public long objectSlowGetAlignedPointerFromInternalField(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_ZERO_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 2
start local 2 1: aload 2
ifnonnull 2
lconst_0
goto 3
StackMap locals: java.lang.Object
StackMap stack:
2: aload 2
checkcast java.lang.Number
invokevirtual java.lang.Number.longValue:()J
StackMap locals:
StackMap stack: long
3: lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 target Ljava/lang/Object;
1 4 2 pointer Ljava/lang/Object;
MethodParameters:
Name Flags
target
public void objectSetAlignedPointerInInternalField(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INTERNAL_FIELD_ZERO_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;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/trufflenode/GraalJSAccess;
0 2 1 target Ljava/lang/Object;
0 2 2 value J
MethodParameters:
Name Flags
target
value
public java.lang.Object objectPreviewEntries(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.getJSContext:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 2: aload 2
getstatic com.oracle.truffle.js.runtime.JSRuntime.ITERATOR_NEXT_INDEX:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.util.JSHashMap$Cursor
astore 4
start local 4 3: aload 4
ifnull 33
4: aload 2
getstatic com.oracle.truffle.js.runtime.builtins.JSMap.MAP_ITERATION_KIND_ID:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
start local 5 5: aload 5
ifnonnull 6
iconst_1
goto 7
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.util.JSHashMap$Cursor java.lang.Object
StackMap stack:
6: iconst_0
StackMap locals:
StackMap stack: int
7: istore 6
start local 6 8: iload 6
ifeq 10
9: aload 2
getstatic com.oracle.truffle.js.runtime.builtins.JSSet.SET_ITERATION_KIND_ID:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 5
10: StackMap locals: int
StackMap stack:
aload 5
checkcast java.lang.Number
invokevirtual java.lang.Number.intValue:()I
istore 7
start local 7 11: aload 4
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.copy:()Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
astore 4
12: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 13: goto 27
14: StackMap locals: int java.util.List
StackMap stack:
aload 4
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getKey:()Ljava/lang/Object;
astore 9
start local 9 15: iload 6
ifeq 16
aload 9
goto 17
StackMap locals: java.lang.Object
StackMap stack:
16: aload 4
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.getValue:()Ljava/lang/Object;
StackMap locals:
StackMap stack: java.lang.Object
17: astore 10
start local 10 18: iload 7
iconst_1
if_icmpne 21
19: aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
20: goto 27
StackMap locals: java.lang.Object
StackMap stack:
21: iload 7
iconst_2
if_icmpne 24
22: aload 8
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
23: goto 27
24: StackMap locals:
StackMap stack:
aload 8
aload 9
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
25: aload 8
aload 10
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
26: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 27
iload 7
iconst_3
if_icmpeq 27
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
end local 10 end local 9 27: StackMap locals:
StackMap stack:
aload 4
invokeinterface com.oracle.truffle.js.runtime.util.JSHashMap$Cursor.advance:()Z
ifne 14
28: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
29: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iload 7
iconst_3
if_icmpne 30
iconst_1
goto 31
StackMap locals:
StackMap stack: java.nio.ByteBuffer
30: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.util.JSHashMap$Cursor java.lang.Object int int java.util.List
StackMap stack: java.nio.ByteBuffer int
31: invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
32: aload 3
aload 8
invokeinterface java.util.List.toArray:()[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantObjectArray:(Lcom/oracle/truffle/js/runtime/JSContext;[Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 8 end local 7 end local 6 end local 5 33: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.util.JSHashMap$Cursor
StackMap stack:
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakMap.isJSWeakMap:(Ljava/lang/Object;)Z
ifne 34
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSWeakSet.isJSWeakSet:(Ljava/lang/Object;)Z
ifeq 37
34: StackMap locals:
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
35: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iconst_0
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
36: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSArray.createConstantEmptyArray:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
37: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 38 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 38 1 object Ljava/lang/Object;
1 38 2 dynamicObject Lcom/oracle/truffle/api/object/DynamicObject;
2 38 3 context Lcom/oracle/truffle/js/runtime/JSContext;
3 38 4 cursor Lcom/oracle/truffle/js/runtime/util/JSHashMap$Cursor;
5 33 5 kindObject Ljava/lang/Object;
8 33 6 isSet Z
11 33 7 kind I
13 33 8 entries Ljava/util/List<Ljava/lang/Object;>;
15 27 9 key Ljava/lang/Object;
18 27 10 value Ljava/lang/Object;
MethodParameters:
Name Flags
object
public void isolateInternalErrorCheck(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
instanceof com.oracle.truffle.api.TruffleException
ifne 3
aload 1
instanceof java.lang.StackOverflowError
ifne 3
aload 1
instanceof java.lang.OutOfMemoryError
ifne 3
1: aload 1
instanceof com.oracle.truffle.api.nodes.ControlFlowException
ifne 3
aload 1
instanceof com.oracle.truffle.trufflenode.GraalJSAccess$GraalJSKillException
ifne 3
2: iconst_1
goto 4
StackMap locals:
StackMap stack:
3: iconst_0
StackMap locals:
StackMap stack: int
4: istore 2
start local 2 5: iload 2
ifeq 8
6: aload 1
checkcast java.lang.Throwable
invokevirtual java.lang.Throwable.printStackTrace:()V
7: aload 0
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exit:(I)V
8: StackMap locals: int
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 exception Ljava/lang/Object;
5 9 2 internalError Z
MethodParameters:
Name Flags
exception
public void isolateThrowStackOverflowError();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.truffle.js.runtime.Errors.createRangeErrorStackOverflow:()Lcom/oracle/truffle/js/runtime/JSException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public void isolateGetHeapStatistics();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: invokestatic java.lang.Runtime.getRuntime:()Ljava/lang/Runtime;
astore 1
start local 1 1: aload 1
invokevirtual java.lang.Runtime.totalMemory:()J
lstore 2
start local 2 2: aload 1
invokevirtual java.lang.Runtime.freeMemory:()J
lstore 4
start local 4 3: aload 1
invokevirtual java.lang.Runtime.maxMemory:()J
lstore 6
start local 6 4: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
5: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
lload 2
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
6: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
lload 6
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
7: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
lload 2
lload 4
lsub
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
8: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
1 9 1 runtime Ljava/lang/Runtime;
2 9 2 total J
3 9 4 free J
4 9 6 max J
public synchronized void isolateCancelTerminateExecution();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
putfield com.oracle.truffle.trufflenode.GraalJSAccess.terminateExecution:Z
1: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.getThread:()Ljava/lang/Thread;
if_acmpne 3
2: invokestatic java.lang.Thread.interrupted:()Z
pop
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public synchronized void isolateTerminateExecution();
descriptor: ()V
flags: (0x0021) ACC_PUBLIC, ACC_SYNCHRONIZED
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.terminateExecution:Z
ifeq 2
1: return
2: StackMap locals:
StackMap stack:
aload 0
iconst_1
putfield com.oracle.truffle.trufflenode.GraalJSAccess.terminateExecution:Z
3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.getThread:()Ljava/lang/Thread;
astore 1
start local 1 4: aload 1
ifnull 6
5: aload 1
invokevirtual java.lang.Thread.interrupt:()V
6: StackMap locals: java.lang.Thread
StackMap stack:
aload 0
ldc "debugger"
ldc Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.lookupInstrument:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.Debugger
astore 2
start local 2 7: aload 2
ifnonnull 10
8: getstatic java.lang.System.err:Ljava/io/PrintStream;
ldc "Debugger is not available!"
invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
9: return
10: StackMap locals: com.oracle.truffle.api.debug.Debugger
StackMap stack:
aload 2
new com.oracle.truffle.trufflenode.GraalJSAccess$5
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$5.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
invokevirtual com.oracle.truffle.api.debug.Debugger.startSession:(Lcom/oracle/truffle/api/debug/SuspendedCallback;)Lcom/oracle/truffle/api/debug/DebuggerSession;
11: invokevirtual com.oracle.truffle.api.debug.DebuggerSession.suspendNextExecution:()V
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
4 13 1 thread Ljava/lang/Thread;
7 13 2 debugger Lcom/oracle/truffle/api/debug/Debugger;
public java.lang.Object isolateGetIntPlaceholder();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INT_PLACEHOLDER:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object isolateGetSafeIntPlaceholder();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.SAFE_INT_PLACEHOLDER:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object isolateGetDoublePlaceholder();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.DOUBLE_PLACEHOLDER:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public void isolateDispose(boolean, int);
descriptor: (ZI)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
ifeq 2
1: aload 0
iload 2
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.exit:(I)V
2: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 exit Z
0 3 2 status I
MethodParameters:
Name Flags
exit
status
public void isolateEnablePromiseHook(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
new com.oracle.truffle.trufflenode.GraalJSAccess$6
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$6.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.GraalJSAccess$6
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.setPromiseHook:(Lcom/oracle/truffle/js/runtime/PromiseHook;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 enable Z
4 6 2 hook Lcom/oracle/truffle/js/runtime/PromiseHook;
MethodParameters:
Name Flags
enable
public void isolateEnablePromiseRejectCallback(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
new com.oracle.truffle.trufflenode.GraalJSAccess$7
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$7.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.GraalJSAccess$7
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.setPromiseRejectionTracker:(Lcom/oracle/truffle/js/runtime/PromiseRejectionTracker;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 enable Z
4 6 2 tracker Lcom/oracle/truffle/js/runtime/PromiseRejectionTracker;
MethodParameters:
Name Flags
enable
public void isolateEnableImportMetaInitializer(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
new com.oracle.truffle.trufflenode.GraalJSAccess$8
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$8.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.GraalJSAccess$8
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.setImportMetaInitializer:(Lcom/oracle/truffle/js/runtime/ImportMetaInitializer;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 enable Z
4 6 2 initializer Lcom/oracle/truffle/js/runtime/ImportMetaInitializer;
MethodParameters:
Name Flags
enable
public void isolateEnableImportModuleDynamically(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
new com.oracle.truffle.trufflenode.GraalJSAccess$9
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$9.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.GraalJSAccess$9
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.setImportModuleDynamicallyCallback:(Lcom/oracle/truffle/js/runtime/ImportModuleDynamicallyCallback;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 enable Z
4 6 2 callback Lcom/oracle/truffle/js/runtime/ImportModuleDynamicallyCallback;
MethodParameters:
Name Flags
enable
public void isolateEnablePrepareStackTraceCallback(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: iload 1
ifeq 2
new com.oracle.truffle.trufflenode.GraalJSAccess$10
dup
aload 0
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$10.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aconst_null
3: StackMap locals:
StackMap stack: com.oracle.truffle.trufflenode.GraalJSAccess$10
astore 2
start local 2 4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.setPrepareStackTraceCallback:(Lcom/oracle/truffle/js/runtime/PrepareStackTraceCallback;)V
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 enable Z
4 6 2 callback Lcom/oracle/truffle/js/runtime/PrepareStackTraceCallback;
MethodParameters:
Name Flags
enable
private void exit(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.evaluator:Lorg/graalvm/polyglot/Context;
invokevirtual org.graalvm.polyglot.Context.close:()V
1: iload 1
invokestatic java.lang.System.exit:(I)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 status I
MethodParameters:
Name Flags
status
public void isolateEnterPolyglotEngine(long, long, long, long, long, long);
descriptor: (JJJJJJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=21, locals=15, args_size=7
start local 0 start local 1 start local 3 start local 5 start local 7 start local 9 start local 11 0: ldc "js"
ldc "(function(r) { r.run(); })"
ldc "polyglotEngineWrapper"
invokestatic org.graalvm.polyglot.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lorg/graalvm/polyglot/Source$Builder;
iconst_1
invokevirtual org.graalvm.polyglot.Source$Builder.internal:(Z)Lorg/graalvm/polyglot/Source$Builder;
invokevirtual org.graalvm.polyglot.Source$Builder.buildLiteral:()Lorg/graalvm/polyglot/Source;
astore 13
start local 13 1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.evaluator:Lorg/graalvm/polyglot/Context;
aload 13
invokevirtual org.graalvm.polyglot.Context.eval:(Lorg/graalvm/polyglot/Source;)Lorg/graalvm/polyglot/Value;
astore 14
start local 14 2: aload 14
iconst_1
anewarray java.lang.Object
dup
iconst_0
new com.oracle.truffle.trufflenode.RunnableInvoker
dup
new com.oracle.truffle.trufflenode.GraalJSAccess$11
dup
aload 0
lload 1
lload 3
lload 5
lload 7
lload 9
lload 11
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$11.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;JJJJJJ)V
invokespecial com.oracle.truffle.trufflenode.RunnableInvoker.<init>:(Ljava/lang/Runnable;)V
aastore
invokevirtual org.graalvm.polyglot.Value.execute:([Ljava/lang/Object;)Lorg/graalvm/polyglot/Value;
pop
3: return
end local 14 end local 13 end local 11 end local 9 end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 callback J
0 4 3 isolate J
0 4 5 param1 J
0 4 7 param2 J
0 4 9 args J
0 4 11 execArgs J
1 4 13 source Lorg/graalvm/polyglot/Source;
2 4 14 wrapper Lorg/graalvm/polyglot/Value;
MethodParameters:
Name Flags
callback
isolate
param1
param2
args
execArgs
public void isolateEnter(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.isolateStack:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.Deque
astore 3
start local 3 1: aload 3
ifnonnull 4
2: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 3
3: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.isolateStack:Ljava/lang/ThreadLocal;
aload 3
invokevirtual java.lang.ThreadLocal.set:(Ljava/lang/Object;)V
4: StackMap locals: java.util.Deque
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
invokevirtual com.oracle.truffle.api.TruffleContext.enter:(Lcom/oracle/truffle/api/nodes/Node;)Ljava/lang/Object;
astore 4
start local 4 5: aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 7
6: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.setThread:(Ljava/lang/Thread;)V
7: StackMap locals: java.lang.Object
StackMap stack:
aload 3
new com.oracle.truffle.js.runtime.util.Pair
dup
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 4
invokespecial com.oracle.truffle.js.runtime.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
8: return
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 9 1 isolate J
1 9 3 list Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/Long;Ljava/lang/Object;>;>;
5 9 4 previous Ljava/lang/Object;
MethodParameters:
Name Flags
isolate
public long isolateExit(long);
descriptor: (J)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.isolateStack:Ljava/lang/ThreadLocal;
invokevirtual java.lang.ThreadLocal.get:()Ljava/lang/Object;
checkcast java.util.Deque
astore 3
start local 3 1: aload 3
invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.util.Pair
astore 4
start local 4 2: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 3
aload 4
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lload 1
lcmp
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: java.util.Deque com.oracle.truffle.js.runtime.util.Pair
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSRealm:Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTruffleContext:()Lcom/oracle/truffle/api/TruffleContext;
aconst_null
aload 4
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
invokevirtual com.oracle.truffle.api.TruffleContext.leave:(Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;)V
4: aload 3
invokeinterface java.util.Deque.isEmpty:()Z
ifeq 7
5: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
aconst_null
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.setThread:(Ljava/lang/Thread;)V
6: lconst_0
lreturn
7: StackMap locals:
StackMap stack:
aload 3
invokeinterface java.util.Deque.peekLast:()Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.util.Pair
invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lreturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 isolate J
1 8 3 list Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/Long;Ljava/lang/Object;>;>;
2 8 4 pair Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/Long;Ljava/lang/Object;>;
MethodParameters:
Name Flags
isolate
public void isolateEnqueueMicrotask(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.agent:Lcom/oracle/truffle/trufflenode/NodeJSAgent;
aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.NodeJSAgent.enqueuePromiseJob:(Lcom/oracle/truffle/api/object/DynamicObject;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 microtask Ljava/lang/Object;
MethodParameters:
Name Flags
microtask
public void isolateSchedulePauseOnNextStatement();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aconst_null
invokestatic com.oracle.truffle.api.debug.Breakpoint.newBuilder:(Ljava/net/URI;)Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.oneShot:()Lcom/oracle/truffle/api/debug/Breakpoint$Builder;
invokevirtual com.oracle.truffle.api.debug.Breakpoint$Builder.build:()Lcom/oracle/truffle/api/debug/Breakpoint;
astore 1
start local 1 1: aload 0
ldc "debugger"
ldc Lcom/oracle/truffle/api/debug/Debugger;
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.lookupInstrument:(Ljava/lang/String;Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.debug.Debugger
astore 2
start local 2 2: aload 2
aload 1
invokevirtual com.oracle.truffle.api.debug.Debugger.install:(Lcom/oracle/truffle/api/debug/Breakpoint;)Lcom/oracle/truffle/api/debug/Breakpoint;
pop
3: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
1 4 1 breakpoint Lcom/oracle/truffle/api/debug/Breakpoint;
2 4 2 debugger Lcom/oracle/truffle/api/debug/Debugger;
public java.lang.Object correctReturnValue(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.INT_PLACEHOLDER:Ljava/lang/Object;
if_acmpne 3
1: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
2: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getSharedBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getInt:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
areturn
3: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.SAFE_INT_PLACEHOLDER:Ljava/lang/Object;
if_acmpne 6
4: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
5: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getSharedBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getLong:()J
invokestatic com.oracle.truffle.js.runtime.SafeInteger.valueOf:(J)Lcom/oracle/truffle/js/runtime/SafeInteger;
areturn
6: StackMap locals:
StackMap stack:
aload 1
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.DOUBLE_PLACEHOLDER:Ljava/lang/Object;
if_acmpne 9
7: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
8: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getSharedBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getDouble:()D
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
areturn
9: StackMap locals:
StackMap stack:
aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 value Ljava/lang/Object;
MethodParameters:
Name Flags
value
public void stringExternalResourceCallback(java.lang.Object, long, long);
descriptor: (Ljava/lang/Object;JJ)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 4 0: new com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
dup
aload 1
lload 2
lload 4
iconst_1
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbackQueue:Ljava/lang/ref/ReferenceQueue;
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback.<init>:(Ljava/lang/Object;JJILjava/lang/ref/ReferenceQueue;)V
astore 6
start local 6 1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.weakCallbacks:Ljava/util/Set;
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
2: aload 0
iconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.pollWeakCallbackQueue:(Z)V
3: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 object Ljava/lang/Object;
0 4 2 data J
0 4 4 callbackPointer J
1 4 6 weakCallback Lcom/oracle/truffle/trufflenode/GraalJSAccess$WeakCallback;
MethodParameters:
Name Flags
object
data
callbackPointer
public java.lang.Object proxyGetTarget(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getTarget:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 proxy Ljava/lang/Object;
MethodParameters:
Name Flags
proxy
public java.lang.Object proxyGetHandler(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSProxy.getHandler:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 proxy Ljava/lang/Object;
MethodParameters:
Name Flags
proxy
public boolean proxyIsFunction(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.JSRuntime.isCallableProxy:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 proxy Ljava/lang/Object;
MethodParameters:
Name Flags
proxy
public java.lang.Object booleanObjectNew(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
iload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.create:(Lcom/oracle/truffle/js/runtime/JSContext;Z)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 value Z
MethodParameters:
Name Flags
context
value
public boolean booleanObjectValueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSBoolean.valueOf:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.Object stringObjectNew(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
aload 2
checkcast java.lang.String
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/CharSequence;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
context
value
public java.lang.String stringObjectValueOf(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSString.getString:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 object Ljava/lang/Object;
MethodParameters:
Name Flags
object
public java.lang.Object numberObjectNew(java.lang.Object, double);
descriptor: (Ljava/lang/Object;D)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
dload 2
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
invokestatic com.oracle.truffle.js.runtime.builtins.JSNumber.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Number;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 value D
MethodParameters:
Name Flags
context
value
private static java.lang.String regexpFlagsToString(int);
descriptor: (I)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: iload 0
iconst_1
iand
ifeq 4
2: aload 1
bipush 103
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
3: goto 18
StackMap locals: java.lang.StringBuilder
StackMap stack:
4: iload 0
iconst_2
iand
ifeq 7
5: aload 1
bipush 105
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
6: goto 18
StackMap locals:
StackMap stack:
7: iload 0
iconst_4
iand
ifeq 10
8: aload 1
bipush 109
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
9: goto 18
StackMap locals:
StackMap stack:
10: iload 0
bipush 8
iand
ifeq 13
11: aload 1
bipush 121
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
12: goto 18
StackMap locals:
StackMap stack:
13: iload 0
bipush 16
iand
ifeq 16
14: aload 1
bipush 117
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
15: goto 18
StackMap locals:
StackMap stack:
16: iload 0
bipush 32
iand
ifeq 18
17: aload 1
bipush 115
invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
pop
18: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 flags I
1 19 1 builder Ljava/lang/StringBuilder;
MethodParameters:
Name Flags
flags
public java.lang.Object regexpNew(java.lang.Object, java.lang.Object, int);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;I)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 1: aload 4
aload 2
checkcast java.lang.String
iload 3
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpCreate:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;I)Ljava/lang/Object;
areturn
end local 4 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/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
0 2 2 pattern Ljava/lang/Object;
0 2 3 flags I
1 2 4 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
pattern
flags
public static java.lang.Object regexpCreate(com.oracle.truffle.js.runtime.JSContext, java.lang.String, int);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;I)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iload 2
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpFlagsToString:(I)Ljava/lang/String;
aload 0
invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$CompileRegexNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$CompileRegexNode;
invokestatic com.oracle.truffle.js.runtime.RegexCompilerInterface.compile:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/util/TRegexUtil$CompileRegexNode;)Ljava/lang/Object;
astore 3
start local 3 1: aload 0
aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.create:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 2 1 pattern Ljava/lang/String;
0 2 2 v8Flags I
1 2 3 compiledRegexp Ljava/lang/Object;
MethodParameters:
Name Flags
context
pattern
v8Flags
public java.lang.String regexpGetSource(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpPattern:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 regexp Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
regexp
public static java.lang.String regexpPattern(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 1
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.isJSRegExp:(Ljava/lang/Object;)Z
ifne 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.getCompiledRegex:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 1
start local 1 2: invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadStringMemberNode;
aload 1
ldc "pattern"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 regexp Lcom/oracle/truffle/api/object/DynamicObject;
2 3 1 compiledRegex Ljava/lang/Object;
MethodParameters:
Name Flags
regexp
public int regexpGetFlags(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.regexpV8Flags:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 regexp Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
regexp
public static int regexpV8Flags(com.oracle.truffle.api.object.DynamicObject);
descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSRegExp.getCompiledRegex:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/Object;
astore 1
start local 1 1: invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadMemberNode;
aload 1
ldc "flags"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;
astore 2
start local 2 2: iconst_0
istore 3
start local 3 3: invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
aload 2
ldc "global"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 5
4: iload 3
iconst_1
ior
istore 3
5: StackMap locals: java.lang.Object java.lang.Object int
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
aload 2
ldc "ignoreCase"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 7
6: iload 3
iconst_2
ior
istore 3
7: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
aload 2
ldc "multiline"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 9
8: iload 3
iconst_4
ior
istore 3
9: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
aload 2
ldc "sticky"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 11
10: iload 3
bipush 8
ior
istore 3
11: StackMap locals:
StackMap stack:
invokestatic com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.getUncached:()Lcom/oracle/truffle/js/runtime/util/TRegexUtil$InteropReadBooleanMemberNode;
aload 2
ldc "unicode"
invokevirtual com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode.execute:(Ljava/lang/Object;Ljava/lang/String;)Z
ifeq 13
12: iload 3
bipush 16
ior
istore 3
13: StackMap locals:
StackMap stack:
iload 3
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 regexp Lcom/oracle/truffle/api/object/DynamicObject;
1 14 1 compiledRegex Ljava/lang/Object;
2 14 2 flagsObj Ljava/lang/Object;
3 14 3 v8Flags I
MethodParameters:
Name Flags
regexp
public java.lang.Object[] findDynamicObjectFields(java.lang.Object);
descriptor: (Ljava/lang/Object;)[Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.js.runtime.JSConfig.SubstrateVM:Z
ifne 7
1: aload 0
aload 1
iconst_4
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.arrayBufferNew:(Ljava/lang/Object;I)Ljava/lang/Object;
astore 2
start local 2 2: aload 0
aload 2
iconst_2
iconst_1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.uint8ArrayNew:(Ljava/lang/Object;II)Ljava/lang/Object;
astore 3
start local 3 3: iconst_2
anewarray java.lang.Object
dup
iconst_0
4: aload 2
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "byteBuffer"
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.findDeclaredField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
aastore
dup
iconst_1
5: aload 3
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
ldc "arrayBuffer"
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.findDeclaredField:(Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
aastore
6: areturn
end local 3 end local 2 7: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 context Ljava/lang/Object;
2 7 2 arrayBuffer Ljava/lang/Object;
3 7 3 typedArray Ljava/lang/Object;
MethodParameters:
Name Flags
context
private static java.lang.reflect.Field findDeclaredField(java.lang.Class<?>, java.lang.String);
descriptor: (Ljava/lang/Class;Ljava/lang/String;)Ljava/lang/reflect/Field;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
astore 2
start local 2 1: goto 9
2: StackMap locals: java.lang.Class
StackMap stack:
aload 2
aload 1
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
3: areturn
4: StackMap locals:
StackMap stack: java.lang.NoSuchFieldException
pop
5: goto 8
6: StackMap locals:
StackMap stack: java.lang.SecurityException
pop
7: goto 10
8: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.lang.Class.getSuperclass:()Ljava/lang/Class;
astore 2
StackMap locals:
StackMap stack:
9: aload 2
ifnull 10
aload 2
ldc Ljava/lang/Object;
if_acmpne 2
end local 2 10: StackMap locals:
StackMap stack:
aconst_null
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 bottom Ljava/lang/Class<*>;
0 11 1 fieldName Ljava/lang/String;
1 10 2 cls Ljava/lang/Class<*>;
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldException
2 3 6 Class java.lang.SecurityException
Signature: (Ljava/lang/Class<*>;Ljava/lang/String;)Ljava/lang/reflect/Field;
MethodParameters:
Name Flags
bottom
fieldName
public java.lang.Object jsonParse(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: new com.oracle.truffle.js.builtins.helper.TruffleJSONParser
dup
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokespecial com.oracle.truffle.js.builtins.helper.TruffleJSONParser.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 3
start local 3 1: aload 3
aload 2
checkcast java.lang.String
invokevirtual com.oracle.truffle.js.builtins.helper.TruffleJSONParser.parse:(Ljava/lang/String;)Ljava/lang/Object;
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/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
0 2 2 string Ljava/lang/Object;
1 2 3 parser Lcom/oracle/truffle/js/builtins/helper/TruffleJSONParser;
MethodParameters:
Name Flags
context
string
public java.lang.String jsonStringify(java.lang.Object, java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
getstatic com.oracle.truffle.js.builtins.JSONBuiltins.BUILTINS:Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;
ldc "stringify"
invokevirtual com.oracle.truffle.js.runtime.JSRealm.lookupFunction:(Lcom/oracle/truffle/js/builtins/JSBuiltinsContainer;Ljava/lang/String;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 4
start local 4 1: aload 4
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
iconst_3
anewarray java.lang.Object
dup
iconst_0
2: aload 2
aastore
dup
iconst_1
3: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aastore
dup
iconst_2
4: aload 3
ifnonnull 5
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
goto 6
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object java.lang.String com.oracle.truffle.api.object.DynamicObject
StackMap stack: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.JSDynamicObject java.lang.Object[] java.lang.Object[] int
5: aload 3
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object java.lang.String com.oracle.truffle.api.object.DynamicObject
StackMap stack: com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.objects.JSDynamicObject java.lang.Object[] java.lang.Object[] int java.lang.Object
6: aastore
7: invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.String
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 context Ljava/lang/Object;
0 8 2 object Ljava/lang/Object;
0 8 3 gap Ljava/lang/String;
1 8 4 stringify Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
object
gap
public java.lang.Object promiseResult(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.js.runtime.builtins.JSPromise.PROMISE_RESULT:Lcom/oracle/truffle/api/object/HiddenKey;
invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.getHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 promise Ljava/lang/Object;
MethodParameters:
Name Flags
promise
public int promiseState(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
invokestatic com.oracle.truffle.js.runtime.builtins.JSPromise.getPromiseState:(Lcom/oracle/truffle/api/object/DynamicObject;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 promise Ljava/lang/Object;
MethodParameters:
Name Flags
promise
public java.lang.Object promiseResolverNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getResolverFactory:(Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 2
start local 2 1: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 2
iconst_2
anewarray java.lang.Object
dup
iconst_0
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_RESOLVE:Lcom/oracle/truffle/js/runtime/Symbol;
aastore
dup
iconst_1
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_REJECT:Lcom/oracle/truffle/js/runtime/Symbol;
aastore
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:([Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
1 2 2 resolverFactory Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
context
private com.oracle.truffle.api.object.DynamicObject getResolverFactory(java.lang.Object);
descriptor: (Ljava/lang/Object;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.getRealmEmbedderData:(Ljava/lang/Object;)Lcom/oracle/truffle/trufflenode/RealmData;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.trufflenode.RealmData.getResolverFactory:()Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
start local 3 2: aload 3
ifnonnull 5
3: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.createResolverFactory:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
astore 3
4: aload 2
aload 3
invokevirtual com.oracle.truffle.trufflenode.RealmData.setResolverFactory:(Lcom/oracle/truffle/api/object/DynamicObject;)V
5: StackMap locals: com.oracle.truffle.trufflenode.RealmData com.oracle.truffle.api.object.DynamicObject
StackMap stack:
aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 realm Ljava/lang/Object;
1 6 2 data Lcom/oracle/truffle/trufflenode/RealmData;
2 6 3 resolverFactory Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
realm
private com.oracle.truffle.api.object.DynamicObject createResolverFactory(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/object/DynamicObject;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
checkcast com.oracle.truffle.js.parser.JSParser
astore 3
start local 3 2: ldc "(function(resolveKey, rejectKey) {\n var resolve, reject;\n var promise = new Promise(function() {\n resolve = arguments[0];\n reject = arguments[1];\n });\n Object.defineProperty(promise, resolveKey, { value : resolve });\n Object.defineProperty(promise, rejectKey, { value : reject });\n return promise;\n})"
astore 4
start local 4 3: aload 3
aload 2
aload 4
invokeinterface com.oracle.truffle.js.parser.JSParser.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 5
start local 5 4: aload 5
aload 1
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:(Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
checkcast com.oracle.truffle.api.object.DynamicObject
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 5 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
1 5 2 context Lcom/oracle/truffle/js/runtime/JSContext;
2 5 3 parser Lcom/oracle/truffle/js/parser/JSParser;
3 5 4 code Ljava/lang/String;
4 5 5 scriptNode Lcom/oracle/truffle/js/nodes/ScriptNode;
MethodParameters:
Name Flags
realm
public boolean promiseResolverResolve(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_RESOLVE:Lcom/oracle/truffle/js/runtime/Symbol;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iconst_1
ireturn
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/trufflenode/GraalJSAccess;
0 3 1 resolver Ljava/lang/Object;
0 3 2 value Ljava/lang/Object;
1 3 3 resolve Ljava/lang/Object;
MethodParameters:
Name Flags
resolver
value
public boolean promiseResolverReject(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.RESOLVER_REJECT:Lcom/oracle/truffle/js/runtime/Symbol;
invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 1: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
aload 3
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 2
aastore
invokestatic com.oracle.truffle.js.runtime.JSArguments.create:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:([Ljava/lang/Object;)Ljava/lang/Object;
pop
2: iconst_1
ireturn
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/trufflenode/GraalJSAccess;
0 3 1 resolver Ljava/lang/Object;
0 3 2 value Ljava/lang/Object;
1 3 3 reject Ljava/lang/Object;
MethodParameters:
Name Flags
resolver
value
private com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader getModuleLoader();
descriptor: ()Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.moduleLoader:Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
ifnonnull 2
1: aload 0
new com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader
dup
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader.<init>:()V
putfield com.oracle.truffle.trufflenode.GraalJSAccess.moduleLoader:Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.moduleLoader:Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public java.lang.Object moduleCompile(java.lang.Object, java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 5
start local 5 1: aload 5
invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
astore 6
start local 6 2: aload 3
checkcast java.lang.String
astore 7
start local 7 3: ldc "js"
aload 2
checkcast java.lang.String
aload 7
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
astore 8
start local 8 4: aload 8
new java.net.URI
dup
aload 7
invokespecial java.net.URI.<init>:(Ljava/lang/String;)V
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.uri:(Ljava/net/URI;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
astore 8
5: goto 7
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object java.lang.Object java.lang.Object com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.NodeFactory java.lang.String com.oracle.truffle.api.source.Source$LiteralBuilder
StackMap stack: java.net.URISyntaxException
6: pop
7: StackMap locals:
StackMap stack:
aload 8
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 9
start local 9 8: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.hostDefinedOptionsMap:Ljava/util/Map;
aload 9
aload 4
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
9: aload 6
aload 5
aload 9
aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getModuleLoader:()Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateModule:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
areturn
end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 context Ljava/lang/Object;
0 10 2 sourceCode Ljava/lang/Object;
0 10 3 name Ljava/lang/Object;
0 10 4 hostDefinedOptions Ljava/lang/Object;
1 10 5 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
2 10 6 factory Lcom/oracle/truffle/js/nodes/NodeFactory;
3 10 7 moduleName Ljava/lang/String;
4 10 8 builder Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
8 10 9 source Lcom/oracle/truffle/api/source/Source;
Exception table:
from to target type
4 5 6 Class java.net.URISyntaxException
MethodParameters:
Name Flags
context
sourceCode
name
hostDefinedOptions
public void moduleInstantiate(java.lang.Object, java.lang.Object, long);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 5
start local 5 1: aload 5
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 6
start local 6 2: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getModuleLoader:()Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
astore 7
start local 7 3: aload 7
lload 3
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader.setResolver:(J)V
4: aload 6
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
aload 5
aload 2
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
invokeinterface com.oracle.truffle.js.runtime.Evaluator.moduleInstantiation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
5: goto 9
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.lang.Object long com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader
StackMap stack: java.lang.Throwable
6: astore 8
7: aload 7
lconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader.setResolver:(J)V
8: aload 8
athrow
9: StackMap locals:
StackMap stack:
aload 7
lconst_0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader.setResolver:(J)V
10: return
end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 11 1 context Ljava/lang/Object;
0 11 2 module Ljava/lang/Object;
0 11 3 resolveCallback J
1 11 5 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
2 11 6 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
3 11 7 loader Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
Exception table:
from to target type
4 6 6 any
MethodParameters:
Name Flags
context
module
resolveCallback
public java.lang.Object moduleEvaluate(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 2: aload 2
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 5
start local 5 3: aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isEvaluated:()Z
ifeq 5
aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
ifnonnull 5
4: getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
areturn
5: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.objects.JSModuleRecord
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
aload 3
aload 5
invokeinterface com.oracle.truffle.js.runtime.Evaluator.moduleEvaluation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/lang/Object;
pop
6: aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
astore 6
start local 6 7: aload 6
ifnonnull 9
8: aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getExecutionResult:()Ljava/lang/Object;
areturn
9: StackMap locals: java.lang.Throwable
StackMap stack:
aload 6
invokestatic com.oracle.truffle.js.runtime.JSRuntime.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 context Ljava/lang/Object;
0 10 2 module Ljava/lang/Object;
1 10 3 jsRealm Lcom/oracle/truffle/js/runtime/JSRealm;
2 10 4 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
3 10 5 moduleRecord Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
7 10 6 evaluationError Ljava/lang/Throwable;
MethodParameters:
Name Flags
context
module
public int moduleGetStatus(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 2
start local 2 1: invokestatic com.oracle.truffle.trufflenode.GraalJSAccess.$SWITCH_TABLE$com$oracle$truffle$js$runtime$objects$JSModuleRecord$Status:()[I
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getStatus:()Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iaload
tableswitch { // 1 - 5
1: 2
2: 3
3: 4
4: 5
5: 6
default: 6
}
2: StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord
StackMap stack:
iconst_0
ireturn
3: StackMap locals:
StackMap stack:
iconst_1
ireturn
4: StackMap locals:
StackMap stack:
iconst_2
ireturn
5: StackMap locals:
StackMap stack:
iconst_3
ireturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 7
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getStatus:()Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Evaluated:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
if_acmpeq 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
ifnonnull 9
8: iconst_4
ireturn
9: StackMap locals:
StackMap stack:
iconst_5
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 10 1 module Ljava/lang/Object;
1 10 2 record Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
MethodParameters:
Name Flags
module
public java.lang.Object moduleGetException(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
astore 3
start local 3 2: aload 3
instanceof com.oracle.truffle.js.runtime.GraalJSException
ifeq 4
3: aload 3
checkcast com.oracle.truffle.js.runtime.GraalJSException
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getErrorObjectEager:(Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
areturn
4: StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Throwable
StackMap stack:
aload 3
areturn
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/trufflenode/GraalJSAccess;
0 5 1 module Ljava/lang/Object;
1 5 2 record Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
2 5 3 evaluationError Ljava/lang/Throwable;
MethodParameters:
Name Flags
module
public int moduleGetRequestsLength(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Module
invokevirtual com.oracle.js.parser.ir.Module.getRequestedModules:()Ljava/util/List;
invokeinterface java.util.List.size:()I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 module Ljava/lang/Object;
1 2 2 record Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
MethodParameters:
Name Flags
module
public java.lang.String moduleGetRequest(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 3
start local 3 1: aload 3
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
checkcast com.oracle.js.parser.ir.Module
invokevirtual com.oracle.js.parser.ir.Module.getRequestedModules:()Ljava/util/List;
iload 2
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast java.lang.String
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/trufflenode/GraalJSAccess;
0 2 1 module Ljava/lang/Object;
0 2 2 index I
1 2 3 record Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
MethodParameters:
Name Flags
module
index
public java.lang.Object moduleGetNamespace(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
checkcast com.oracle.truffle.js.parser.GraalJSEvaluator
astore 3
start local 3 2: aload 3
aload 2
invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.getModuleNamespace:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
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/trufflenode/GraalJSAccess;
0 3 1 module Ljava/lang/Object;
1 3 2 record Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
2 3 3 graalEvaluator Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
MethodParameters:
Name Flags
module
public int moduleGetIdentityHash(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.lang.System.identityHashCode:(Ljava/lang/Object;)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 module Ljava/lang/Object;
MethodParameters:
Name Flags
module
public java.lang.Object moduleCreateSyntheticModule(java.lang.String, java.lang.Object[], long);
descriptor: (Ljava/lang/String;[Ljava/lang/Object;J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=13, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new com.oracle.truffle.api.frame.FrameDescriptor
dup
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokespecial com.oracle.truffle.api.frame.FrameDescriptor.<init>:(Ljava/lang/Object;)V
astore 5
start local 5 1: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 6
start local 6 2: aload 2
dup
astore 10
arraylength
istore 9
iconst_0
istore 8
goto 7
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.String java.lang.Object[] long com.oracle.truffle.api.frame.FrameDescriptor java.util.List top int int java.lang.Object[]
StackMap stack:
3: aload 10
iload 8
aaload
astore 7
start local 7 4: aload 5
aload 7
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.addFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
pop
5: aload 6
aload 7
checkcast java.lang.String
invokestatic com.oracle.js.parser.ir.Module$ExportEntry.exportSpecifier:(Ljava/lang/String;)Lcom/oracle/js/parser/ir/Module$ExportEntry;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 7 6: iinc 8 1
StackMap locals:
StackMap stack:
7: iload 8
iload 9
if_icmplt 3
8: new com.oracle.js.parser.ir.Module
dup
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aload 6
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
aconst_null
aconst_null
invokespecial com.oracle.js.parser.ir.Module.<init>:(Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;Ljava/util/List;)V
astore 7
start local 7 9: ldc "js"
ldc "<unavailable>"
aload 1
invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/lang/CharSequence;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$LiteralBuilder;
invokevirtual com.oracle.truffle.api.source.Source$LiteralBuilder.build:()Lcom/oracle/truffle/api/source/Source;
astore 8
start local 8 10: new com.oracle.truffle.js.runtime.objects.JSModuleRecord
dup
aload 7
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.getModuleLoader:()Lcom/oracle/truffle/trufflenode/GraalJSAccess$ESModuleLoader;
aload 8
invokespecial com.oracle.truffle.js.runtime.objects.JSModuleRecord.<init>:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;Lcom/oracle/truffle/api/source/Source;)V
astore 9
start local 9 11: aload 9
aload 5
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setFrameDescriptor:(Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
12: new com.oracle.truffle.trufflenode.GraalJSAccess$12
dup
aload 0
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
aload 8
invokevirtual com.oracle.truffle.api.source.Source.createUnavailableSection:()Lcom/oracle/truffle/api/source/SourceSection;
aload 5
lload 3
invokespecial com.oracle.truffle.trufflenode.GraalJSAccess$12.<init>:(Lcom/oracle/truffle/trufflenode/GraalJSAccess;Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;J)V
astore 10
start local 10 13: invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
aload 10
invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
astore 11
start local 11 14: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 11
iconst_0
aload 1
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunctionData.createCallOnly:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/CallTarget;ILjava/lang/String;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
astore 12
start local 12 15: aload 9
aload 12
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setFunctionData:(Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
16: aload 9
areturn
end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 17 1 moduleName Ljava/lang/String;
0 17 2 exportNames [Ljava/lang/Object;
0 17 3 evaluationStepsCallback J
1 17 5 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
2 17 6 localExportEntries Ljava/util/List<Lcom/oracle/js/parser/ir/Module$ExportEntry;>;
4 6 7 exportName Ljava/lang/Object;
9 17 7 moduleNode Lcom/oracle/js/parser/ir/Module;
10 17 8 source Lcom/oracle/truffle/api/source/Source;
11 17 9 moduleRecord Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
13 17 10 rootNode Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;
14 17 11 callTarget Lcom/oracle/truffle/api/CallTarget;
15 17 12 functionData Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
MethodParameters:
Name Flags
moduleName
exportNames
evaluationStepsCallback final
public void moduleSetSyntheticModuleExport(java.lang.Object, java.lang.String, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 4
start local 4 1: aload 4
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
astore 5
start local 5 2: aload 5
aload 2
invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
astore 6
start local 6 3: aload 6
ifnonnull 5
4: new java.lang.StringBuilder
dup
ldc "Export '"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "' is not defined in module"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.truffle.js.runtime.Errors.createReferenceError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
athrow
5: StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.api.frame.FrameDescriptor com.oracle.truffle.api.frame.FrameSlot
StackMap stack:
aload 4
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEnvironment:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
astore 7
start local 7 6: aload 7
aload 6
aload 3
invokeinterface com.oracle.truffle.api.frame.MaterializedFrame.setObject:(Lcom/oracle/truffle/api/frame/FrameSlot;Ljava/lang/Object;)V
7: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 8 1 module Ljava/lang/Object;
0 8 2 exportName Ljava/lang/String;
0 8 3 exportValue Ljava/lang/Object;
1 8 4 moduleRecord Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
2 8 5 frameDescriptor Lcom/oracle/truffle/api/frame/FrameDescriptor;
3 8 6 frameSlot Lcom/oracle/truffle/api/frame/FrameSlot;
6 8 7 frame Lcom/oracle/truffle/api/frame/MaterializedFrame;
MethodParameters:
Name Flags
module
exportName
exportValue
public java.lang.Object moduleGetUnboundModuleScript(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
astore 2
start local 2 1: new com.oracle.truffle.trufflenode.info.UnboundScript
dup
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getSource:()Lcom/oracle/truffle/api/source/Source;
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.DUMMY_UNBOUND_MODULE_PARSE_RESULT:Ljava/nio/ByteBuffer;
invokespecial com.oracle.truffle.trufflenode.info.UnboundScript.<init>:(Lcom/oracle/truffle/api/source/Source;Ljava/lang/Object;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 module Ljava/lang/Object;
1 2 2 moduleRecord Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
MethodParameters:
Name Flags
module
public java.lang.String scriptOrModuleGetResourceName(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.ScriptOrModule
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.ScriptOrModule.getSource:()Lcom/oracle/truffle/api/source/Source;
invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 scriptOrModule Ljava/lang/Object;
1 2 2 record Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;
MethodParameters:
Name Flags
scriptOrModule
public java.lang.Object scriptOrModuleGetHostDefinedOptions(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.objects.ScriptOrModule
astore 2
start local 2 1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.hostDefinedOptionsMap:Ljava/util/Map;
aload 2
invokevirtual com.oracle.truffle.js.runtime.objects.ScriptOrModule.getSource:()Lcom/oracle/truffle/api/source/Source;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
astore 3
start local 3 2: aload 3
ifnonnull 3
iconst_0
anewarray java.lang.Object
goto 4
StackMap locals: com.oracle.truffle.js.runtime.objects.ScriptOrModule java.lang.Object
StackMap stack:
3: aload 3
StackMap locals:
StackMap stack: java.lang.Object
4: areturn
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/trufflenode/GraalJSAccess;
0 5 1 scriptOrModule Ljava/lang/Object;
1 5 2 record Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;
2 5 3 hostDefinedOptions Ljava/lang/Object;
MethodParameters:
Name Flags
scriptOrModule
public java.lang.Object valueSerializerNew(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: new com.oracle.truffle.trufflenode.serialization.Serializer
dup
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.mainJSContext:Lcom/oracle/truffle/js/runtime/JSContext;
aload 0
lload 1
invokespecial com.oracle.truffle.trufflenode.serialization.Serializer.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/trufflenode/GraalJSAccess;J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 delegatePointer J
MethodParameters:
Name Flags
delegatePointer
public int valueSerializerSize(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.size:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 serializer Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
public void valueSerializerRelease(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
aload 2
checkcast java.nio.ByteBuffer
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.release:(Ljava/nio/ByteBuffer;)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 targetBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
targetBuffer
public void (java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeHeader:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
public void valueSerializerWriteValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
aload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeValue:(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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
value
public void valueSerializerWriteUint32(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
iload 2
invokestatic java.lang.Integer.toUnsignedLong:(I)J
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 value I
MethodParameters:
Name Flags
serializer
value
public void valueSerializerWriteUint64(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
lload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeVarInt:(J)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 value J
MethodParameters:
Name Flags
serializer
value
public void valueSerializerWriteDouble(java.lang.Object, double);
descriptor: (Ljava/lang/Object;D)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
dload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeDouble:(D)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 value D
MethodParameters:
Name Flags
serializer
value
public void valueSerializerWriteRawBytes(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
aload 2
checkcast java.nio.ByteBuffer
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.writeBytes:(Ljava/nio/ByteBuffer;)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 bytes Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
bytes
public void valueSerializerSetTreatArrayBufferViewsAsHostObjects(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
iload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.setTreatArrayBufferViewsAsHostObjects:(Z)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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 treatArrayBufferViewsAsHostObjects Z
MethodParameters:
Name Flags
serializer
treatArrayBufferViewsAsHostObjects
public void valueSerializerTransferArrayBuffer(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Serializer
iload 2
aload 3
invokevirtual com.oracle.truffle.trufflenode.serialization.Serializer.transferArrayBuffer:(ILjava/lang/Object;)V
1: return
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/trufflenode/GraalJSAccess;
0 2 1 serializer Ljava/lang/Object;
0 2 2 id I
0 2 3 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
serializer
id
arrayBuffer
public java.lang.Object valueDeserializerNew(long, java.lang.Object);
descriptor: (JLjava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: new com.oracle.truffle.trufflenode.serialization.Deserializer
dup
lload 1
aload 3
checkcast java.nio.ByteBuffer
invokespecial com.oracle.truffle.trufflenode.serialization.Deserializer.<init>:(JLjava/nio/ByteBuffer;)V
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 delegate J
0 1 3 buffer Ljava/lang/Object;
MethodParameters:
Name Flags
delegate
buffer
public void (java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readHeader:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
public java.lang.Object valueDeserializerReadValue(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readValue:(Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 context Ljava/lang/Object;
0 1 2 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
context
deserializer
public int valueDeserializerReadUint32(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readVarInt:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
public long valueDeserializerReadUint64(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readVarLong:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
public double valueDeserializerReadDouble(java.lang.Object);
descriptor: (Ljava/lang/Object;)D
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readDouble:()D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
public int valueDeserializerReadRawBytes(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
iload 2
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.readBytes:(I)I
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 deserializer Ljava/lang/Object;
0 1 2 length I
MethodParameters:
Name Flags
deserializer
length
public void valueDeserializerTransferArrayBuffer(java.lang.Object, int, java.lang.Object);
descriptor: (Ljava/lang/Object;ILjava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
iload 2
aload 3
checkcast com.oracle.truffle.api.object.DynamicObject
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.transferArrayBuffer:(ILcom/oracle/truffle/api/object/DynamicObject;)V
1: return
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/trufflenode/GraalJSAccess;
0 2 1 deserializer Ljava/lang/Object;
0 2 2 id I
0 2 3 arrayBuffer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
id
arrayBuffer
public int valueDeserializerGetWireFormatVersion(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.trufflenode.serialization.Deserializer
invokevirtual com.oracle.truffle.trufflenode.serialization.Deserializer.getWireFormatVersion:()I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 deserializer Ljava/lang/Object;
MethodParameters:
Name Flags
deserializer
public java.lang.Object mapNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
1 2 2 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public void mapSet(java.lang.Object, java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 4
start local 4 1: aload 4
invokestatic com.oracle.truffle.js.runtime.builtins.JSMap.getInternalMap:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/JSHashMap;
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.normalize:(Ljava/lang/Object;)Ljava/lang/Object;
aload 3
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.put:(Ljava/lang/Object;Ljava/lang/Object;)V
2: return
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/trufflenode/GraalJSAccess;
0 3 1 set Ljava/lang/Object;
0 3 2 key Ljava/lang/Object;
0 3 3 value Ljava/lang/Object;
1 3 4 object Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
set
key
value
public java.lang.Object setNew(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 1: aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 2 1 context Ljava/lang/Object;
1 2 2 jsContext Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
context
public void setAdd(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
checkcast com.oracle.truffle.api.object.DynamicObject
astore 3
start local 3 1: aload 3
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.getInternalSet:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/util/JSHashMap;
aload 2
invokestatic com.oracle.truffle.js.runtime.builtins.JSSet.normalize:(Ljava/lang/Object;)Ljava/lang/Object;
new java.lang.Object
dup
invokespecial java.lang.Object.<init>:()V
invokevirtual com.oracle.truffle.js.runtime.util.JSHashMap.put:(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 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 3 1 set Ljava/lang/Object;
0 3 2 key Ljava/lang/Object;
1 3 3 object Lcom/oracle/truffle/api/object/DynamicObject;
MethodParameters:
Name Flags
set
key
public long bigIntInt64Value(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.js.runtime.BigInt.bigIntegerValue:()Ljava/math/BigInteger;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 2
invokevirtual java.math.BigInteger.bitLength:()I
bipush 63
if_icmpgt 3
iconst_1
goto 4
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: java.nio.ByteBuffer
3: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: java.nio.ByteBuffer int
4: invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
5: aload 2
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 value Ljava/lang/Object;
1 6 2 bigInt Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public long bigIntUint64Value(java.lang.Object);
descriptor: (Ljava/lang/Object;)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.js.runtime.BigInt.bigIntegerValue:()Ljava/math/BigInteger;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 2
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpeq 3
aload 2
invokevirtual java.math.BigInteger.bitLength:()I
bipush 64
if_icmpgt 3
iconst_1
goto 4
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: java.nio.ByteBuffer
3: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: java.nio.ByteBuffer int
4: invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
5: aload 2
invokevirtual java.math.BigInteger.longValue:()J
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 value Ljava/lang/Object;
1 6 2 bigInt Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public java.lang.Object bigIntNew(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: lload 1
invokestatic com.oracle.truffle.js.runtime.BigInt.valueOf:(J)Lcom/oracle/truffle/js/runtime/BigInt;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 1 1 value J
MethodParameters:
Name Flags
value
public java.lang.Object bigIntNewFromUnsigned(long);
descriptor: (J)Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 1 0: lload 1
ldc 9223372036854775807
land
invokestatic java.math.BigInteger.valueOf:(J)Ljava/math/BigInteger;
astore 3
start local 3 1: lload 1
lconst_0
lcmp
ifge 3
2: aload 3
bipush 63
invokevirtual java.math.BigInteger.setBit:(I)Ljava/math/BigInteger;
astore 3
3: StackMap locals: java.math.BigInteger
StackMap stack:
new com.oracle.truffle.js.runtime.BigInt
dup
aload 3
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 value J
1 4 3 bigInt Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public java.lang.Object bigIntNewFromWords();
descriptor: ()Ljava/lang/Object;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
1: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 1
start local 1 2: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 2
start local 2 3: getstatic java.math.BigInteger.ZERO:Ljava/math/BigInteger;
astore 3
start local 3 4: iconst_0
istore 4
start local 4 5: goto 14
6: StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess int int java.math.BigInteger int
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.getLong:()J
lstore 5
start local 5 7: iconst_0
istore 7
start local 7 8: goto 12
9: StackMap locals: long int
StackMap stack:
lload 5
lconst_1
iload 7
lshl
land
lconst_0
lcmp
ifeq 11
10: aload 3
iload 7
bipush 64
iload 4
imul
iadd
invokevirtual java.math.BigInteger.setBit:(I)Ljava/math/BigInteger;
astore 3
11: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
12: iload 7
bipush 64
if_icmplt 9
end local 7 end local 5 13: iinc 4 1
StackMap locals:
StackMap stack:
14: iload 4
iload 2
if_icmplt 6
end local 4 15: iload 1
ifeq 17
16: aload 3
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
astore 3
17: StackMap locals:
StackMap stack:
new com.oracle.truffle.js.runtime.BigInt
dup
aload 3
invokespecial com.oracle.truffle.js.runtime.BigInt.<init>:(Ljava/math/BigInteger;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
2 18 1 sign I
3 18 2 count I
4 18 3 result Ljava/math/BigInteger;
5 15 4 wordIdx I
7 13 5 word J
8 13 7 bit I
public int bigIntWordCount(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.js.runtime.BigInt.bigIntegerValue:()Ljava/math/BigInteger;
astore 2
start local 2 1: aload 2
invokevirtual java.math.BigInteger.bitLength:()I
aload 2
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 2
iconst_1
goto 3
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: int
2: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger
StackMap stack: int int
3: iadd
bipush 63
iadd
bipush 64
idiv
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 4 1 value Ljava/lang/Object;
1 4 2 bigInt Ljava/math/BigInteger;
MethodParameters:
Name Flags
value
public void bigIntToWordsArray(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=8, args_size=2
start local 0 start local 1 0: aload 1
checkcast com.oracle.truffle.js.runtime.BigInt
invokevirtual com.oracle.truffle.js.runtime.BigInt.bigIntegerValue:()Ljava/math/BigInteger;
astore 2
start local 2 1: aload 0
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.resetSharedBuffer:()V
2: aload 0
aload 1
invokevirtual com.oracle.truffle.trufflenode.GraalJSAccess.bigIntWordCount:(Ljava/lang/Object;)I
istore 3
start local 3 3: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
iload 3
invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
4: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
aload 2
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 5
iconst_1
goto 6
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger int
StackMap stack: java.nio.ByteBuffer
5: iconst_0
StackMap locals: com.oracle.truffle.trufflenode.GraalJSAccess java.lang.Object java.math.BigInteger int
StackMap stack: java.nio.ByteBuffer int
6: invokevirtual java.nio.ByteBuffer.putInt:(I)Ljava/nio/ByteBuffer;
pop
7: aload 2
invokevirtual java.math.BigInteger.signum:()I
iconst_m1
if_icmpne 9
8: aload 2
invokevirtual java.math.BigInteger.negate:()Ljava/math/BigInteger;
astore 2
9: StackMap locals:
StackMap stack:
iconst_0
istore 4
start local 4 10: goto 21
11: StackMap locals: int
StackMap stack:
lconst_0
lstore 5
start local 5 12: bipush 63
istore 7
start local 7 13: goto 18
14: StackMap locals: long int
StackMap stack:
lload 5
iconst_1
lshl
lstore 5
15: aload 2
iload 7
bipush 64
iload 4
imul
iadd
invokevirtual java.math.BigInteger.testBit:(I)Z
ifeq 17
16: lload 5
lconst_1
ladd
lstore 5
17: StackMap locals:
StackMap stack:
iinc 7 -1
StackMap locals:
StackMap stack:
18: iload 7
ifge 14
end local 7 19: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.sharedBuffer:Ljava/nio/ByteBuffer;
lload 5
invokevirtual java.nio.ByteBuffer.putLong:(J)Ljava/nio/ByteBuffer;
pop
end local 5 20: iinc 4 1
StackMap locals:
StackMap stack:
21: iload 4
iload 3
if_icmplt 11
end local 4 22: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 23 1 value Ljava/lang/Object;
1 23 2 bigInt Ljava/math/BigInteger;
3 23 3 count I
10 22 4 wordIdx I
12 20 5 word J
13 19 7 bit I
MethodParameters:
Name Flags
value
public void unsetCurrentMessagePortData();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
invokevirtual com.oracle.truffle.trufflenode.threading.JavaMessagePortData.encodingEnd:()V
1: aload 0
aconst_null
putfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
public void setCurrentMessagePortData(com.oracle.truffle.trufflenode.JSExternalObject);
descriptor: (Lcom/oracle/truffle/trufflenode/JSExternalObject;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 1
aload 1
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 2
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
ifnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
aload 1
invokestatic com.oracle.truffle.trufflenode.threading.SharedMemMessagingManager.getJavaMessagePortDataFor:(Lcom/oracle/truffle/trufflenode/JSExternalObject;)Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
putfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
3: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$assertionsDisabled:Z
ifne 4
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
invokevirtual com.oracle.truffle.trufflenode.threading.JavaMessagePortData.encodingBegin:()V
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
0 6 1 nativeMessagePortData Lcom/oracle/truffle/trufflenode/JSExternalObject;
MethodParameters:
Name Flags
nativeMessagePortData
public com.oracle.truffle.trufflenode.threading.JavaMessagePortData getCurrentMessagePortData();
descriptor: ()Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.trufflenode.GraalJSAccess.currentMessagePortData:Lcom/oracle/truffle/trufflenode/threading/JavaMessagePortData;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/trufflenode/GraalJSAccess;
static int[] $SWITCH_TABLE$com$oracle$truffle$js$runtime$objects$JSModuleRecord$Status();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.truffle.trufflenode.GraalJSAccess.$SWITCH_TABLE$com$oracle$truffle$js$runtime$objects$JSModuleRecord$Status:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.values:()[Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Evaluated:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iconst_5
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iconst_4
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iconst_3
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iconst_2
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.Unlinked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status.ordinal:()I
iconst_1
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
dup
putstatic com.oracle.truffle.trufflenode.GraalJSAccess.$SWITCH_TABLE$com$oracle$truffle$js$runtime$objects$JSModuleRecord$Status:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
}
SourceFile: "GraalJSAccess.java"
NestMembers:
com.oracle.truffle.trufflenode.GraalJSAccess$1 com.oracle.truffle.trufflenode.GraalJSAccess$10 com.oracle.truffle.trufflenode.GraalJSAccess$11 com.oracle.truffle.trufflenode.GraalJSAccess$12 com.oracle.truffle.trufflenode.GraalJSAccess$2 com.oracle.truffle.trufflenode.GraalJSAccess$3 com.oracle.truffle.trufflenode.GraalJSAccess$4 com.oracle.truffle.trufflenode.GraalJSAccess$5 com.oracle.truffle.trufflenode.GraalJSAccess$6 com.oracle.truffle.trufflenode.GraalJSAccess$7 com.oracle.truffle.trufflenode.GraalJSAccess$8 com.oracle.truffle.trufflenode.GraalJSAccess$9 com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader com.oracle.truffle.trufflenode.GraalJSAccess$GraalJSKillException com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule com.oracle.truffle.trufflenode.GraalJSAccess$PropertyHandlerPrototypeNode com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback
InnerClasses:
public final ExportEntry = com.oracle.js.parser.ir.Module$ExportEntry of com.oracle.js.parser.ir.Module
public final ImportEntry = com.oracle.js.parser.ir.Module$ImportEntry of com.oracle.js.parser.ir.Module
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final Builder = com.oracle.truffle.api.debug.Breakpoint$Builder of com.oracle.truffle.api.debug.Breakpoint
public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source
public final JSStackTraceElement = com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement of com.oracle.truffle.js.runtime.GraalJSException
public final DirectBigInt64Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectBigInt64Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectBigUint64Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectBigUint64Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectFloat32Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectFloat32Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectFloat64Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectFloat64Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt16Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt16Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt32Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt32Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectInt8Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectInt8Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint16Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint16Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint32Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint32Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint8Array = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8Array of com.oracle.truffle.js.runtime.array.TypedArray
public final DirectUint8ClampedArray = com.oracle.truffle.js.runtime.array.TypedArray$DirectUint8ClampedArray of com.oracle.truffle.js.runtime.array.TypedArray
public final Status = com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status of com.oracle.truffle.js.runtime.objects.JSModuleRecord
public abstract Cursor = com.oracle.truffle.js.runtime.util.JSHashMap$Cursor of com.oracle.truffle.js.runtime.util.JSHashMap
public abstract CompileRegexNode = com.oracle.truffle.js.runtime.util.TRegexUtil$CompileRegexNode of com.oracle.truffle.js.runtime.util.TRegexUtil
public abstract InteropReadBooleanMemberNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadBooleanMemberNode of com.oracle.truffle.js.runtime.util.TRegexUtil
public abstract InteropReadMemberNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadMemberNode of com.oracle.truffle.js.runtime.util.TRegexUtil
public abstract InteropReadStringMemberNode = com.oracle.truffle.js.runtime.util.TRegexUtil$InteropReadStringMemberNode of com.oracle.truffle.js.runtime.util.TRegexUtil
com.oracle.truffle.trufflenode.GraalJSAccess$1
com.oracle.truffle.trufflenode.GraalJSAccess$10
com.oracle.truffle.trufflenode.GraalJSAccess$11
com.oracle.truffle.trufflenode.GraalJSAccess$12
com.oracle.truffle.trufflenode.GraalJSAccess$2
com.oracle.truffle.trufflenode.GraalJSAccess$3
com.oracle.truffle.trufflenode.GraalJSAccess$4
com.oracle.truffle.trufflenode.GraalJSAccess$5
com.oracle.truffle.trufflenode.GraalJSAccess$6
com.oracle.truffle.trufflenode.GraalJSAccess$7
com.oracle.truffle.trufflenode.GraalJSAccess$8
com.oracle.truffle.trufflenode.GraalJSAccess$9
ESModuleLoader = com.oracle.truffle.trufflenode.GraalJSAccess$ESModuleLoader of com.oracle.truffle.trufflenode.GraalJSAccess
private final GraalJSKillException = com.oracle.truffle.trufflenode.GraalJSAccess$GraalJSKillException of com.oracle.truffle.trufflenode.GraalJSAccess
NodeScriptOrModule = com.oracle.truffle.trufflenode.GraalJSAccess$NodeScriptOrModule of com.oracle.truffle.trufflenode.GraalJSAccess
PropertyHandlerPrototypeNode = com.oracle.truffle.trufflenode.GraalJSAccess$PropertyHandlerPrototypeNode of com.oracle.truffle.trufflenode.GraalJSAccess
private WeakAgentWaiterList = com.oracle.truffle.trufflenode.GraalJSAccess$WeakAgentWaiterList of com.oracle.truffle.trufflenode.GraalJSAccess
private WeakCallback = com.oracle.truffle.trufflenode.GraalJSAccess$WeakCallback of com.oracle.truffle.trufflenode.GraalJSAccess
public NativeFunctionRootNode = com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode$NativeFunctionRootNode of com.oracle.truffle.trufflenode.node.ExecuteNativeFunctionNode
public final Mode = com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode$Mode of com.oracle.truffle.trufflenode.node.ExecuteNativePropertyHandlerNode
public final Builder = org.graalvm.polyglot.Context$Builder of org.graalvm.polyglot.Context
public Builder = org.graalvm.polyglot.Source$Builder of org.graalvm.polyglot.Source