public final class com.oracle.truffle.js.lang.JavaScriptLanguage extends com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.truffle.js.lang.JavaScriptLanguage
super_class: com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage
{
public static final java.lang.String TEXT_MIME_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "text/javascript"
public static final java.lang.String APPLICATION_MIME_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "application/javascript"
public static final java.lang.String MODULE_MIME_TYPE;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "application/javascript+module"
public static final java.lang.String SCRIPT_SOURCE_NAME_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: ".js"
public static final java.lang.String MODULE_SOURCE_NAME_SUFFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: ".mjs"
public static final java.lang.String INTERNAL_SOURCE_URL_PREFIX;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "internal:"
public static final java.lang.String NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "JavaScript"
public static final java.lang.String IMPLEMENTATION_NAME;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "GraalVM JavaScript"
public static final java.lang.String ID;
descriptor: Ljava/lang/String;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: "js"
private volatile com.oracle.truffle.js.runtime.JSContext languageContext;
descriptor: Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$CompilationFinal()
private volatile boolean multiContext;
descriptor: Z
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
private final com.oracle.truffle.api.Assumption promiseJobsQueueEmptyAssumption;
descriptor: Lcom/oracle/truffle/api/Assumption;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public static final org.graalvm.options.OptionDescriptors OPTION_DESCRIPTORS;
descriptor: Lorg/graalvm/options/OptionDescriptors;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private static final org.graalvm.options.OptionKey<?>[] PREINIT_CONTEXT_PATCHABLE_OPTIONS;
descriptor: [Lorg/graalvm/options/OptionKey;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: [Lorg/graalvm/options/OptionKey<*>;
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=0
0: ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
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.js.lang.JavaScriptLanguage.$assertionsDisabled:Z
3: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 0
start local 0 4: aload 0
invokestatic com.oracle.truffle.js.runtime.JSContextOptions.describeOptions:(Ljava/util/List;)V
5: aload 0
invokestatic org.graalvm.options.OptionDescriptors.create:(Ljava/util/List;)Lorg/graalvm/options/OptionDescriptors;
putstatic com.oracle.truffle.js.lang.JavaScriptLanguage.OPTION_DESCRIPTORS:Lorg/graalvm/options/OptionDescriptors;
6: invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.ensureErrorClassesInitialized:()V
end local 0 7: bipush 16
anewarray org.graalvm.options.OptionKey
dup
iconst_0
8: getstatic com.oracle.truffle.js.runtime.JSContextOptions.ARRAY_SORT_INHERITED:Lorg/graalvm/options/OptionKey;
aastore
dup
iconst_1
9: getstatic com.oracle.truffle.js.runtime.JSContextOptions.TIMER_RESOLUTION:Lorg/graalvm/options/OptionKey;
aastore
dup
iconst_2
10: getstatic com.oracle.truffle.js.runtime.JSContextOptions.SHELL:Lorg/graalvm/options/OptionKey;
aastore
dup
iconst_3
11: getstatic com.oracle.truffle.js.runtime.JSContextOptions.V8_COMPATIBILITY_MODE:Lorg/graalvm/options/OptionKey;
aastore
dup
iconst_4
12: getstatic com.oracle.truffle.js.runtime.JSContextOptions.GLOBAL_PROPERTY:Lorg/graalvm/options/OptionKey;
aastore
dup
iconst_5
13: getstatic com.oracle.truffle.js.runtime.JSContextOptions.GLOBAL_ARGUMENTS:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 6
14: getstatic com.oracle.truffle.js.runtime.JSContextOptions.SCRIPTING:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 7
15: getstatic com.oracle.truffle.js.runtime.JSContextOptions.DIRECT_BYTE_BUFFER:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 8
16: getstatic com.oracle.truffle.js.runtime.JSContextOptions.INTL_402:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 9
17: getstatic com.oracle.truffle.js.runtime.JSContextOptions.LOAD:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 10
18: getstatic com.oracle.truffle.js.runtime.JSContextOptions.PRINT:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 11
19: getstatic com.oracle.truffle.js.runtime.JSContextOptions.CONSOLE:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 12
20: getstatic com.oracle.truffle.js.runtime.JSContextOptions.PERFORMANCE:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 13
21: getstatic com.oracle.truffle.js.runtime.JSContextOptions.CLASS_FIELDS:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 14
22: getstatic com.oracle.truffle.js.runtime.JSContextOptions.REGEXP_STATIC_RESULT:Lorg/graalvm/options/OptionKey;
aastore
dup
bipush 15
23: getstatic com.oracle.truffle.js.runtime.JSContextOptions.TIME_ZONE:Lorg/graalvm/options/OptionKey;
aastore
24: putstatic com.oracle.truffle.js.lang.JavaScriptLanguage.PREINIT_CONTEXT_PATCHABLE_OPTIONS:[Lorg/graalvm/options/OptionKey;
25: return
LocalVariableTable:
Start End Slot Name Signature
4 7 0 options Ljava/util/ArrayList<Lorg/graalvm/options/OptionDescriptor;>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.<init>:()V
1: aload 0
invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
ldc "PromiseJobsQueueEmpty"
invokeinterface com.oracle.truffle.api.TruffleRuntime.createAssumption:(Ljava/lang/String;)Lcom/oracle/truffle/api/Assumption;
putfield com.oracle.truffle.js.lang.JavaScriptLanguage.promiseJobsQueueEmptyAssumption:Lcom/oracle/truffle/api/Assumption;
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
public com.oracle.truffle.api.CallTarget parse(com.oracle.truffle.api.TruffleLanguage$ParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;)Lcom/oracle/truffle/api/CallTarget;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$ParsingRequest.getArgumentNames:()Ljava/util/List;
astore 3
start local 3 2: aload 0
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 3: aload 4
aload 2
ldc ""
ldc ""
aload 3
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.parseScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 5
start local 5 4: aload 4
invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionParseOnly:()Z
ifeq 6
5: aload 4
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.createEmptyScript:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
areturn
6: StackMap locals: com.oracle.truffle.js.lang.JavaScriptLanguage com.oracle.truffle.api.TruffleLanguage$ParsingRequest com.oracle.truffle.api.source.Source java.util.List com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.nodes.ScriptNode
StackMap stack:
new com.oracle.truffle.js.lang.JavaScriptLanguage$1
dup
aload 0
aload 0
aload 5
aload 4
invokespecial com.oracle.truffle.js.lang.JavaScriptLanguage$1.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/js/nodes/ScriptNode;Lcom/oracle/truffle/js/runtime/JSContext;)V
astore 6
start local 6 7: 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;
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 8 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 8 1 parsingRequest Lcom/oracle/truffle/api/TruffleLanguage$ParsingRequest;
1 8 2 source Lcom/oracle/truffle/api/source/Source;
2 8 3 argumentNames Ljava/util/List<Ljava/lang/String;>;
3 8 4 context Lcom/oracle/truffle/js/runtime/JSContext;
4 8 5 program Lcom/oracle/truffle/js/nodes/ScriptNode;
7 8 6 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
parsingRequest
private static com.oracle.truffle.js.nodes.ScriptNode createEmptyScript(com.oracle.truffle.js.runtime.JSContext);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
aload 0
invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.createEmptyFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokestatic com.oracle.truffle.js.nodes.ScriptNode.fromFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)Lcom/oracle/truffle/js/nodes/ScriptNode;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lcom/oracle/truffle/js/runtime/JSContext;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
protected com.oracle.truffle.api.nodes.ExecutableNode parse(com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$InlineParsingRequest;)Lcom/oracle/truffle/api/nodes/ExecutableNode;
flags: (0x0004) ACC_PROTECTED
Code:
stack=8, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.getSource:()Lcom/oracle/truffle/api/source/Source;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.getFrame:()Lcom/oracle/truffle/api/frame/MaterializedFrame;
astore 3
start local 3 2: aload 0
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 4
start local 4 3: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.isStrictLocation:(Lcom/oracle/truffle/api/nodes/Node;)Z
istore 5
start local 5 4: new com.oracle.truffle.js.lang.JavaScriptLanguage$2
dup
aload 0
aload 0
aload 4
aload 2
aload 3
iload 5
invokespecial com.oracle.truffle.js.lang.JavaScriptLanguage$2.<init>:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/TruffleLanguage;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/frame/MaterializedFrame;Z)V
astore 6
start local 6 5: 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 6 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 6 1 request Lcom/oracle/truffle/api/TruffleLanguage$InlineParsingRequest;
1 6 2 source Lcom/oracle/truffle/api/source/Source;
2 6 3 requestFrame Lcom/oracle/truffle/api/frame/MaterializedFrame;
3 6 4 context Lcom/oracle/truffle/js/runtime/JSContext;
4 6 5 strict Z
5 6 6 executableNode Lcom/oracle/truffle/api/nodes/ExecutableNode;
Exceptions:
throws java.lang.Exception
MethodParameters:
Name Flags
request
private static boolean isStrictLocation(com.oracle.truffle.api.nodes.Node);
descriptor: (Lcom/oracle/truffle/api/nodes/Node;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: aload 0
ifnull 4
1: aload 0
invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
astore 1
start local 1 2: aload 1
instanceof com.oracle.truffle.js.nodes.function.FunctionRootNode
ifeq 4
3: aload 1
checkcast com.oracle.truffle.js.nodes.function.FunctionRootNode
invokevirtual com.oracle.truffle.js.nodes.function.FunctionRootNode.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isStrict:()Z
ireturn
end local 1 4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 location Lcom/oracle/truffle/api/nodes/Node;
2 4 1 rootNode Lcom/oracle/truffle/api/nodes/RootNode;
MethodParameters:
Name Flags
location
protected static com.oracle.truffle.js.nodes.ScriptNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, java.lang.String, java.lang.String, java.util.List<java.lang.String>);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;)Lcom/oracle/truffle/js/nodes/ScriptNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=11, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
istore 5
start local 5 1: iload 5
ifeq 2
invokestatic java.lang.System.nanoTime:()J
goto 3
StackMap locals: int
StackMap stack:
2: lconst_0
StackMap locals:
StackMap stack: long
3: lstore 6
start local 6 4: aconst_null
astore 8
start local 8 5: aload 4
invokeinterface java.util.List.isEmpty:()Z
ifne 7
6: aload 4
iconst_0
anewarray java.lang.String
invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
checkcast java.lang.String[]
astore 8
7: StackMap locals: long java.lang.String[]
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
aload 0
aload 1
aload 2
aload 3
aload 8
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;[Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
astore 10
8: iload 5
ifeq 10
9: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
lload 6
new java.lang.StringBuilder
dup
ldc "parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
10: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source java.lang.String java.lang.String java.util.List int long java.lang.String[] top com.oracle.truffle.js.nodes.ScriptNode
StackMap stack:
aload 10
areturn
end local 8 11: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source java.lang.String java.lang.String java.util.List int long
StackMap stack: java.lang.Throwable
astore 9
12: iload 5
ifeq 14
13: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
lload 6
new java.lang.StringBuilder
dup
ldc "parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
14: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source java.lang.String java.lang.String java.util.List int long top java.lang.Throwable
StackMap stack:
aload 9
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 15 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 15 1 code Lcom/oracle/truffle/api/source/Source;
0 15 2 prolog Ljava/lang/String;
0 15 3 epilog Ljava/lang/String;
0 15 4 argumentNames Ljava/util/List<Ljava/lang/String;>;
1 15 5 profileTime Z
4 15 6 startTime J
5 11 8 arguments [Ljava/lang/String;
Exception table:
from to target type
4 8 11 any
Signature: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/lang/String;Ljava/lang/String;Ljava/util/List<Ljava/lang/String;>;)Lcom/oracle/truffle/js/nodes/ScriptNode;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
code
prolog
epilog
argumentNames
protected static com.oracle.truffle.js.nodes.JavaScriptNode parseInlineScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.api.frame.MaterializedFrame, boolean);
descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/frame/MaterializedFrame;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=6, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
istore 4
start local 4 1: iload 4
ifeq 2
invokestatic java.lang.System.nanoTime:()J
goto 3
StackMap locals: int
StackMap stack:
2: lconst_0
StackMap locals:
StackMap stack: long
3: lstore 5
start local 5 4: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
aload 0
aload 1
aload 2
iload 3
invokeinterface com.oracle.truffle.js.runtime.Evaluator.parseInlineScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/frame/MaterializedFrame;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
astore 8
5: iload 4
ifeq 7
6: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
lload 5
new java.lang.StringBuilder
dup
ldc "parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
7: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source com.oracle.truffle.api.frame.MaterializedFrame int int long top com.oracle.truffle.js.nodes.JavaScriptNode
StackMap stack:
aload 8
areturn
8: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.source.Source com.oracle.truffle.api.frame.MaterializedFrame int int long
StackMap stack: java.lang.Throwable
astore 7
9: iload 4
ifeq 11
10: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
lload 5
new java.lang.StringBuilder
dup
ldc "parsing "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
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 com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
11: StackMap locals: java.lang.Throwable
StackMap stack:
aload 7
athrow
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 12 0 context Lcom/oracle/truffle/js/runtime/JSContext;
0 12 1 code Lcom/oracle/truffle/api/source/Source;
0 12 2 lexicalContextFrame Lcom/oracle/truffle/api/frame/MaterializedFrame;
0 12 3 strict Z
1 12 4 profileTime Z
4 12 5 startTime J
Exception table:
from to target type
4 5 8 any
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
context
code
lexicalContextFrame
strict
protected com.oracle.truffle.js.runtime.JSRealm createContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSRealm;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.languageContext:Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 2: aload 2
ifnonnull 4
3: aload 0
aload 1
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.initLanguageContext:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
4: StackMap locals: com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 2
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSContext.createRealm:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSRealm;
astore 3
start local 3 5: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getOutputStream:()Ljava/io/OutputStream;
if_acmpeq 7
6: aload 3
aconst_null
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.out:()Ljava/io/OutputStream;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setOutputWriter:(Ljava/io/Writer;Ljava/io/OutputStream;)V
7: StackMap locals: com.oracle.truffle.js.runtime.JSRealm
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.err:()Ljava/io/OutputStream;
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getErrorStream:()Ljava/io/OutputStream;
if_acmpeq 9
8: aload 3
aconst_null
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.err:()Ljava/io/OutputStream;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setErrorWriter:(Ljava/io/Writer;Ljava/io/OutputStream;)V
9: 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 10 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 10 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 10 2 context Lcom/oracle/truffle/js/runtime/JSContext;
5 10 3 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
env
private synchronized com.oracle.truffle.js.runtime.JSContext initLanguageContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0022) ACC_PRIVATE, ACC_SYNCHRONIZED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.languageContext:Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 2: aload 2
ifnull 5
3: getstatic com.oracle.truffle.js.lang.JavaScriptLanguage.$assertionsDisabled:Z
ifne 4
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
invokestatic com.oracle.truffle.js.runtime.JSContextOptions.fromOptionValues:(Lorg/graalvm/options/OptionValues;)Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.equals:(Ljava/lang/Object;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: com.oracle.truffle.js.runtime.JSContext
StackMap stack:
aload 2
areturn
5: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.newJSContext:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSContext;
astore 3
start local 3 6: aload 0
aload 3
putfield com.oracle.truffle.js.lang.JavaScriptLanguage.languageContext:Lcom/oracle/truffle/js/runtime/JSContext;
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 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 8 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
2 8 2 curContext Lcom/oracle/truffle/js/runtime/JSContext;
6 8 3 newContext Lcom/oracle/truffle/js/runtime/JSContext;
MethodParameters:
Name Flags
env
private com.oracle.truffle.js.runtime.JSContext newJSContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic com.oracle.truffle.js.runtime.JSEngine.createJSContext:(Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 1 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
MethodParameters:
Name Flags
env
protected void initializeContext(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.initialize:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 2 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
protected boolean patchContext(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: getstatic com.oracle.truffle.js.lang.JavaScriptLanguage.$assertionsDisabled:Z
ifne 2
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
aload 0
if_acmpeq 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
aload 2
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.optionsAllowPreInitializedContext:(Lcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
ifeq 4
aload 1
aload 2
invokevirtual com.oracle.truffle.js.runtime.JSRealm.patchContext:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
ifeq 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 0
aconst_null
putfield com.oracle.truffle.js.lang.JavaScriptLanguage.languageContext:Lcom/oracle/truffle/js/runtime/JSContext;
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 6 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 6 2 newEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
MethodParameters:
Name Flags
realm
newEnv
private static boolean optionsAllowPreInitializedContext(com.oracle.truffle.api.TruffleLanguage$Env, com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
astore 2
start local 2 1: aload 1
invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getOptions:()Lorg/graalvm/options/OptionValues;
astore 3
start local 3 2: aload 2
invokeinterface org.graalvm.options.OptionValues.hasSetOptions:()Z
ifne 4
aload 3
invokeinterface org.graalvm.options.OptionValues.hasSetOptions:()Z
ifne 4
3: iconst_1
ireturn
4: StackMap locals: org.graalvm.options.OptionValues org.graalvm.options.OptionValues
StackMap stack:
aload 2
aload 3
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
6: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.lang.JavaScriptLanguage.$assertionsDisabled:Z
ifne 7
aload 2
invokeinterface org.graalvm.options.OptionValues.getDescriptors:()Lorg/graalvm/options/OptionDescriptors;
aload 3
invokeinterface org.graalvm.options.OptionValues.getDescriptors:()Lorg/graalvm/options/OptionDescriptors;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 7
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
7: StackMap locals:
StackMap stack:
getstatic com.oracle.truffle.js.lang.JavaScriptLanguage.PREINIT_CONTEXT_PATCHABLE_OPTIONS:[Lorg/graalvm/options/OptionKey;
invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
astore 4
start local 4 8: aload 3
invokeinterface org.graalvm.options.OptionValues.getDescriptors:()Lorg/graalvm/options/OptionDescriptors;
invokeinterface org.graalvm.options.OptionDescriptors.iterator:()Ljava/util/Iterator;
astore 6
goto 16
StackMap locals: com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleLanguage$Env org.graalvm.options.OptionValues org.graalvm.options.OptionValues java.util.Collection top java.util.Iterator
StackMap stack:
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.graalvm.options.OptionDescriptor
astore 5
start local 5 10: aload 5
invokevirtual org.graalvm.options.OptionDescriptor.getKey:()Lorg/graalvm/options/OptionKey;
astore 7
start local 7 11: aload 2
aload 7
invokeinterface org.graalvm.options.OptionValues.hasBeenSet:(Lorg/graalvm/options/OptionKey;)Z
ifne 12
aload 3
aload 7
invokeinterface org.graalvm.options.OptionValues.hasBeenSet:(Lorg/graalvm/options/OptionKey;)Z
ifeq 16
12: StackMap locals: com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleLanguage$Env org.graalvm.options.OptionValues org.graalvm.options.OptionValues java.util.Collection org.graalvm.options.OptionDescriptor java.util.Iterator org.graalvm.options.OptionKey
StackMap stack:
aload 4
aload 7
invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
ifeq 14
13: goto 16
14: StackMap locals:
StackMap stack:
aload 2
aload 7
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
aload 3
aload 7
invokeinterface org.graalvm.options.OptionValues.get:(Lorg/graalvm/options/OptionKey;)Ljava/lang/Object;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 16
15: iconst_0
ireturn
end local 7 end local 5 16: StackMap locals: com.oracle.truffle.api.TruffleLanguage$Env com.oracle.truffle.api.TruffleLanguage$Env org.graalvm.options.OptionValues org.graalvm.options.OptionValues java.util.Collection top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
17: 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 18 0 preinitEnv Lcom/oracle/truffle/api/TruffleLanguage$Env;
0 18 1 env Lcom/oracle/truffle/api/TruffleLanguage$Env;
1 18 2 preinitOptions Lorg/graalvm/options/OptionValues;
2 18 3 options Lorg/graalvm/options/OptionValues;
8 18 4 ignoredOptions Ljava/util/Collection<Lorg/graalvm/options/OptionKey<*>;>;
10 16 5 descriptor Lorg/graalvm/options/OptionDescriptor;
11 16 7 key Lorg/graalvm/options/OptionKey<*>;
MethodParameters:
Name Flags
preinitEnv
env
protected void disposeContext(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=4, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
1: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
astore 2
start local 2 2: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
astore 3
start local 3 3: aload 3
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
ifeq 5
aload 3
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTimePrintCumulative:()Z
ifeq 5
4: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
invokevirtual com.oracle.truffle.js.runtime.util.TimeProfiler.printCumulative:()V
5: StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.js.runtime.JSContextOptions
StackMap stack:
aload 1
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setGlobalObject:(Lcom/oracle/truffle/api/object/DynamicObject;)V
6: return
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/js/lang/JavaScriptLanguage;
0 7 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
2 7 2 context Lcom/oracle/truffle/js/runtime/JSContext;
3 7 3 options Lcom/oracle/truffle/js/runtime/JSContextOptions;
MethodParameters:
Name Flags
realm
protected void initializeMultipleContexts();
descriptor: ()V
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
putfield com.oracle.truffle.js.lang.JavaScriptLanguage.multiContext:Z
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
public boolean isMultiContext();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.multiContext:Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
protected boolean areOptionsCompatible(org.graalvm.options.OptionValues, org.graalvm.options.OptionValues);
descriptor: (Lorg/graalvm/options/OptionValues;Lorg/graalvm/options/OptionValues;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
invokevirtual java.lang.Object.equals:(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/js/lang/JavaScriptLanguage;
0 1 1 firstOptions Lorg/graalvm/options/OptionValues;
0 1 2 newOptions Lorg/graalvm/options/OptionValues;
MethodParameters:
Name Flags
firstOptions
newOptions
protected org.graalvm.options.OptionDescriptors getOptionDescriptors();
descriptor: ()Lorg/graalvm/options/OptionDescriptors;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic com.oracle.truffle.js.lang.JavaScriptLanguage.OPTION_DESCRIPTORS:Lorg/graalvm/options/OptionDescriptors;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
protected boolean isVisible(com.oracle.truffle.js.runtime.JSRealm, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;)Z
flags: (0x0004) ACC_PROTECTED
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
if_acmpeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 2 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
0 2 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
realm
value
protected java.lang.Object getLanguageView(com.oracle.truffle.js.runtime.JSRealm, java.lang.Object);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokestatic com.oracle.truffle.js.runtime.interop.JavaScriptLanguageView.create:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/interop/JavaScriptLanguageView;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSRealm;
0 1 2 value Ljava/lang/Object;
MethodParameters:
Name Flags
context
value
protected java.lang.Object getScope(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getTopScopeObject:()Ljava/lang/Object;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 1 1 context Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
context
public static com.oracle.truffle.js.runtime.JSContext getJSContext(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getJSRealm:(Lorg/graalvm/polyglot/Context;)Lcom/oracle/truffle/js/runtime/JSRealm;
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 context Lorg/graalvm/polyglot/Context;
MethodParameters:
Name Flags
context
public static com.oracle.truffle.js.runtime.JSRealm getJSRealm(org.graalvm.polyglot.Context);
descriptor: (Lorg/graalvm/polyglot/Context;)Lcom/oracle/truffle/js/runtime/JSRealm;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual org.graalvm.polyglot.Context.enter:()V
1: aload 0
ldc "js"
invokevirtual org.graalvm.polyglot.Context.initialize:(Ljava/lang/String;)Z
pop
2: ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentContext:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.JSRealm
astore 2
3: aload 0
invokevirtual org.graalvm.polyglot.Context.leave:()V
4: aload 2
areturn
5: StackMap locals:
StackMap stack: java.lang.Throwable
astore 1
6: aload 0
invokevirtual org.graalvm.polyglot.Context.leave:()V
7: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 context Lorg/graalvm/polyglot/Context;
Exception table:
from to target type
1 3 5 any
MethodParameters:
Name Flags
context
public void interopBoundaryEnter(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getAgent:()Lcom/oracle/truffle/js/runtime/JSAgent;
invokevirtual com.oracle.truffle.js.runtime.JSAgent.interopBoundaryEnter:()V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 2 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
MethodParameters:
Name Flags
realm
public void interopBoundaryExit(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getAgent:()Lcom/oracle/truffle/js/runtime/JSAgent;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.truffle.js.runtime.JSAgent.interopBoundaryExit:()Z
ifeq 6
2: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.promiseJobsQueueEmptyAssumption:Lcom/oracle/truffle/api/Assumption;
invokeinterface com.oracle.truffle.api.Assumption.isValid:()Z
ifne 4
3: aload 2
iconst_1
invokevirtual com.oracle.truffle.js.runtime.JSAgent.processAllPromises:(Z)V
4: StackMap locals: com.oracle.truffle.js.runtime.JSAgent
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isTestV8Mode:()Z
ifeq 6
5: aload 1
invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.processTimeoutCallbacks:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
6: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
0 7 1 realm Lcom/oracle/truffle/js/runtime/JSRealm;
1 7 2 agent Lcom/oracle/truffle/js/runtime/JSAgent;
MethodParameters:
Name Flags
realm
private static void processTimeoutCallbacks(com.oracle.truffle.js.runtime.JSRealm);
descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=5, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getAgent:()Lcom/oracle/truffle/js/runtime/JSAgent;
astore 1
start local 1 1: goto 8
start local 2 2: StackMap locals: com.oracle.truffle.js.runtime.JSAgent java.util.List
StackMap stack:
aload 0
aconst_null
invokevirtual com.oracle.truffle.js.runtime.JSRealm.setEmbedderData:(Ljava/lang/Object;)V
3: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 6
StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSAgent java.util.List top java.util.Iterator
StackMap stack:
4: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
astore 3
start local 3 5: aload 3
getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
getstatic com.oracle.truffle.js.runtime.JSArguments.EMPTY_ARGUMENTS_ARRAY:[Ljava/lang/Object;
invokestatic com.oracle.truffle.js.runtime.JSRuntime.call:(Ljava/lang/Object;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
7: aload 1
iconst_1
invokevirtual com.oracle.truffle.js.runtime.JSAgent.processAllPromises:(Z)V
end local 2 8: StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.JSAgent
StackMap stack:
aload 0
invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEmbedderData:()Ljava/lang/Object;
checkcast java.util.List
dup
astore 2
start local 2 9: ifnull 10
aload 2
invokeinterface java.util.List.isEmpty:()Z
ifeq 2
10: StackMap locals: java.util.List
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 realm Lcom/oracle/truffle/js/runtime/JSRealm;
1 11 1 agent Lcom/oracle/truffle/js/runtime/JSAgent;
2 8 2 callbackList Ljava/util/List<Ljava/lang/Object;>;
9 11 2 callbackList Ljava/util/List<Ljava/lang/Object;>;
5 6 3 callback Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
MethodParameters:
Name Flags
realm
public com.oracle.truffle.api.Assumption getPromiseJobsQueueEmptyAssumption();
descriptor: ()Lcom/oracle/truffle/api/Assumption;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.promiseJobsQueueEmptyAssumption:Lcom/oracle/truffle/api/Assumption;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
public com.oracle.truffle.js.runtime.JSContext getJSContext();
descriptor: ()Lcom/oracle/truffle/js/runtime/JSContext;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield com.oracle.truffle.js.lang.JavaScriptLanguage.languageContext:Lcom/oracle/truffle/js/runtime/JSContext;
invokestatic java.util.Objects.requireNonNull:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast com.oracle.truffle.js.runtime.JSContext
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
public boolean bindMemberFunctions();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getJSContext:()Lcom/oracle/truffle/js/runtime/JSContext;
invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.bindMemberFunctions:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
public int getAsyncStackDepth();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial com.oracle.truffle.js.runtime.AbstractJavaScriptLanguage.getAsynchronousStackDepth:()I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
private static void ensureErrorClassesInitialized();
descriptor: ()V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.Error
dup
ldc "Unresolved compilation problem: \n\tInitErrorObjectNodeFactory cannot be resolved to a type\n"
invokespecial java.lang.Error.<init>:(Ljava/lang/String;)V
athrow
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object createContext(com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Lcom/oracle/truffle/api/TruffleLanguage$Env;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.createContext:(Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/js/runtime/JSRealm;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected boolean patchContext(java.lang.Object, com.oracle.truffle.api.TruffleLanguage$Env);
descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
aload 2
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.patchContext:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object getLanguageView(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
aload 2
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getLanguageView:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
protected void initializeContext(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.initializeContext:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
return
LocalVariableTable:
Start End Slot Name Signature
Exceptions:
throws java.lang.Exception
protected boolean isVisible(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)Z
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
aload 2
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.isVisible:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;)Z
ireturn
LocalVariableTable:
Start End Slot Name Signature
protected void disposeContext(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.disposeContext:(Lcom/oracle/truffle/js/runtime/JSRealm;)V
return
LocalVariableTable:
Start End Slot Name Signature
protected java.lang.Object getScope(java.lang.Object);
descriptor: (Ljava/lang/Object;)Ljava/lang/Object;
flags: (0x1044) ACC_PROTECTED, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast com.oracle.truffle.js.runtime.JSRealm
invokevirtual com.oracle.truffle.js.lang.JavaScriptLanguage.getScope:(Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "JavaScriptLanguage.java"
NestMembers:
com.oracle.truffle.js.lang.JavaScriptLanguage$1 com.oracle.truffle.js.lang.JavaScriptLanguage$2
InnerClasses:
public abstract CompilationFinal = com.oracle.truffle.api.CompilerDirectives$CompilationFinal of com.oracle.truffle.api.CompilerDirectives
public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
public final ContextPolicy = com.oracle.truffle.api.TruffleLanguage$ContextPolicy of com.oracle.truffle.api.TruffleLanguage
public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
public final InlineParsingRequest = com.oracle.truffle.api.TruffleLanguage$InlineParsingRequest of com.oracle.truffle.api.TruffleLanguage
public final ParsingRequest = com.oracle.truffle.api.TruffleLanguage$ParsingRequest of com.oracle.truffle.api.TruffleLanguage
public abstract Registration = com.oracle.truffle.api.TruffleLanguage$Registration of com.oracle.truffle.api.TruffleLanguage
com.oracle.truffle.js.lang.JavaScriptLanguage$1
com.oracle.truffle.js.lang.JavaScriptLanguage$2
RuntimeVisibleAnnotations:
com.oracle.truffle.api.instrumentation.ProvidedTags(value = {Lcom/oracle/truffle/api/instrumentation/StandardTags$StatementTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$RootTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$RootBodyTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$ExpressionTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$CallTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$ReadVariableTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$WriteVariableTag;, Lcom/oracle/truffle/api/instrumentation/StandardTags$TryBlockTag;, Lcom/oracle/truffle/api/debug/DebuggerTags$AlwaysHalt;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ObjectAllocationTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BinaryOperationTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$UnaryOperationTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WriteVariableTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadElementTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WriteElementTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadPropertyTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$WritePropertyTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ReadVariableTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$LiteralTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$FunctionCallTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$BuiltinRootTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$EvalCallTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowRootTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBlockTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$ControlFlowBranchTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$DeclareTag;, Lcom/oracle/truffle/js/nodes/instrumentation/JSTags$InputNodeTag;})
com.oracle.truffle.api.TruffleLanguage$Registration(id = "js", name = "JavaScript", implementationName = "GraalVM JavaScript", characterMimeTypes = {"application/javascript", "text/javascript", "application/javascript+module"}, defaultMimeType = "application/javascript", contextPolicy = com.oracle.truffle.api.TruffleLanguage$ContextPolicy.SHARED:Lcom/oracle/truffle/api/TruffleLanguage$ContextPolicy;, dependentLanguages = {"regex"}, fileTypeDetectors = {Lcom/oracle/truffle/js/lang/JSFileTypeDetector;})