public final class com.oracle.truffle.js.parser.GraalJSEvaluator implements com.oracle.truffle.js.parser.JSParser
  minor version: 0
  major version: 59
  flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.parser.GraalJSEvaluator
  super_class: java.lang.Object
{
  private static final com.oracle.truffle.api.object.HiddenKey STORE_MODULE_KEY;
    descriptor: Lcom/oracle/truffle/api/object/HiddenKey;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  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=3, locals=0, args_size=0
         0: .line 128
            ldc Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            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.parser.GraalJSEvaluator.$assertionsDisabled:Z
         3: .line 130
            new com.oracle.truffle.api.object.HiddenKey
            dup
            ldc "store-module-key"
            invokespecial com.oracle.truffle.api.object.HiddenKey.<init>:(Ljava/lang/String;)V
            putstatic com.oracle.truffle.js.parser.GraalJSEvaluator.STORE_MODULE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
         0: .line 128
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;

  public java.lang.Object evaluate(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.api.nodes.Node lastNode
        start local 3 // com.oracle.truffle.api.source.Source source
         0: .line 137
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* thisObj */
        start local 4 // java.lang.Object thisObj
         1: .line 138
            aload 1 /* realm */
            aload 2 /* lastNode */
            aload 4 /* thisObj */
            getstatic com.oracle.truffle.js.runtime.JSFrameUtil.NULL_MATERIALIZED_FRAME:Lcom/oracle/truffle/api/frame/MaterializedFrame;
            aload 3 /* source */
            iconst_0
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.doEvaluate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Ljava/lang/Object;
            areturn
        end local 4 // java.lang.Object thisObj
        end local 3 // com.oracle.truffle.api.source.Source source
        end local 2 // com.oracle.truffle.api.nodes.Node lastNode
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    2     0      this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    2     1     realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    2     2  lastNode  Lcom/oracle/truffle/api/nodes/Node;
            0    2     3    source  Lcom/oracle/truffle/api/source/Source;
            1    2     4   thisObj  Ljava/lang/Object;
    MethodParameters:
          Name  Flags
      realm     
      lastNode  
      source    

  public com.oracle.truffle.js.nodes.ScriptNode parseFunction(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String, boolean, boolean, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;ZZLjava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=10, args_size=7
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String parameterList
        start local 3 // java.lang.String body
        start local 4 // boolean generatorFunction
        start local 5 // boolean asyncFunction
        start local 6 // java.lang.String sourceName
         0: .line 146
            new java.lang.StringBuilder
            dup
            bipush 10
            invokestatic java.lang.String.valueOf:(C)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* body */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 7 /* wrappedBody */
        start local 7 // java.lang.String wrappedBody
         1: .line 148
            aload 1 /* context */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
            aload 2 /* parameterList */
            aload 7 /* wrappedBody */
            iload 4 /* generatorFunction */
            iload 5 /* asyncFunction */
            aload 6 /* sourceName */
            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
         2: .line 149
            goto 6
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSContext java.lang.String java.lang.String int int java.lang.String java.lang.String
      StackMap stack: com.oracle.js.parser.ParserException
         3: astore 8 /* e */
        start local 8 // com.oracle.js.parser.ParserException e
         4: .line 150
            aload 8 /* e */
            aload 8 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getLineNumber:()I
            iconst_1
            isub
            invokevirtual com.oracle.js.parser.ParserException.setLineNumber:(I)V
         5: .line 151
            aconst_null
            aload 8 /* e */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.parserToJSError:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/js/parser/ParserException;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 8 // com.oracle.js.parser.ParserException e
         6: .line 153
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 8 /* code */
        start local 8 // java.lang.StringBuilder code
         7: .line 154
            iload 5 /* asyncFunction */
            ifeq 10
         8: .line 155
            aload 8 /* code */
            ldc "(async function"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
         9: .line 156
            goto 11
        10: .line 157
      StackMap locals: java.lang.StringBuilder
      StackMap stack:
            aload 8 /* code */
            ldc "(function"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        11: .line 159
      StackMap locals:
      StackMap stack:
            iload 4 /* generatorFunction */
            ifeq 13
        12: .line 160
            aload 8 /* code */
            ldc "*"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        13: .line 162
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEcmaScriptVersion:()I
            bipush 6
            if_icmplt 15
        14: .line 163
            aload 8 /* code */
            ldc " anonymous"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        15: .line 165
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifeq 17
        16: .line 166
            aload 8 /* code */
            bipush 32
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        17: .line 168
      StackMap locals:
      StackMap stack:
            aload 8 /* code */
            bipush 40
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        18: .line 169
            aload 8 /* code */
            aload 2 /* parameterList */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        19: .line 170
            aload 8 /* code */
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        20: .line 171
            aload 8 /* code */
            ldc ") {"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        21: .line 172
            aload 8 /* code */
            aload 7 /* wrappedBody */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        22: .line 173
            aload 8 /* code */
            ldc "})"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            pop
        23: .line 174
            ldc "js"
            aload 8 /* code */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            aload 6 /* sourceName */
            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 9 /* source */
        start local 9 // com.oracle.truffle.api.source.Source source
        24: .line 176
            aload 1 /* context */
            aconst_null
            aload 9 /* source */
            iconst_0
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.parseEval:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
        end local 9 // com.oracle.truffle.api.source.Source source
        end local 8 // java.lang.StringBuilder code
        end local 7 // java.lang.String wrappedBody
        end local 6 // java.lang.String sourceName
        end local 5 // boolean asyncFunction
        end local 4 // boolean generatorFunction
        end local 3 // java.lang.String body
        end local 2 // java.lang.String parameterList
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   25     0               this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   25     1            context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   25     2      parameterList  Ljava/lang/String;
            0   25     3               body  Ljava/lang/String;
            0   25     4  generatorFunction  Z
            0   25     5      asyncFunction  Z
            0   25     6         sourceName  Ljava/lang/String;
            1   25     7        wrappedBody  Ljava/lang/String;
            4    6     8                  e  Lcom/oracle/js/parser/ParserException;
            7   25     8               code  Ljava/lang/StringBuilder;
           24   25     9             source  Lcom/oracle/truffle/api/source/Source;
      Exception table:
        from    to  target  type
           1     2       3  Class com.oracle.js.parser.ParserException
    MethodParameters:
                   Name  Flags
      context            
      parameterList      
      body               
      generatorFunction  
      asyncFunction      
      sourceName         

  public java.lang.Object evaluate(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.source.Source, com.oracle.truffle.api.frame.MaterializedFrame, java.lang.Object, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/api/frame/MaterializedFrame;Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=7
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.api.nodes.Node lastNode
        start local 3 // com.oracle.truffle.api.source.Source source
        start local 4 // com.oracle.truffle.api.frame.MaterializedFrame frame
        start local 5 // java.lang.Object thisObj
        start local 6 // java.lang.Object evalEnv
         0: .line 185
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 1
            aload 4 /* frame */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 186
      StackMap locals:
      StackMap stack:
            aload 6 /* evalEnv */
            checkcast com.oracle.truffle.js.parser.DirectEvalContext
            astore 7 /* directEval */
        start local 7 // com.oracle.truffle.js.parser.DirectEvalContext directEval
         2: .line 187
            aload 1 /* realm */
            aload 2 /* lastNode */
            aload 5 /* thisObj */
            aload 4 /* frame */
            aload 3 /* source */
            aload 7 /* directEval */
            getfield com.oracle.truffle.js.parser.DirectEvalContext.env:Lcom/oracle/truffle/js/parser/env/Environment;
            invokevirtual com.oracle.truffle.js.parser.env.Environment.isStrictMode:()Z
            aload 7 /* directEval */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.doEvaluate:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Ljava/lang/Object;
            areturn
        end local 7 // com.oracle.truffle.js.parser.DirectEvalContext directEval
        end local 6 // java.lang.Object evalEnv
        end local 5 // java.lang.Object thisObj
        end local 4 // com.oracle.truffle.api.frame.MaterializedFrame frame
        end local 3 // com.oracle.truffle.api.source.Source source
        end local 2 // com.oracle.truffle.api.nodes.Node lastNode
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    3     1       realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    3     2    lastNode  Lcom/oracle/truffle/api/nodes/Node;
            0    3     3      source  Lcom/oracle/truffle/api/source/Source;
            0    3     4       frame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            0    3     5     thisObj  Ljava/lang/Object;
            0    3     6     evalEnv  Ljava/lang/Object;
            2    3     7  directEval  Lcom/oracle/truffle/js/parser/DirectEvalContext;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(transferToInterpreterOnException = false)
    MethodParameters:
          Name  Flags
      realm     
      lastNode  
      source    
      frame     
      thisObj   
      evalEnv   

  private static com.oracle.truffle.js.nodes.JavaScriptNode parseInlineScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.parser.env.Environment, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/parser/env/Environment;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source source
        start local 2 // com.oracle.truffle.js.parser.env.Environment env
        start local 3 // boolean isStrict
         0: .line 191
            aload 0 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 0 /* context */
            aload 2 /* env */
            aload 1 /* source */
            iload 3 /* isStrict */
            invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateInlineScript:(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;Z)Lcom/oracle/truffle/js/nodes/ScriptNode;
            astore 4 /* script */
        start local 4 // com.oracle.truffle.js.nodes.ScriptNode script
         1: .line 192
            aload 4 /* script */
            invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getCallTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            astore 5 /* callTarget */
        start local 5 // com.oracle.truffle.api.RootCallTarget callTarget
         2: .line 193
            aload 4 /* script */
            invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 6 /* functionData */
        start local 6 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         3: .line 194
            new com.oracle.truffle.js.parser.GraalJSEvaluator$1
            dup
            aload 5 /* callTarget */
            aload 0 /* context */
            aload 6 /* functionData */
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$1.<init>:(Lcom/oracle/truffle/api/RootCallTarget;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;)V
            areturn
        end local 6 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 5 // com.oracle.truffle.api.RootCallTarget callTarget
        end local 4 // com.oracle.truffle.js.nodes.ScriptNode script
        end local 3 // boolean isStrict
        end local 2 // com.oracle.truffle.js.parser.env.Environment env
        end local 1 // com.oracle.truffle.api.source.Source source
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     1        source  Lcom/oracle/truffle/api/source/Source;
            0    4     2           env  Lcom/oracle/truffle/js/parser/env/Environment;
            0    4     3      isStrict  Z
            1    4     4        script  Lcom/oracle/truffle/js/nodes/ScriptNode;
            2    4     5    callTarget  Lcom/oracle/truffle/api/RootCallTarget;
            3    4     6  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    MethodParameters:
          Name  Flags
      context   
      source    
      env       
      isStrict  

  private static java.lang.Object doEvaluate(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.nodes.Node, java.lang.Object, com.oracle.truffle.api.frame.MaterializedFrame, com.oracle.truffle.api.source.Source, boolean, com.oracle.truffle.js.parser.DirectEvalContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/MaterializedFrame;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=9, args_size=7
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 1 // com.oracle.truffle.api.nodes.Node lastNode
        start local 2 // java.lang.Object thisObj
        start local 3 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
        start local 4 // com.oracle.truffle.api.source.Source source
        start local 5 // boolean isStrict
        start local 6 // com.oracle.truffle.js.parser.DirectEvalContext directEval
         0: .line 207
            aload 0 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            astore 7 /* context */
        start local 7 // com.oracle.truffle.js.runtime.JSContext context
         1: .line 208
            aload 7 /* context */
            aload 1 /* lastNode */
            aload 4 /* source */
            iload 5 /* isStrict */
            aload 6 /* directEval */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.parseEval:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            astore 8 /* scriptNode */
        start local 8 // com.oracle.truffle.js.nodes.ScriptNode scriptNode
         2: .line 209
            aload 8 /* scriptNode */
            aload 0 /* realm */
            aload 2 /* thisObj */
            aload 3 /* materializedFrame */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.runParsed:(Lcom/oracle/truffle/js/nodes/ScriptNode;Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
            areturn
        end local 8 // com.oracle.truffle.js.nodes.ScriptNode scriptNode
        end local 7 // com.oracle.truffle.js.runtime.JSContext context
        end local 6 // com.oracle.truffle.js.parser.DirectEvalContext directEval
        end local 5 // boolean isStrict
        end local 4 // com.oracle.truffle.api.source.Source source
        end local 3 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
        end local 2 // java.lang.Object thisObj
        end local 1 // com.oracle.truffle.api.nodes.Node lastNode
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    3     0              realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    3     1           lastNode  Lcom/oracle/truffle/api/nodes/Node;
            0    3     2            thisObj  Ljava/lang/Object;
            0    3     3  materializedFrame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            0    3     4             source  Lcom/oracle/truffle/api/source/Source;
            0    3     5           isStrict  Z
            0    3     6         directEval  Lcom/oracle/truffle/js/parser/DirectEvalContext;
            1    3     7            context  Lcom/oracle/truffle/js/runtime/JSContext;
            2    3     8         scriptNode  Lcom/oracle/truffle/js/nodes/ScriptNode;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                   Name  Flags
      realm              
      lastNode           
      thisObj            
      materializedFrame  
      source             
      isStrict           
      directEval         

  private static java.lang.Object runParsed(com.oracle.truffle.js.nodes.ScriptNode, com.oracle.truffle.js.runtime.JSRealm, java.lang.Object, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lcom/oracle/truffle/js/nodes/ScriptNode;Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/Object;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.nodes.ScriptNode scriptNode
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // java.lang.Object thisObj
        start local 3 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
         0: .line 213
            aload 1 /* realm */
            aload 0 /* scriptNode */
            invokevirtual com.oracle.truffle.js.nodes.ScriptNode.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            aload 3 /* materializedFrame */
            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/frame/MaterializedFrame;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* functionObj */
        start local 4 // com.oracle.truffle.api.object.DynamicObject functionObj
         1: .line 214
            aload 0 /* scriptNode */
            aload 2 /* thisObj */
            aload 4 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.createZeroArg:(Ljava/lang/Object;Ljava/lang/Object;)[Ljava/lang/Object;
            invokevirtual com.oracle.truffle.js.nodes.ScriptNode.run:([Ljava/lang/Object;)Ljava/lang/Object;
            areturn
        end local 4 // com.oracle.truffle.api.object.DynamicObject functionObj
        end local 3 // com.oracle.truffle.api.frame.MaterializedFrame materializedFrame
        end local 2 // java.lang.Object thisObj
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.nodes.ScriptNode scriptNode
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    2     0         scriptNode  Lcom/oracle/truffle/js/nodes/ScriptNode;
            0    2     1              realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    2     2            thisObj  Ljava/lang/Object;
            0    2     3  materializedFrame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            1    2     4        functionObj  Lcom/oracle/truffle/api/object/DynamicObject;
    MethodParameters:
                   Name  Flags
      scriptNode         
      realm              
      thisObj            
      materializedFrame  

  private static com.oracle.truffle.js.nodes.ScriptNode parseEval(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.nodes.Node, com.oracle.truffle.api.source.Source, boolean, com.oracle.truffle.js.parser.DirectEvalContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=5, locals=7, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.nodes.Node lastNode
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // boolean isStrict
        start local 4 // com.oracle.truffle.js.parser.DirectEvalContext directEval
         0: .line 218
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.checkEvalAllowed:()V
         1: .line 219
            aload 0 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            astore 5 /* nodeFactory */
        start local 5 // com.oracle.truffle.js.nodes.NodeFactory nodeFactory
         2: .line 221
            aload 5 /* nodeFactory */
            aload 0 /* context */
            aload 2 /* source */
            iload 3 /* isStrict */
            aload 4 /* directEval */
            invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateEvalScript:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;ZLcom/oracle/truffle/js/parser/DirectEvalContext;)Lcom/oracle/truffle/js/nodes/ScriptNode;
         3: areturn
         4: .line 222
      StackMap locals: com.oracle.truffle.js.runtime.JSContext com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.source.Source int com.oracle.truffle.js.parser.DirectEvalContext com.oracle.truffle.js.nodes.NodeFactory
      StackMap stack: com.oracle.js.parser.ParserException
            astore 6 /* e */
        start local 6 // com.oracle.js.parser.ParserException e
         5: .line 223
            aload 1 /* lastNode */
            aload 6 /* e */
            aload 0 /* context */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.parserToJSError:(Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/js/parser/ParserException;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 6 // com.oracle.js.parser.ParserException e
        end local 5 // com.oracle.truffle.js.nodes.NodeFactory nodeFactory
        end local 4 // com.oracle.truffle.js.parser.DirectEvalContext directEval
        end local 3 // boolean isStrict
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.api.nodes.Node lastNode
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    6     0      context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    6     1     lastNode  Lcom/oracle/truffle/api/nodes/Node;
            0    6     2       source  Lcom/oracle/truffle/api/source/Source;
            0    6     3     isStrict  Z
            0    6     4   directEval  Lcom/oracle/truffle/js/parser/DirectEvalContext;
            2    6     5  nodeFactory  Lcom/oracle/truffle/js/nodes/NodeFactory;
            5    6     6            e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           2     3       4  Class com.oracle.js.parser.ParserException
    MethodParameters:
            Name  Flags
      context     
      lastNode    
      source      
      isStrict    
      directEval  

  private static com.oracle.truffle.js.runtime.JSException parserToJSError(com.oracle.truffle.api.nodes.Node, com.oracle.js.parser.ParserException, com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;Lcom/oracle/js/parser/ParserException;Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/JSException;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=8, args_size=3
        start local 0 // com.oracle.truffle.api.nodes.Node lastNode
        start local 1 // com.oracle.js.parser.ParserException e
        start local 2 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 229
            aload 1 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            ldc "\r\n"
            ldc "\n"
            invokevirtual java.lang.String.replace:(Ljava/lang/CharSequence;Ljava/lang/CharSequence;)Ljava/lang/String;
            astore 3 /* message */
        start local 3 // java.lang.String message
         1: .line 230
            aload 1 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getErrorType:()Lcom/oracle/js/parser/JSErrorType;
            getstatic com.oracle.js.parser.JSErrorType.ReferenceError:Lcom/oracle/js/parser/JSErrorType;
            if_acmpne 3
         2: .line 231
            aload 3 /* message */
            aload 1 /* e */
            aload 0 /* lastNode */
            invokestatic com.oracle.truffle.js.runtime.Errors.createReferenceError:(Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            areturn
         3: .line 233
      StackMap locals: java.lang.String
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getErrorType:()Lcom/oracle/js/parser/JSErrorType;
            getstatic com.oracle.js.parser.JSErrorType.SyntaxError:Lcom/oracle/js/parser/JSErrorType;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 234
      StackMap locals:
      StackMap stack:
            aload 2 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifeq 10
            aload 0 /* lastNode */
            instanceof com.oracle.truffle.js.nodes.function.EvalNode
            ifeq 10
         5: .line 235
            aload 0 /* lastNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 4 /* sourceSection */
        start local 4 // com.oracle.truffle.api.source.SourceSection sourceSection
         6: .line 236
            aload 4 /* 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 5 /* name */
        start local 5 // java.lang.String name
         7: .line 237
            aload 4 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartLine:()I
            istore 6 /* lineNumber */
        start local 6 // int lineNumber
         8: .line 238
            aload 4 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getStartColumn:()I
            iconst_1
            isub
            istore 7 /* columnNumber */
        start local 7 // int columnNumber
         9: .line 239
            new java.lang.StringBuilder
            dup
            aload 5 /* name */
            invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            bipush 35
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 6 /* lineNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            bipush 58
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            iload 7 /* columnNumber */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            aload 3 /* message */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            astore 3 /* message */
        end local 7 // int columnNumber
        end local 6 // int lineNumber
        end local 5 // java.lang.String name
        end local 4 // com.oracle.truffle.api.source.SourceSection sourceSection
        10: .line 241
      StackMap locals:
      StackMap stack:
            aload 3 /* message */
            aload 1 /* e */
            aload 0 /* lastNode */
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            areturn
        end local 3 // java.lang.String message
        end local 2 // com.oracle.truffle.js.runtime.JSContext context
        end local 1 // com.oracle.js.parser.ParserException e
        end local 0 // com.oracle.truffle.api.nodes.Node lastNode
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0       lastNode  Lcom/oracle/truffle/api/nodes/Node;
            0   11     1              e  Lcom/oracle/js/parser/ParserException;
            0   11     2        context  Lcom/oracle/truffle/js/runtime/JSContext;
            1   11     3        message  Ljava/lang/String;
            6   10     4  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            7   10     5           name  Ljava/lang/String;
            8   10     6     lineNumber  I
            9   10     7   columnNumber  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      lastNode  
      e         
      context   

  public com.oracle.truffle.js.nodes.ScriptNode evalCompile(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String sourceCode
        start local 3 // java.lang.String name
         0: .line 248
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.checkEvalAllowed:()V
         1: .line 249
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            ldc "js"
            aload 2 /* sourceCode */
            aload 3 /* name */
            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;
            iconst_0
            ldc ""
            ldc ""
            invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateScript:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;ZLjava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
         2: areturn
         3: .line 250
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserException
            astore 4 /* e */
        start local 4 // com.oracle.js.parser.ParserException e
         4: .line 251
            aload 4 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 4 // com.oracle.js.parser.ParserException e
        end local 3 // java.lang.String name
        end local 2 // java.lang.String sourceCode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    5     0        this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    5     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    5     2  sourceCode  Ljava/lang/String;
            0    5     3        name  Ljava/lang/String;
            4    5     4           e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           0     2       3  Class com.oracle.js.parser.ParserException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
            Name  Flags
      context     
      sourceCode  
      name        

  public 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.lang.String[]);
    descriptor: (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;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=8, args_size=6
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // java.lang.String prolog
        start local 4 // java.lang.String epilog
        start local 5 // java.lang.String[] argumentNames
         0: .line 259
            aload 2 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getMimeType:()Ljava/lang/String;
            astore 6 /* mimeType */
        start local 6 // java.lang.String mimeType
         1: .line 260
            ldc "application/javascript+module"
            aload 6 /* mimeType */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 2
            aload 6 /* mimeType */
            ifnonnull 3
            aload 2 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            ldc ".mjs"
            invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
            ifeq 3
         2: .line 261
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* source */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.fakeScriptForModule:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
         3: .line 264
      StackMap locals:
      StackMap stack:
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            aload 2 /* source */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
            invokevirtual com.oracle.truffle.js.runtime.JSParserOptions.isStrict:()Z
            aload 3 /* prolog */
            aload 4 /* epilog */
            aload 5 /* argumentNames */
            invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateScript:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;ZLjava/lang/String;Ljava/lang/String;[Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
         4: areturn
         5: .line 265
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserException
            astore 7 /* e */
        start local 7 // com.oracle.js.parser.ParserException e
         6: .line 266
            aload 7 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 7 // com.oracle.js.parser.ParserException e
        end local 6 // java.lang.String mimeType
        end local 5 // java.lang.String[] argumentNames
        end local 4 // java.lang.String epilog
        end local 3 // java.lang.String prolog
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    7     1        context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    7     2         source  Lcom/oracle/truffle/api/source/Source;
            0    7     3         prolog  Ljava/lang/String;
            0    7     4         epilog  Ljava/lang/String;
            0    7     5  argumentNames  [Ljava/lang/String;
            1    7     6       mimeType  Ljava/lang/String;
            6    7     7              e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           3     4       5  Class com.oracle.js.parser.ParserException
    MethodParameters:
               Name  Flags
      context        
      source         
      prolog         
      epilog         
      argumentNames  

  private com.oracle.truffle.js.nodes.ScriptNode fakeScriptForModule(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
         0: .line 271
            new com.oracle.truffle.js.parser.GraalJSEvaluator$2
            dup
            aload 0 /* this */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getLanguage:()Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            invokestatic com.oracle.truffle.js.nodes.function.JSBuiltin.createSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            aconst_null
            aload 1 /* context */
            aload 2 /* source */
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$2.<init>:(Lcom/oracle/truffle/js/parser/GraalJSEvaluator;Lcom/oracle/truffle/js/lang/JavaScriptLanguage;Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/frame/FrameDescriptor;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)V
            astore 3 /* rootNode */
        start local 3 // com.oracle.truffle.api.nodes.RootNode rootNode
         1: .line 293
            aload 1 /* context */
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            aload 3 /* rootNode */
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            iconst_0
            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 4 /* functionData */
        start local 4 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         2: .line 294
            aload 1 /* context */
            aload 4 /* functionData */
            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 4 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 3 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    3     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    3     2        source  Lcom/oracle/truffle/api/source/Source;
            1    3     3      rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            2    3     4  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    MethodParameters:
         Name  Flags
      context  
      source   

  private static com.oracle.truffle.api.object.DynamicObject createTopLevelAwaitReject(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 298
            aload 0 /* context */
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.TopLevelAwaitReject:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$0(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 1 /* functionData */
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 299
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 1 /* functionData */
            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 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createTopLevelAwaitRejectImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 312
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitRejectedRootNode
            dup
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitRejectedRootNode.<init>:()V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 313
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            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;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.api.object.DynamicObject createTopLevelAwaitResolve(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 317
            aload 0 /* context */
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.TopLevelAwaitResolve:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$1(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 1 /* functionData */
        start local 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 318
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 1 /* functionData */
            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 1 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0       context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createTopLevelAwaitResolveImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 329
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitFulfilledRootNode
            dup
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitFulfilledRootNode.<init>:()V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 330
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            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;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  public com.oracle.truffle.js.nodes.ScriptNode parseScript(com.oracle.truffle.js.runtime.JSContext, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String sourceCode
         0: .line 336
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            ldc "js"
            aload 2 /* sourceCode */
            ldc "<unknown>"
            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;
            iconst_0
            ldc ""
            ldc ""
            invokestatic com.oracle.truffle.js.parser.JavaScriptTranslator.translateScript:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;ZLjava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
         1: areturn
         2: .line 337
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserException
            astore 3 /* e */
        start local 3 // com.oracle.js.parser.ParserException e
         3: .line 338
            aload 3 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 3 // com.oracle.js.parser.ParserException e
        end local 2 // java.lang.String sourceCode
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    4     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     2  sourceCode  Ljava/lang/String;
            3    4     3           e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.js.parser.ParserException
    MethodParameters:
            Name  Flags
      context     
      sourceCode  

  public java.lang.Integer[] parseDate(com.oracle.truffle.js.runtime.JSRealm, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)[Ljava/lang/Integer;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // java.lang.String date
         0: .line 345
            new com.oracle.truffle.js.parser.date.DateParser
            dup
            aload 1 /* realm */
            aload 2 /* date */
            invokespecial com.oracle.truffle.js.parser.date.DateParser.<init>:(Lcom/oracle/truffle/js/runtime/JSRealm;Ljava/lang/String;)V
            astore 3 /* dateParser */
        start local 3 // com.oracle.truffle.js.parser.date.DateParser dateParser
         1: .line 346
            aload 3 /* dateParser */
            invokevirtual com.oracle.truffle.js.parser.date.DateParser.parse:()Z
            ifeq 2
            aload 3 /* dateParser */
            invokevirtual com.oracle.truffle.js.parser.date.DateParser.getDateFields:()[Ljava/lang/Integer;
            goto 3
      StackMap locals: com.oracle.truffle.js.parser.date.DateParser
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: java.lang.Integer[]
         3: areturn
        end local 3 // com.oracle.truffle.js.parser.date.DateParser dateParser
        end local 2 // java.lang.String date
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    4     1       realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    4     2        date  Ljava/lang/String;
            1    4     3  dateParser  Lcom/oracle/truffle/js/parser/date/DateParser;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
       Name  Flags
      realm  
      date   

  public java.lang.String parseToJSON(com.oracle.truffle.js.runtime.JSContext, java.lang.String, java.lang.String, boolean);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;Z)Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String code
        start local 3 // java.lang.String name
        start local 4 // boolean includeLoc
         0: .line 351
            aload 2 /* code */
            aload 3 /* name */
            iload 4 /* includeLoc */
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseToJSON:(Ljava/lang/String;Ljava/lang/String;ZLcom/oracle/truffle/js/runtime/JSParserOptions;)Ljava/lang/String;
            areturn
        end local 4 // boolean includeLoc
        end local 3 // java.lang.String name
        end local 2 // java.lang.String code
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1     context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2        code  Ljava/lang/String;
            0    1     3        name  Ljava/lang/String;
            0    1     4  includeLoc  Z
    MethodParameters:
            Name  Flags
      context     
      code        
      name        
      includeLoc  

  public java.lang.Object getDefaultNodeFactory();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
         0: .line 356
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getDefaultInstance:()Lcom/oracle/truffle/js/nodes/NodeFactory;
            areturn
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;

  public static java.util.function.Supplier<com.oracle.truffle.js.nodes.ScriptNode> internalParseForTiming(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Ljava/util/function/Supplier;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.source.Source source
         0: .line 363
            aload 0 /* context */
            aload 1 /* source */
            new com.oracle.truffle.js.runtime.JSParserOptions
            dup
            invokespecial com.oracle.truffle.js.runtime.JSParserOptions.<init>:()V
            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 2 /* ast */
        start local 2 // com.oracle.js.parser.ir.FunctionNode ast
         1: .line 364
            aload 0 /* context */
            aload 1 /* source */
            aload 2 /* ast */
            invokedynamic get(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ir/FunctionNode;)Ljava/util/function/Supplier;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  ()Ljava/lang/Object;
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$2(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/ScriptNode; (6)
                  ()Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
        end local 2 // com.oracle.js.parser.ir.FunctionNode ast
        end local 1 // com.oracle.truffle.api.source.Source source
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     1   source  Lcom/oracle/truffle/api/source/Source;
            1    2     2      ast  Lcom/oracle/js/parser/ir/FunctionNode;
    Signature: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Ljava/util/function/Supplier<Lcom/oracle/truffle/js/nodes/ScriptNode;>;
    MethodParameters:
         Name  Flags
      context  
      source   

  public com.oracle.truffle.js.runtime.objects.JSModuleRecord parseModule(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.runtime.objects.JSModuleLoader);
    descriptor: (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;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // com.oracle.truffle.js.runtime.objects.JSModuleLoader moduleLoader
         0: .line 371
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            aload 2 /* source */
            aload 3 /* moduleLoader */
            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;
         1: areturn
         2: .line 372
      StackMap locals:
      StackMap stack: com.oracle.js.parser.ParserException
            astore 4 /* e */
        start local 4 // com.oracle.js.parser.ParserException e
         3: .line 373
            aload 4 /* e */
            invokevirtual com.oracle.js.parser.ParserException.getMessage:()Ljava/lang/String;
            aload 4 /* e */
            aconst_null
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 4 // com.oracle.js.parser.ParserException e
        end local 3 // com.oracle.truffle.js.runtime.objects.JSModuleLoader moduleLoader
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    4     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     2        source  Lcom/oracle/truffle/api/source/Source;
            0    4     3  moduleLoader  Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;
            3    4     4             e  Lcom/oracle/js/parser/ParserException;
      Exception table:
        from    to  target  type
           0     1       2  Class com.oracle.js.parser.ParserException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      context       
      source        
      moduleLoader  

  public com.oracle.truffle.js.runtime.objects.JSModuleRecord hostResolveImportedModule(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.objects.ScriptOrModule, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.runtime.objects.ScriptOrModule referrer
        start local 3 // java.lang.String specifier
         0: .line 380
            aload 2 /* referrer */
            instanceof com.oracle.truffle.js.runtime.objects.JSModuleRecord
            ifeq 1
            aload 2 /* referrer */
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModuleLoader:()Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getModuleLoader:()Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.runtime.objects.JSModuleLoader
         2: astore 4 /* moduleLoader */
        start local 4 // com.oracle.truffle.js.runtime.objects.JSModuleLoader moduleLoader
         3: .line 381
            aload 4 /* moduleLoader */
            aload 2 /* referrer */
            aload 3 /* specifier */
            invokeinterface com.oracle.truffle.js.runtime.objects.JSModuleLoader.resolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            areturn
        end local 4 // com.oracle.truffle.js.runtime.objects.JSModuleLoader moduleLoader
        end local 3 // java.lang.String specifier
        end local 2 // com.oracle.truffle.js.runtime.objects.ScriptOrModule referrer
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    4     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     2      referrer  Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;
            0    4     3     specifier  Ljava/lang/String;
            3    4     4  moduleLoader  Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
           Name  Flags
      context    
      referrer   
      specifier  

  private static com.oracle.truffle.js.runtime.objects.JSModuleRecord hostResolveImportedModule(com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
        start local 1 // java.lang.String specifier
         0: .line 385
            aload 0 /* referencingModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModuleLoader:()Lcom/oracle/truffle/js/runtime/objects/JSModuleLoader;
            aload 0 /* referencingModule */
            aload 1 /* specifier */
            invokeinterface com.oracle.truffle.js.runtime.objects.JSModuleLoader.resolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/ScriptOrModule;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            areturn
        end local 1 // java.lang.String specifier
        end local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0  referencingModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0    1     1          specifier  Ljava/lang/String;
    MethodParameters:
                   Name  Flags
      referencingModule  
      specifier          

  java.util.Collection<java.lang.String> getExportedNames(com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/util/Collection;
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 389
            aload 0 /* this */
            aload 1 /* moduleRecord */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.getExportedNames:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Set;)Ljava/util/Collection;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1  moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    Signature: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
              Name  Flags
      moduleRecord  

  private java.util.Collection<java.lang.String> getExportedNames(com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.util.Set<com.oracle.truffle.js.runtime.objects.JSModuleRecord>);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Set;)Ljava/util/Collection;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=11, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        start local 2 // java.util.Set exportStarSet
         0: .line 393
            aload 2 /* exportStarSet */
            aload 1 /* moduleRecord */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 2
         1: .line 395
            invokestatic java.util.Collections.emptySortedSet:()Ljava/util/SortedSet;
            areturn
         2: .line 397
      StackMap locals:
      StackMap stack:
            aload 2 /* exportStarSet */
            aload 1 /* moduleRecord */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         3: .line 398
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* exportedNames */
        start local 3 // java.util.Collection exportedNames
         4: .line 399
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module
            astore 4 /* module */
        start local 4 // com.oracle.js.parser.ir.Module module
         5: .line 400
            aload 4 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getLocalExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 8
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Set java.util.Collection com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
         6: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 5 /* exportEntry */
        start local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         7: .line 402
            aload 3 /* exportedNames */
            aload 5 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getExportName:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         8: .line 400
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
         9: .line 404
            aload 4 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getIndirectExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 12
      StackMap locals:
      StackMap stack:
        10: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 5 /* exportEntry */
        start local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        11: .line 406
            aload 3 /* exportedNames */
            aload 5 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getExportName:()Ljava/lang/String;
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        12: .line 404
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        13: .line 408
            aload 4 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getStarExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 23
      StackMap locals:
      StackMap stack:
        14: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 5 /* exportEntry */
        start local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        15: .line 409
            aload 1 /* moduleRecord */
            aload 5 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getModuleRequest:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.hostResolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 7 /* requestedModule */
        start local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requestedModule
        16: .line 410
            aload 0 /* this */
            aload 7 /* requestedModule */
            aload 2 /* exportStarSet */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.getExportedNames:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Set;)Ljava/util/Collection;
            astore 8 /* starNames */
        start local 8 // java.util.Collection starNames
        17: .line 411
            aload 8 /* starNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 10
            goto 22
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Set java.util.Collection com.oracle.js.parser.ir.Module com.oracle.js.parser.ir.Module$ExportEntry java.util.Iterator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Collection top java.util.Iterator
      StackMap stack:
        18: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 9 /* starName */
        start local 9 // java.lang.String starName
        19: .line 412
            aload 9 /* starName */
            ldc "default"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 22
        20: .line 413
            aload 3 /* exportedNames */
            aload 9 /* starName */
            invokeinterface java.util.Collection.contains:(Ljava/lang/Object;)Z
            ifne 22
        21: .line 414
            aload 3 /* exportedNames */
            aload 9 /* starName */
            invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
            pop
        end local 9 // java.lang.String starName
        22: .line 411
      StackMap locals:
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 18
        end local 8 // java.util.Collection starNames
        end local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requestedModule
        end local 5 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        23: .line 408
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Set java.util.Collection com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 14
        24: .line 419
            aload 3 /* exportedNames */
            areturn
        end local 4 // com.oracle.js.parser.ir.Module module
        end local 3 // java.util.Collection exportedNames
        end local 2 // java.util.Set exportStarSet
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   25     0             this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   25     1     moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   25     2    exportStarSet  Ljava/util/Set<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
            4   25     3    exportedNames  Ljava/util/Collection<Ljava/lang/String;>;
            5   25     4           module  Lcom/oracle/js/parser/ir/Module;
            7    8     5      exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           11   12     5      exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           15   23     5      exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           16   23     7  requestedModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           17   23     8        starNames  Ljava/util/Collection<Ljava/lang/String;>;
           19   22     9         starName  Ljava/lang/String;
    Signature: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Set<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;)Ljava/util/Collection<Ljava/lang/String;>;
    MethodParameters:
               Name  Flags
      moduleRecord   
      exportStarSet  

  public com.oracle.truffle.js.runtime.objects.ExportResolution resolveExport(com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
        start local 2 // java.lang.String exportName
         0: .line 425
            aload 0 /* this */
            aload 1 /* referencingModule */
            aload 2 /* exportName */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.resolveExport:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;Ljava/util/Set;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        end local 2 // java.lang.String exportName
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0    1     0               this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1  referencingModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0    1     2         exportName  Ljava/lang/String;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                   Name  Flags
      referencingModule  
      exportName         

  private com.oracle.truffle.js.runtime.objects.ExportResolution resolveExport(com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.String, java.util.Set<com.oracle.truffle.js.runtime.util.Pair<com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.String>>);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;Ljava/util/Set;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
        start local 2 // java.lang.String exportName
        start local 3 // java.util.Set resolveSet
         0: .line 443
            new com.oracle.truffle.js.runtime.util.Pair
            dup
            aload 1 /* referencingModule */
            aload 2 /* exportName */
            invokespecial com.oracle.truffle.js.runtime.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            astore 4 /* resolved */
        start local 4 // com.oracle.truffle.js.runtime.util.Pair resolved
         1: .line 444
            aload 3 /* resolveSet */
            aload 4 /* resolved */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 3
         2: .line 446
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.notFound:()Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
         3: .line 448
      StackMap locals: com.oracle.truffle.js.runtime.util.Pair
      StackMap stack:
            aload 3 /* resolveSet */
            aload 4 /* resolved */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
         4: .line 449
            aload 1 /* referencingModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module
            astore 5 /* module */
        start local 5 // com.oracle.js.parser.ir.Module module
         5: .line 450
            aload 5 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getLocalExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 9
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
         6: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 6 /* exportEntry */
        start local 6 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         7: .line 451
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getExportName:()Ljava/lang/String;
            aload 2 /* exportName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 9
         8: .line 453
            aload 1 /* referencingModule */
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getLocalName:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.resolved:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        end local 6 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         9: .line 450
      StackMap locals:
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        10: .line 456
            aload 5 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getIndirectExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 17
      StackMap locals:
      StackMap stack:
        11: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 6 /* exportEntry */
        start local 6 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        12: .line 457
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getExportName:()Ljava/lang/String;
            aload 2 /* exportName */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 17
        13: .line 458
            aload 1 /* referencingModule */
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getModuleRequest:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.hostResolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 8 /* importedModule */
        start local 8 // com.oracle.truffle.js.runtime.objects.JSModuleRecord importedModule
        14: .line 459
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getImportName:()Ljava/lang/String;
            ldc "*"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
        15: .line 461
            aload 8 /* importedModule */
            ldc "*namespace*"
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.resolved:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        16: .line 464
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module com.oracle.js.parser.ir.Module$ExportEntry java.util.Iterator com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            aload 0 /* this */
            aload 8 /* importedModule */
            aload 6 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getImportName:()Ljava/lang/String;
            aload 3 /* resolveSet */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.resolveExport:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;Ljava/util/Set;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        end local 8 // com.oracle.truffle.js.runtime.objects.JSModuleRecord importedModule
        end local 6 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        17: .line 456
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        18: .line 468
            aload 2 /* exportName */
            ldc "default"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 20
        19: .line 470
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.notFound:()Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        20: .line 473
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module
      StackMap stack:
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.notFound:()Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            astore 6 /* starResolution */
        start local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution starResolution
        21: .line 474
            aload 5 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getStarExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 33
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module com.oracle.truffle.js.runtime.objects.ExportResolution top java.util.Iterator
      StackMap stack:
        22: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 7 /* exportEntry */
        start local 7 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        23: .line 475
            aload 1 /* referencingModule */
            aload 7 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getModuleRequest:()Ljava/lang/String;
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.hostResolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 9 /* importedModule */
        start local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord importedModule
        24: .line 476
            aload 0 /* this */
            aload 9 /* importedModule */
            aload 2 /* exportName */
            aload 3 /* resolveSet */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.resolveExport:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;Ljava/util/Set;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            astore 10 /* resolution */
        start local 10 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
        25: .line 477
            aload 10 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isAmbiguous:()Z
            ifeq 27
        26: .line 478
            aload 10 /* resolution */
            areturn
        27: .line 480
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module com.oracle.truffle.js.runtime.objects.ExportResolution com.oracle.js.parser.ir.Module$ExportEntry java.util.Iterator com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.ExportResolution
      StackMap stack:
            aload 10 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isNull:()Z
            ifne 33
        28: .line 481
            aload 6 /* starResolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isNull:()Z
            ifeq 31
        29: .line 482
            aload 10 /* resolution */
            astore 6 /* starResolution */
        30: .line 483
            goto 33
        31: .line 485
      StackMap locals:
      StackMap stack:
            aload 10 /* resolution */
            aload 6 /* starResolution */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 33
        32: .line 486
            invokestatic com.oracle.truffle.js.runtime.objects.ExportResolution.ambiguous:()Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            areturn
        end local 10 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
        end local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord importedModule
        end local 7 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
        33: .line 474
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.String java.util.Set com.oracle.truffle.js.runtime.util.Pair com.oracle.js.parser.ir.Module com.oracle.truffle.js.runtime.objects.ExportResolution top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 22
        34: .line 491
            aload 6 /* starResolution */
            areturn
        end local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution starResolution
        end local 5 // com.oracle.js.parser.ir.Module module
        end local 4 // com.oracle.truffle.js.runtime.util.Pair resolved
        end local 3 // java.util.Set resolveSet
        end local 2 // java.lang.String exportName
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord referencingModule
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   35     0               this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   35     1  referencingModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   35     2         exportName  Ljava/lang/String;
            0   35     3         resolveSet  Ljava/util/Set<Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;>;>;
            1   35     4           resolved  Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;>;
            5   35     5             module  Lcom/oracle/js/parser/ir/Module;
            7    9     6        exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           12   17     6        exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           14   17     8     importedModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           21   35     6     starResolution  Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
           23   33     7        exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
           24   33     9     importedModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           25   33    10         resolution  Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
    Signature: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;Ljava/util/Set<Lcom/oracle/truffle/js/runtime/util/Pair<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;>;>;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
    MethodParameters:
                   Name  Flags
      referencingModule  
      exportName         
      resolveSet         

  public com.oracle.truffle.api.object.DynamicObject getModuleNamespace(com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 497
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getNamespace:()Lcom/oracle/truffle/api/object/DynamicObject;
            ifnull 2
         1: .line 498
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getNamespace:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         2: .line 501
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 3
            aload 1 /* moduleRecord */
            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.Unlinked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 502
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.getExportedNames:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/util/Collection;
            astore 2 /* exportedNames */
        start local 2 // java.util.Collection exportedNames
         4: .line 503
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* unambiguousNames */
        start local 3 // java.util.List unambiguousNames
         5: .line 504
            aload 2 /* exportedNames */
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 5
            goto 12
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
         6: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* exportedName */
        start local 4 // java.lang.String exportedName
         7: .line 505
            aload 0 /* this */
            aload 1 /* moduleRecord */
            aload 4 /* exportedName */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.resolveExport:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            astore 6 /* resolution */
        start local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
         8: .line 506
            aload 6 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isNull:()Z
            ifeq 10
         9: .line 507
            ldc "Could not resolve export"
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        10: .line 508
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Collection java.util.List java.lang.String java.util.Iterator com.oracle.truffle.js.runtime.objects.ExportResolution
      StackMap stack:
            aload 6 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isAmbiguous:()Z
            ifne 12
        11: .line 509
            aload 3 /* unambiguousNames */
            new com.oracle.truffle.js.runtime.util.Pair
            dup
            aload 4 /* exportedName */
            aload 6 /* resolution */
            invokespecial com.oracle.truffle.js.runtime.util.Pair.<init>:(Ljava/lang/Object;Ljava/lang/Object;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
        end local 4 // java.lang.String exportedName
        12: .line 504
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Collection java.util.List top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 6
        13: .line 512
            new java.util.LinkedHashMap
            dup
            invokespecial java.util.LinkedHashMap.<init>:()V
            astore 4 /* sortedNames */
        start local 4 // java.util.Map sortedNames
        14: .line 513
            aload 3 /* unambiguousNames */
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/runtime/util/Pair.getFirst()Ljava/lang/Object; (5)
                  (Lcom/oracle/truffle/js/runtime/util/Pair;)Ljava/lang/String;
            invokestatic java.util.Comparator.comparing:(Ljava/util/function/Function;)Ljava/util/Comparator;
            invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
            aload 4 /* sortedNames */
            invokedynamic accept(Ljava/util/Map;)Ljava/util/function/Consumer;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)V
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$4(Ljava/util/Map;Lcom/oracle/truffle/js/runtime/util/Pair;)V (6)
                  (Lcom/oracle/truffle/js/runtime/util/Pair;)V
            invokeinterface java.util.stream.Stream.forEachOrdered:(Ljava/util/function/Consumer;)V
        15: .line 514
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 1 /* moduleRecord */
            aload 4 /* sortedNames */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSModuleNamespace.create:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Map;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 5 /* namespace */
        start local 5 // com.oracle.truffle.api.object.DynamicObject namespace
        16: .line 515
            aload 1 /* moduleRecord */
            aload 5 /* namespace */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setNamespace:(Lcom/oracle/truffle/api/object/DynamicObject;)V
        17: .line 516
            aload 5 /* namespace */
            areturn
        end local 5 // com.oracle.truffle.api.object.DynamicObject namespace
        end local 4 // java.util.Map sortedNames
        end local 3 // java.util.List unambiguousNames
        end local 2 // java.util.Collection exportedNames
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   18     0              this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   18     1      moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            4   18     2     exportedNames  Ljava/util/Collection<Ljava/lang/String;>;
            5   18     3  unambiguousNames  Ljava/util/List<Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/objects/ExportResolution;>;>;
            7   12     4      exportedName  Ljava/lang/String;
            8   12     6        resolution  Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
           14   18     4       sortedNames  Ljava/util/Map<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/objects/ExportResolution;>;
           16   18     5         namespace  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      moduleRecord  

  public void moduleInstantiation(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 522
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 2
            aload 2 /* moduleRecord */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 1
            aload 2 /* moduleRecord */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 2
      StackMap locals:
      StackMap stack:
         1: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 523
      StackMap locals:
      StackMap stack:
            new java.util.ArrayDeque
            dup
            iconst_4
            invokespecial java.util.ArrayDeque.<init>:(I)V
            astore 3 /* stack */
        start local 3 // java.util.Deque stack
         3: .line 526
            aload 0 /* this */
            aload 1 /* realm */
            aload 2 /* moduleRecord */
            aload 3 /* stack */
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.innerModuleInstantiation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
            pop
         4: .line 527
            goto 13
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException
         5: astore 4 /* e */
        start local 4 // com.oracle.truffle.js.runtime.GraalJSException e
         6: .line 528
            aload 3 /* stack */
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 6
            goto 10
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.GraalJSException top java.util.Iterator
      StackMap stack:
         7: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 5 /* m */
        start local 5 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
         8: .line 529
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 9
            aload 5 /* m */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 530
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Iterator
      StackMap stack:
            aload 5 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setUninstantiated:()V
        end local 5 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        10: .line 528
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.GraalJSException top java.util.Iterator
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        11: .line 532
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 12
            aload 2 /* moduleRecord */
            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.Unlinked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 533
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.GraalJSException
      StackMap stack:
            aload 4 /* e */
            athrow
        end local 4 // com.oracle.truffle.js.runtime.GraalJSException e
        13: .line 536
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 14
            aload 2 /* moduleRecord */
            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.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 14
            aload 2 /* moduleRecord */
            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 14
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        14: .line 537
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 15
            aload 3 /* stack */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 15
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        15: .line 538
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.util.Deque stack
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   16     1         realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   16     2  moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            3   16     3         stack  Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
            6   13     4             e  Lcom/oracle/truffle/js/runtime/GraalJSException;
            8   10     5             m  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
      Exception table:
        from    to  target  type
           3     4       5  Class com.oracle.truffle.js.runtime.GraalJSException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  

  private int innerModuleInstantiation(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.util.Deque<com.oracle.truffle.js.runtime.objects.JSModuleRecord>, );
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        start local 3 // java.util.Deque stack
        start local 4 // int index0
         0: .line 541
            iload 4 /* index0 */
            istore 5 /* index */
        start local 5 // int index
         1: .line 542
            aload 2 /* moduleRecord */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 2
            aload 2 /* moduleRecord */
            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.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 2
            aload 2 /* moduleRecord */
            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_acmpne 3
         2: .line 543
      StackMap locals: int
      StackMap stack:
            iload 5 /* index */
            ireturn
         3: .line 545
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 4
            aload 2 /* moduleRecord */
            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.Unlinked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 546
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
         5: .line 547
            aload 2 /* moduleRecord */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSIndex:(I)V
         6: .line 548
            aload 2 /* moduleRecord */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSAncestorIndex:(I)V
         7: .line 549
            iinc 5 /* index */ 1
         8: .line 550
            aload 3 /* stack */
            aload 2 /* moduleRecord */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
         9: .line 552
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module
            astore 6 /* module */
        start local 6 // com.oracle.js.parser.ir.Module module
        10: .line 553
            aload 6 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getRequestedModules:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 21
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
        11: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* requestedModule */
        start local 7 // java.lang.String requestedModule
        12: .line 554
            aload 2 /* moduleRecord */
            aload 7 /* requestedModule */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.hostResolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 9 /* requiredModule */
        start local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        13: .line 555
            aload 0 /* this */
            aload 1 /* realm */
            aload 9 /* requiredModule */
            aload 3 /* stack */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.innerModuleInstantiation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
            istore 5 /* index */
        14: .line 556
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 16
            aload 9 /* requiredModule */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 16
            aload 9 /* requiredModule */
            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.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 16
        15: .line 557
            aload 9 /* requiredModule */
            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 16
            new java.lang.AssertionError
            dup
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getStatus:()Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        16: .line 558
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module java.lang.String java.util.Iterator com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 19
            aload 9 /* requiredModule */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 17
            iconst_1
            goto 18
      StackMap locals:
      StackMap stack:
        17: iconst_0
      StackMap locals:
      StackMap stack: int
        18: aload 3 /* stack */
            aload 9 /* requiredModule */
            invokeinterface java.util.Deque.contains:(Ljava/lang/Object;)Z
            if_icmpeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 559
      StackMap locals:
      StackMap stack:
            aload 9 /* requiredModule */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 21
        20: .line 560
            aload 2 /* moduleRecord */
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            invokestatic java.lang.Math.min:(II)I
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSAncestorIndex:(I)V
        end local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        end local 7 // java.lang.String requestedModule
        21: .line 553
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        22: .line 563
            aload 0 /* this */
            aload 1 /* realm */
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.moduleInitializeEnvironment:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
        23: .line 565
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 24
            aload 2 /* moduleRecord */
            aload 3 /* stack */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.occursExactlyOnce:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Collection;)Z
            ifne 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 566
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 25
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            if_icmple 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 567
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            if_icmpne 29
        26: .line 569
      StackMap locals:
      StackMap stack:
            aload 3 /* stack */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 7 /* requiredModule */
        start local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        27: .line 570
            aload 7 /* requiredModule */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
        28: .line 571
            aload 7 /* requiredModule */
            aload 2 /* moduleRecord */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 26
        end local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        29: .line 576
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ireturn
        end local 6 // com.oracle.js.parser.ir.Module module
        end local 5 // int index
        end local 4 // int index0
        end local 3 // java.util.Deque stack
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   30     0             this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   30     1            realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   30     2     moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   30     3            stack  Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
            0   30     4           index0  I
            1   30     5            index  I
           10   30     6           module  Lcom/oracle/js/parser/ir/Module;
           12   21     7  requestedModule  Ljava/lang/String;
           13   21     9   requiredModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           27   29     7   requiredModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    Signature: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;I)I
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  
      stack         
      index0        

  private void moduleInitializeEnvironment(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 580
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* moduleRecord */
            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.Linking:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 581
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module
            astore 3 /* module */
        start local 3 // com.oracle.js.parser.ir.Module module
         2: .line 582
            aload 3 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getIndirectExportEntries:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
         3: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module$ExportEntry
            astore 4 /* exportEntry */
        start local 4 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         4: .line 583
            aload 0 /* this */
            aload 2 /* moduleRecord */
            aload 4 /* exportEntry */
            invokevirtual com.oracle.js.parser.ir.Module$ExportEntry.getExportName:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.resolveExport:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
            astore 6 /* resolution */
        start local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
         5: .line 584
            aload 6 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isNull:()Z
            ifne 6
            aload 6 /* resolution */
            invokevirtual com.oracle.truffle.js.runtime.objects.ExportResolution.isAmbiguous:()Z
            ifeq 7
         6: .line 585
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.js.parser.ir.Module com.oracle.js.parser.ir.Module$ExportEntry java.util.Iterator com.oracle.truffle.js.runtime.objects.ExportResolution
      StackMap stack:
            ldc "Could not resolve indirect export entry"
            invokestatic com.oracle.truffle.js.runtime.Errors.createSyntaxError:(Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 6 // com.oracle.truffle.js.runtime.objects.ExportResolution resolution
        end local 4 // com.oracle.js.parser.ir.Module$ExportEntry exportEntry
         7: .line 582
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 3
         8: .line 591
            aload 1 /* realm */
            aload 2 /* moduleRecord */
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)Ljava/lang/Object;
            pop
         9: .line 592
            return
        end local 3 // com.oracle.js.parser.ir.Module module
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   10     1         realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   10     2  moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            2   10     3        module  Lcom/oracle/js/parser/ir/Module;
            4    7     4   exportEntry  Lcom/oracle/js/parser/ir/Module$ExportEntry;
            5    7     6    resolution  Lcom/oracle/truffle/js/runtime/objects/ExportResolution;
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  

  public java.lang.Object moduleEvaluation(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=6, locals=9, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 598
            aload 2 /* moduleRecord */
            astore 3 /* module */
        start local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
         1: .line 599
            new java.util.ArrayDeque
            dup
            iconst_4
            invokespecial java.util.ArrayDeque.<init>:(I)V
            astore 4 /* stack */
        start local 4 // java.util.Deque stack
         2: .line 600
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionTopLevelAwait:()Z
            ifeq 29
         3: .line 601
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 4
            aload 3 /* module */
            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.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 4
            aload 3 /* module */
            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 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 602
      StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque
      StackMap stack:
            aload 3 /* module */
            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_acmpne 6
         5: .line 603
            aload 3 /* module */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.getAsyncCycleRoot:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 3 /* module */
         6: .line 605
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            ifnull 8
         7: .line 606
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getPromise:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
         8: .line 608
      StackMap locals:
      StackMap stack:
            aload 1 /* realm */
            invokestatic com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode.createDefault:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            astore 5 /* capability */
        start local 5 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
         9: .line 609
            aload 3 /* module */
            aload 5 /* capability */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setTopLevelCapability:(Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)V
        10: .line 611
            aload 0 /* this */
            aload 1 /* realm */
            aload 3 /* module */
            aload 4 /* stack */
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.innerModuleEvaluation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
            pop
        11: .line 612
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 12
            aload 3 /* module */
            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 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 613
      StackMap locals: com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 13
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 614
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isAsyncEvaluating:()Z
            ifne 15
        14: .line 615
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 5 /* capability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getResolve:()Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            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
        15: .line 617
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 28
            aload 4 /* stack */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 618
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 6 /* e */
        start local 6 // java.lang.Throwable e
        17: .line 619
            aload 6 /* e */
            invokestatic com.oracle.truffle.js.nodes.control.TryCatchNode.shouldCatch:(Ljava/lang/Throwable;)Z
            ifeq 27
        18: .line 620
            aload 4 /* stack */
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 8
            goto 23
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord java.lang.Throwable top java.util.Iterator
      StackMap stack:
        19: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 7 /* m */
        start local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        20: .line 621
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 21
            aload 7 /* m */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 622
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord java.lang.Throwable com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Iterator
      StackMap stack:
            aload 7 /* m */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
        22: .line 623
            aload 7 /* m */
            aload 6 /* e */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setEvaluationError:(Ljava/lang/Throwable;)V
        end local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        23: .line 620
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord java.lang.Throwable top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 19
        24: .line 625
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 26
            aload 3 /* module */
            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_acmpne 25
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            aload 6 /* e */
            if_acmpeq 26
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord java.lang.Throwable
      StackMap stack:
        25: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        26: .line 626
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            athrow
        27: .line 629
      StackMap locals:
      StackMap stack:
            aload 6 /* e */
            athrow
        end local 6 // java.lang.Throwable e
        28: .line 632
      StackMap locals:
      StackMap stack:
            aload 5 /* capability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getPromise:()Lcom/oracle/truffle/api/object/DynamicObject;
            areturn
        end local 5 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
        29: .line 635
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* realm */
            aload 3 /* module */
            aload 4 /* stack */
            iconst_0
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.innerModuleEvaluation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
            pop
        30: .line 636
            goto 42
      StackMap locals:
      StackMap stack: java.lang.Throwable
        31: astore 5 /* e */
        start local 5 // java.lang.Throwable e
        32: .line 637
            aload 5 /* e */
            invokestatic com.oracle.truffle.js.nodes.control.TryCatchNode.shouldCatch:(Ljava/lang/Throwable;)Z
            ifeq 41
        33: .line 638
            aload 4 /* stack */
            invokeinterface java.util.Deque.iterator:()Ljava/util/Iterator;
            astore 7
            goto 38
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque java.lang.Throwable top java.util.Iterator
      StackMap stack:
        34: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 6 /* m */
        start local 6 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        35: .line 639
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 36
            aload 6 /* m */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 640
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque java.lang.Throwable com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Iterator
      StackMap stack:
            aload 6 /* m */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
        37: .line 641
            aload 6 /* m */
            aload 5 /* e */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setEvaluationError:(Ljava/lang/Throwable;)V
        end local 6 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        38: .line 638
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque java.lang.Throwable top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 34
        39: .line 643
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 41
            aload 3 /* module */
            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_acmpne 40
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            aload 5 /* e */
            if_acmpeq 41
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque java.lang.Throwable
      StackMap stack:
        40: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 645
      StackMap locals:
      StackMap stack:
            aload 5 /* e */
            athrow
        end local 5 // java.lang.Throwable e
        42: .line 647
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 44
            aload 3 /* module */
            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_acmpne 43
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 44
      StackMap locals:
      StackMap stack:
        43: new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 649
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 45
            aload 4 /* stack */
            invokeinterface java.util.Deque.isEmpty:()Z
            ifne 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 650
      StackMap locals:
      StackMap stack:
            aload 3 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getExecutionResult:()Ljava/lang/Object;
            astore 5 /* result */
        start local 5 // java.lang.Object result
        46: .line 651
            aload 5 /* result */
            ifnonnull 47
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 48
      StackMap locals: java.lang.Object
      StackMap stack:
        47: aload 5 /* result */
      StackMap locals:
      StackMap stack: java.lang.Object
        48: areturn
        end local 5 // java.lang.Object result
        end local 4 // java.util.Deque stack
        end local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   49     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   49     1         realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   49     2  moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            1   49     3        module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            2   49     4         stack  Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
            9   29     5    capability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
           17   28     6             e  Ljava/lang/Throwable;
           20   23     7             m  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           32   42     5             e  Ljava/lang/Throwable;
           35   38     6             m  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           46   49     5        result  Ljava/lang/Object;
      Exception table:
        from    to  target  type
          10    16      16  Class java.lang.Throwable
          29    30      31  Class java.lang.Throwable
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  

  private static com.oracle.truffle.js.runtime.objects.JSModuleRecord getAsyncCycleRoot(com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
         0: .line 659
            aload 0 /* moduleRecord */
            astore 1 /* module */
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
         1: .line 660
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* module */
            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 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 662
      StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getAsyncParentModules:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 8
         3: .line 663
            aload 1 /* module */
            areturn
         4: .line 666
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getAsyncParentModules:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 667
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getAsyncParentModules:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.remove:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 2 /* nextCycleModule */
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord nextCycleModule
         6: .line 668
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 7
            aload 2 /* nextCycleModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmple 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 669
      StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            aload 2 /* nextCycleModule */
            astore 1 /* module */
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord nextCycleModule
         8: .line 665
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpgt 4
         9: .line 672
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 10
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 673
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            areturn
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0     moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            1   11     1           module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            6    8     2  nextCycleModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      moduleRecord  

  private int innerModuleEvaluation(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.util.Deque<com.oracle.truffle.js.runtime.objects.JSModuleRecord>, );
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=10, args_size=5
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        start local 3 // java.util.Deque stack
        start local 4 // int index0
         0: .line 679
            iload 4 /* index0 */
            istore 5 /* index */
        start local 5 // int index
         1: .line 680
            aload 2 /* moduleRecord */
            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_acmpne 5
         2: .line 681
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnonnull 4
         3: .line 682
            iload 5 /* index */
            ireturn
         4: .line 684
      StackMap locals: int
      StackMap stack:
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
         5: .line 687
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 7
         6: .line 688
            iload 5 /* index */
            ireturn
         7: .line 690
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 8
            aload 2 /* moduleRecord */
            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.Linked:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 8
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         8: .line 691
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
         9: .line 692
            aload 2 /* moduleRecord */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSIndex:(I)V
        10: .line 693
            aload 2 /* moduleRecord */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSAncestorIndex:(I)V
        11: .line 694
            aload 2 /* moduleRecord */
            iconst_0
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setPendingAsyncDependencies:(I)V
        12: .line 695
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.initAsyncParentModules:()V
        13: .line 696
            iinc 5 /* index */ 1
        14: .line 697
            aload 3 /* stack */
            aload 2 /* moduleRecord */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        15: .line 699
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getModule:()Ljava/lang/Object;
            checkcast com.oracle.js.parser.ir.Module
            astore 6 /* module */
        start local 6 // com.oracle.js.parser.ir.Module module
        16: .line 700
            aload 6 /* module */
            invokevirtual com.oracle.js.parser.ir.Module.getRequestedModules:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 8
            goto 34
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
        17: aload 8
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 7 /* requestedModule */
        start local 7 // java.lang.String requestedModule
        18: .line 701
            aload 2 /* moduleRecord */
            aload 7 /* requestedModule */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.hostResolveImportedModule:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/String;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 9 /* requiredModule */
        start local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        19: .line 704
            aload 0 /* this */
            aload 1 /* realm */
            aload 9 /* requiredModule */
            aload 3 /* stack */
            iload 5 /* index */
            invokevirtual com.oracle.truffle.js.parser.GraalJSEvaluator.innerModuleEvaluation:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque;I)I
            istore 5 /* index */
        20: .line 705
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 21
            aload 9 /* requiredModule */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 21
            aload 9 /* requiredModule */
            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 21
            new java.lang.AssertionError
            dup
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getStatus:()Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        21: .line 706
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module java.lang.String java.util.Iterator com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 24
            aload 9 /* requiredModule */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 22
            iconst_1
            goto 23
      StackMap locals:
      StackMap stack:
        22: iconst_0
      StackMap locals:
      StackMap stack: int
        23: aload 3 /* stack */
            aload 9 /* requiredModule */
            invokeinterface java.util.Deque.contains:(Ljava/lang/Object;)Z
            if_icmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 707
      StackMap locals:
      StackMap stack:
            aload 9 /* requiredModule */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpne 27
        25: .line 708
            aload 2 /* moduleRecord */
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            invokestatic java.lang.Math.min:(II)I
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setDFSAncestorIndex:(I)V
        26: .line 709
            goto 31
        27: .line 710
      StackMap locals:
      StackMap stack:
            aload 9 /* requiredModule */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.getAsyncCycleRoot:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 9 /* requiredModule */
        28: .line 711
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 29
            aload 9 /* requiredModule */
            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 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 712
      StackMap locals:
      StackMap stack:
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 31
        30: .line 713
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.rethrow:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        31: .line 716
      StackMap locals:
      StackMap stack:
            aload 9 /* requiredModule */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isAsyncEvaluating:()Z
            ifeq 34
        32: .line 717
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.incPendingAsyncDependencies:()V
        33: .line 718
            aload 9 /* requiredModule */
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.appendAsyncParentModules:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
        end local 9 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        end local 7 // java.lang.String requestedModule
        34: .line 700
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module top java.util.Iterator
      StackMap stack:
            aload 8
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        35: .line 721
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getPendingAsyncDependencies:()I
            ifle 38
        36: .line 722
            aload 2 /* moduleRecord */
            iconst_1
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setAsyncEvaluating:(Z)V
        37: .line 723
            goto 43
      StackMap locals: com.oracle.truffle.js.parser.GraalJSEvaluator com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Deque int int com.oracle.js.parser.ir.Module
      StackMap stack:
        38: aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isTopLevelAsync:()Z
            ifeq 41
        39: .line 724
            aload 1 /* realm */
            aload 2 /* moduleRecord */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleAsyncExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
        40: .line 725
            goto 43
        41: .line 726
      StackMap locals:
      StackMap stack:
            aload 1 /* realm */
            aload 2 /* moduleRecord */
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)Ljava/lang/Object;
            astore 7 /* result */
        start local 7 // java.lang.Object result
        42: .line 727
            aload 2 /* moduleRecord */
            aload 7 /* result */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setExecutionResult:(Ljava/lang/Object;)V
        end local 7 // java.lang.Object result
        43: .line 730
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 44
            aload 2 /* moduleRecord */
            aload 3 /* stack */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.occursExactlyOnce:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Collection;)Z
            ifne 44
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        44: .line 731
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 45
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            if_icmple 45
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        45: .line 732
      StackMap locals:
      StackMap stack:
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 2 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            if_icmpne 49
        46: .line 734
      StackMap locals:
      StackMap stack:
            aload 3 /* stack */
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 7 /* requiredModule */
        start local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        47: .line 735
            aload 7 /* requiredModule */
            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.setStatus:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;)V
        48: .line 736
            aload 7 /* requiredModule */
            aload 2 /* moduleRecord */
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifeq 46
        end local 7 // com.oracle.truffle.js.runtime.objects.JSModuleRecord requiredModule
        49: .line 741
      StackMap locals:
      StackMap stack:
            iload 5 /* index */
            ireturn
        end local 6 // com.oracle.js.parser.ir.Module module
        end local 5 // int index
        end local 4 // int index0
        end local 3 // java.util.Deque stack
        end local 2 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   50     0             this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0   50     1            realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   50     2     moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   50     3            stack  Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
            0   50     4           index0  I
            1   50     5            index  I
           16   50     6           module  Lcom/oracle/js/parser/ir/Module;
           18   34     7  requestedModule  Ljava/lang/String;
           19   34     9   requiredModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           42   43     7           result  Ljava/lang/Object;
           47   49     7   requiredModule  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    Signature: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Deque<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;I)I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  
      stack         
      index0        

  private static void moduleAsyncExecution(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=6, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
         0: .line 747
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* module */
            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.Evaluating:Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord$Status;
            if_acmpeq 1
            aload 1 /* module */
            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 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 748
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isTopLevelAsync:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 749
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            iconst_1
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setAsyncEvaluating:(Z)V
         3: .line 750
            aload 0 /* realm */
            invokestatic com.oracle.truffle.js.nodes.promise.NewPromiseCapabilityNode.createDefault:(Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            astore 2 /* capability */
        start local 2 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
         4: .line 751
            aload 0 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 1 /* module */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createCallAsyncModuleFulfilled:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 3 /* onFulfilled */
        start local 3 // com.oracle.truffle.api.object.DynamicObject onFulfilled
         5: .line 752
            aload 0 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            aload 1 /* module */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createCallAsyncModuleRejected:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
            astore 4 /* onRejected */
        start local 4 // com.oracle.truffle.api.object.DynamicObject onRejected
         6: .line 753
            aload 2 /* capability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getPromise:()Lcom/oracle/truffle/api/object/DynamicObject;
            ldc "then"
            invokestatic com.oracle.truffle.js.runtime.objects.JSObject.get:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;)Ljava/lang/Object;
            astore 5 /* then */
        start local 5 // java.lang.Object then
         7: .line 754
            aload 2 /* capability */
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getPromise:()Lcom/oracle/truffle/api/object/DynamicObject;
            aload 5 /* then */
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 3 /* onFulfilled */
            aastore
            dup
            iconst_1
            aload 4 /* onRejected */
            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
         8: .line 755
            aload 0 /* realm */
            aload 1 /* module */
            aload 2 /* capability */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)Ljava/lang/Object;
            pop
         9: .line 756
            return
        end local 5 // java.lang.Object then
        end local 4 // com.oracle.truffle.api.object.DynamicObject onRejected
        end local 3 // com.oracle.truffle.api.object.DynamicObject onFulfilled
        end local 2 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   10     0        realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   10     1       module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            4   10     2   capability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            5   10     3  onFulfilled  Lcom/oracle/truffle/api/object/DynamicObject;
            6   10     4   onRejected  Lcom/oracle/truffle/api/object/DynamicObject;
            7   10     5         then  Ljava/lang/Object;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      realm   
      module  

  private static com.oracle.truffle.api.object.DynamicObject createCallAsyncModuleFulfilled(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
         0: .line 761
            aload 0 /* context */
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.AsyncModuleExecutionFulfilled:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$5(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 2 /* functionData */
        start local 2 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 762
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 2 /* functionData */
            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 /* function */
        start local 3 // com.oracle.truffle.api.object.DynamicObject function
         2: .line 763
            aload 3 /* function */
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.STORE_MODULE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            aload 1 /* module */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 764
            aload 3 /* function */
            areturn
        end local 3 // com.oracle.truffle.api.object.DynamicObject function
        end local 2 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     1        module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            1    4     2  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            2    4     3      function  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      context  
      module   

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createCallAsyncModuleFulfilledImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 780
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleFulfilledRoot
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleFulfilledRoot.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 781
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            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;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private static com.oracle.truffle.api.object.DynamicObject createCallAsyncModuleRejected(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.runtime.objects.JSModuleRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
         0: .line 787
            aload 0 /* context */
            getstatic com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey.AsyncModuleExecutionRejected:Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;
            invokedynamic apply()Ljava/util/function/Function;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Ljava/lang/Object;
                  com/oracle/truffle/js/parser/GraalJSEvaluator.lambda$6(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData; (6)
                  (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getOrCreateBuiltinFunctionData:(Lcom/oracle/truffle/js/runtime/JSContext$BuiltinFunctionKey;Ljava/util/function/Function;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 2 /* functionData */
        start local 2 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
         1: .line 788
            aload 0 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            aload 2 /* functionData */
            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 /* function */
        start local 3 // com.oracle.truffle.api.object.DynamicObject function
         2: .line 789
            aload 3 /* function */
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.STORE_MODULE_KEY:Lcom/oracle/truffle/api/object/HiddenKey;
            aload 1 /* module */
            invokestatic com.oracle.truffle.js.runtime.objects.JSObjectUtil.putHiddenProperty:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;Ljava/lang/Object;)V
         3: .line 790
            aload 3 /* function */
            areturn
        end local 3 // com.oracle.truffle.api.object.DynamicObject function
        end local 2 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    4     1        module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            1    4     2  functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            2    4     3      function  Lcom/oracle/truffle/api/object/DynamicObject;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
         Name  Flags
      context  
      module   

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData createCallAsyncModuleRejectedImpl(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 809
            invokestatic com.oracle.truffle.api.Truffle.getRuntime:()Lcom/oracle/truffle/api/TruffleRuntime;
            new com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleExecutionRejectedRoot
            dup
            aload 0 /* context */
            invokespecial com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleExecutionRejectedRoot.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;)V
            invokeinterface com.oracle.truffle.api.TruffleRuntime.createCallTarget:(Lcom/oracle/truffle/api/nodes/RootNode;)Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 810
            aload 0 /* context */
            aload 1 /* callTarget */
            iconst_1
            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;
            areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0     context  Lcom/oracle/truffle/js/runtime/JSContext;
            1    2     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      context  

  private static java.lang.Object asyncModuleExecutionFulfilled(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        start local 2 // java.lang.Object dynamicImportResolutionResult
         0: .line 815
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* module */
            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 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 816
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isAsyncEvaluating:()Z
            ifne 4
         2: .line 817
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 3
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnonnull 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 818
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         4: .line 820
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 821
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            iconst_0
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setAsyncEvaluating:(Z)V
         6: .line 822
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getAsyncParentModules:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 24
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object top java.util.Iterator
      StackMap stack:
         7: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 3 /* m */
        start local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
         8: .line 823
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 10
         9: .line 824
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 10
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmple 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 826
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Iterator
      StackMap stack:
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.decPendingAsyncDependencies:()V
        11: .line 827
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getPendingAsyncDependencies:()I
            ifne 24
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnonnull 24
        12: .line 828
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 13
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isAsyncEvaluating:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 829
      StackMap locals:
      StackMap stack:
            aload 3 /* m */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.getAsyncCycleRoot:(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            astore 5 /* cycleRoot */
        start local 5 // com.oracle.truffle.js.runtime.objects.JSModuleRecord cycleRoot
        14: .line 830
            aload 5 /* cycleRoot */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 16
        15: .line 831
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
        16: .line 833
      StackMap locals: com.oracle.truffle.js.runtime.objects.JSModuleRecord
      StackMap stack:
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isTopLevelAsync:()Z
            ifeq 19
        17: .line 834
            aload 0 /* realm */
            aload 3 /* m */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleAsyncExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)V
        18: .line 835
            goto 24
        19: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* realm */
            aload 3 /* m */
            aconst_null
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.moduleExecution:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)Ljava/lang/Object;
            pop
        20: .line 838
            aload 0 /* realm */
            aload 3 /* m */
            aload 2 /* dynamicImportResolutionResult */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.asyncModuleExecutionFulfilled:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        21: .line 839
            goto 24
      StackMap locals:
      StackMap stack: java.lang.Exception
        22: astore 6 /* e */
        start local 6 // java.lang.Exception e
        23: .line 840
            aload 0 /* realm */
            aload 3 /* m */
            aload 6 /* e */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.asyncModuleExecutionRejected:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 6 // java.lang.Exception e
        end local 5 // com.oracle.truffle.js.runtime.objects.JSModuleRecord cycleRoot
        end local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        24: .line 822
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 7
        25: .line 845
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            ifnull 28
        26: .line 846
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 27
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 27
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        27: .line 847
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getResolve:()Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* dynamicImportResolutionResult */
            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
        28: .line 849
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
        end local 2 // java.lang.Object dynamicImportResolutionResult
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot                           Name  Signature
            0   29     0                          realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   29     1                         module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   29     2  dynamicImportResolutionResult  Ljava/lang/Object;
            8   24     3                              m  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           14   24     5                      cycleRoot  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
           23   24     6                              e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
          19    21      22  Class java.lang.Exception
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                               Name  Flags
      realm                          
      module                         
      dynamicImportResolutionResult  

  private static java.lang.Object asyncModuleExecutionRejected(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.lang.Object);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/Object;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=5, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        start local 2 // java.lang.Object error
         0: .line 854
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* error */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            ldc "Cannot reject a module creation with null error"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         1: .line 855
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 2
            aload 1 /* module */
            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 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 856
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isAsyncEvaluating:()Z
            ifne 5
         3: .line 857
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnonnull 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 858
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
         5: .line 860
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 6
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getEvaluationError:()Ljava/lang/Throwable;
            ifnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 861
      StackMap locals:
      StackMap stack:
            aload 1 /* module */
            aload 2 /* error */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.getException:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/GraalJSException;
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setEvaluationError:(Ljava/lang/Throwable;)V
         7: .line 862
            aload 1 /* module */
            iconst_0
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setAsyncEvaluating:(Z)V
         8: .line 863
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getAsyncParentModules:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 13
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object top java.util.Iterator
      StackMap stack:
         9: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.JSModuleRecord
            astore 3 /* m */
        start local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        10: .line 864
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 12
        11: .line 865
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 12
            aload 3 /* m */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 867
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object com.oracle.truffle.js.runtime.objects.JSModuleRecord java.util.Iterator
      StackMap stack:
            aload 0 /* realm */
            aload 3 /* m */
            aload 2 /* error */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.asyncModuleExecutionRejected:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 3 // com.oracle.truffle.js.runtime.objects.JSModuleRecord m
        13: .line 863
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 9
        14: .line 869
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            ifnull 17
        15: .line 870
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 16
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSIndex:()I
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getDFSAncestorIndex:()I
            if_icmpeq 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 871
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm com.oracle.truffle.js.runtime.objects.JSModuleRecord java.lang.Object
      StackMap stack:
            aload 1 /* module */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getTopLevelCapability:()Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            invokevirtual com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord.getReject:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.object.DynamicObject
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 2 /* error */
            aastore
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.call:(Lcom/oracle/truffle/api/object/DynamicObject;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;
            pop
        17: .line 873
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            areturn
        end local 2 // java.lang.Object error
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord module
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   18     0   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0   18     1  module  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0   18     2   error  Ljava/lang/Object;
           10   13     3       m  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
        Name  Flags
      realm   
      module  
      error   

  private static java.lang.Object moduleExecution(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.js.runtime.objects.JSModuleRecord, com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;)Ljava/lang/Object;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=6, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        start local 2 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
         0: .line 877
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.isTopLevelAsync:()Z
            ifne 3
         1: .line 878
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 2
            aload 2 /* capability */
            ifnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 879
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 0 /* realm */
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            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;
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* moduleRecord */
            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
         3: .line 881
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            aload 0 /* realm */
            aload 1 /* moduleRecord */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.getFunctionData:()Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            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;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* moduleRecord */
            aastore
            dup
            iconst_1
            aload 2 /* capability */
            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;
            astore 3 /* asyncFunctionResultPromise */
        start local 3 // java.lang.Object asyncFunctionResultPromise
         4: .line 882
            aload 1 /* moduleRecord */
            aload 3 /* asyncFunctionResultPromise */
            invokevirtual com.oracle.truffle.js.runtime.objects.JSModuleRecord.setExecutionContinuation:(Ljava/lang/Object;)V
         5: .line 883
            aload 3 /* asyncFunctionResultPromise */
            areturn
        end local 3 // java.lang.Object asyncFunctionResultPromise
        end local 2 // com.oracle.truffle.js.runtime.objects.PromiseCapabilityRecord capability
        end local 1 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        end local 0 // com.oracle.truffle.js.runtime.JSRealm realm
      LocalVariableTable:
        Start  End  Slot                        Name  Signature
            0    6     0                       realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    6     1                moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0    6     2                  capability  Lcom/oracle/truffle/js/runtime/objects/PromiseCapabilityRecord;
            4    6     3  asyncFunctionResultPromise  Ljava/lang/Object;
    MethodParameters:
              Name  Flags
      realm         
      moduleRecord  
      capability    

  private static boolean occursExactlyOnce(com.oracle.truffle.js.runtime.objects.JSModuleRecord, java.util.Collection<com.oracle.truffle.js.runtime.objects.JSModuleRecord>);
    descriptor: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Collection;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
        start local 1 // java.util.Collection stack
         0: .line 888
            aload 1 /* stack */
            invokeinterface java.util.Collection.stream:()Ljava/util/stream/Stream;
            aload 0 /* moduleRecord */
            dup
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            pop
            invokedynamic test(Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Ljava/util/function/Predicate;
              Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
                Method arguments:
                  (Ljava/lang/Object;)Z
                  java/lang/Object.equals(Ljava/lang/Object;)Z (5)
                  (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;)Z
            invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
            invokeinterface java.util.stream.Stream.count:()J
            lconst_1
            lcmp
            ifne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // java.util.Collection stack
        end local 0 // com.oracle.truffle.js.runtime.objects.JSModuleRecord moduleRecord
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  moduleRecord  Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;
            0    2     1         stack  Ljava/util/Collection<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;
    Signature: (Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;Ljava/util/Collection<Lcom/oracle/truffle/js/runtime/objects/JSModuleRecord;>;)Z
    MethodParameters:
              Name  Flags
      moduleRecord  
      stack         

  public com.oracle.truffle.js.nodes.ScriptNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, java.nio.ByteBuffer);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Ljava/nio/ByteBuffer;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // java.nio.ByteBuffer binary
         0: .line 893
            aload 1 /* context */
            new com.oracle.truffle.js.parser.BinarySnapshotProvider
            dup
            aload 3 /* binary */
            invokespecial com.oracle.truffle.js.parser.BinarySnapshotProvider.<init>:(Ljava/nio/ByteBuffer;)V
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            aload 2 /* source */
            invokevirtual com.oracle.truffle.js.parser.BinarySnapshotProvider.apply:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.nodes.function.FunctionRootNode
            invokestatic com.oracle.truffle.js.nodes.ScriptNode.fromFunctionRoot:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
        end local 3 // java.nio.ByteBuffer binary
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2   source  Lcom/oracle/truffle/api/source/Source;
            0    1     3   binary  Ljava/nio/ByteBuffer;
    MethodParameters:
         Name  Flags
      context  
      source   
      binary   

  public com.oracle.truffle.js.nodes.ScriptNode parseScript(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.truffle.js.parser.SnapshotProvider);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/parser/SnapshotProvider;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // com.oracle.truffle.js.parser.SnapshotProvider snapshotProvider
         0: .line 898
            aload 1 /* context */
            aload 3 /* snapshotProvider */
            aload 1 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 1 /* context */
            aload 2 /* source */
            invokeinterface com.oracle.truffle.js.parser.SnapshotProvider.apply:(Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
            checkcast com.oracle.truffle.js.nodes.function.FunctionRootNode
            invokestatic com.oracle.truffle.js.nodes.ScriptNode.fromFunctionRoot:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/FunctionRootNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
        end local 3 // com.oracle.truffle.js.parser.SnapshotProvider snapshotProvider
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1           context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2            source  Lcom/oracle/truffle/api/source/Source;
            0    1     3  snapshotProvider  Lcom/oracle/truffle/js/parser/SnapshotProvider;
    MethodParameters:
                  Name  Flags
      context           
      source            
      snapshotProvider  

  public 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: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=5
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.api.source.Source source
        start local 3 // com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame
        start local 4 // boolean isStrict
         0: .line 903
            aload 1 /* context */
            aload 3 /* lexicalContextFrame */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.assembleDebugEnvironment:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Lcom/oracle/truffle/js/parser/env/Environment;
            astore 5 /* env */
        start local 5 // com.oracle.truffle.js.parser.env.Environment env
         1: .line 904
            aload 1 /* context */
            aload 2 /* source */
            aload 5 /* env */
            iload 4 /* isStrict */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.parseInlineScript:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/parser/env/Environment;Z)Lcom/oracle/truffle/js/nodes/JavaScriptNode;
            areturn
        end local 5 // com.oracle.truffle.js.parser.env.Environment env
        end local 4 // boolean isStrict
        end local 3 // com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    2     0                 this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    2     1              context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2               source  Lcom/oracle/truffle/api/source/Source;
            0    2     3  lexicalContextFrame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            0    2     4             isStrict  Z
            1    2     5                  env  Lcom/oracle/truffle/js/parser/env/Environment;
    MethodParameters:
                     Name  Flags
      context              
      source               
      lexicalContextFrame  
      isStrict             

  private static com.oracle.truffle.js.parser.env.Environment assembleDebugEnvironment(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.frame.MaterializedFrame);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/frame/MaterializedFrame;)Lcom/oracle/truffle/js/parser/env/Environment;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=7, locals=6, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.JSContext context
        start local 1 // com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame
         0: .line 908
            aconst_null
            astore 2 /* env */
        start local 2 // com.oracle.truffle.js.parser.env.Environment env
         1: .line 909
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* frameDescriptors */
        start local 3 // java.util.ArrayList frameDescriptors
         2: .line 910
            aload 1 /* lexicalContextFrame */
            astore 4 /* frame */
        start local 4 // com.oracle.truffle.api.frame.Frame frame
         3: .line 911
            goto 11
         4: .line 912
      StackMap locals: com.oracle.truffle.js.parser.env.Environment java.util.ArrayList com.oracle.truffle.api.frame.Frame
      StackMap stack:
            getstatic com.oracle.truffle.js.parser.GraalJSEvaluator.$assertionsDisabled:Z
            ifne 7
            aload 4 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.isJSArgumentsArray:([Ljava/lang/Object;)Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        start local 5 // com.oracle.truffle.api.frame.FrameSlot parentSlot
         5: .line 915
      StackMap locals: com.oracle.truffle.api.frame.FrameSlot
      StackMap stack:
            aload 3 /* frameDescriptors */
            aload 4 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
         6: .line 916
            aload 4 /* frame */
            aload 5 /* parentSlot */
            invokestatic com.oracle.truffle.api.frame.FrameUtil.getObjectSafe:(Lcom/oracle/truffle/api/frame/Frame;Lcom/oracle/truffle/api/frame/FrameSlot;)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.frame.Frame
            astore 4 /* frame */
        end local 5 // com.oracle.truffle.api.frame.FrameSlot parentSlot
         7: .line 914
      StackMap locals:
      StackMap stack:
            aload 4 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            getstatic com.oracle.truffle.js.nodes.access.ScopeFrameNode.PARENT_SCOPE_IDENTIFIER:Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.frame.FrameDescriptor.findFrameSlot:(Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/FrameSlot;
            dup
            astore 5 /* parentSlot */
        start local 5 // com.oracle.truffle.api.frame.FrameSlot parentSlot
         8: ifnonnull 5
         9: .line 918
            aload 3 /* frameDescriptors */
            aload 4 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getFrameDescriptor:()Lcom/oracle/truffle/api/frame/FrameDescriptor;
            invokevirtual java.util.ArrayList.add:(Ljava/lang/Object;)Z
            pop
        10: .line 919
            aload 4 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getEnclosingFrame:([Ljava/lang/Object;)Lcom/oracle/truffle/api/frame/MaterializedFrame;
            astore 4 /* frame */
        end local 5 // com.oracle.truffle.api.frame.FrameSlot parentSlot
        11: .line 911
      StackMap locals:
      StackMap stack:
            aload 4 /* frame */
            ifnull 12
            aload 4 /* frame */
            getstatic com.oracle.truffle.js.runtime.JSFrameUtil.NULL_MATERIALIZED_FRAME:Lcom/oracle/truffle/api/frame/MaterializedFrame;
            if_acmpne 4
        12: .line 922
      StackMap locals:
      StackMap stack:
            aload 3 /* frameDescriptors */
            invokevirtual java.util.ArrayList.size:()I
            iconst_1
            isub
            istore 5 /* i */
        start local 5 // int i
        13: goto 16
        14: .line 923
      StackMap locals: int
      StackMap stack:
            new com.oracle.truffle.js.parser.env.DebugEnvironment
            dup
            aload 2 /* env */
            aload 0 /* context */
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 0 /* context */
            aload 3 /* frameDescriptors */
            iload 5 /* i */
            invokevirtual java.util.ArrayList.get:(I)Ljava/lang/Object;
            checkcast com.oracle.truffle.api.frame.FrameDescriptor
            invokespecial com.oracle.truffle.js.parser.env.DebugEnvironment.<init>:(Lcom/oracle/truffle/js/parser/env/Environment;Lcom/oracle/truffle/js/nodes/NodeFactory;Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/frame/FrameDescriptor;)V
            astore 2 /* env */
        15: .line 922
            iinc 5 /* i */ -1
      StackMap locals:
      StackMap stack:
        16: iload 5 /* i */
            ifge 14
        end local 5 // int i
        17: .line 925
            aload 2 /* env */
            areturn
        end local 4 // com.oracle.truffle.api.frame.Frame frame
        end local 3 // java.util.ArrayList frameDescriptors
        end local 2 // com.oracle.truffle.js.parser.env.Environment env
        end local 1 // com.oracle.truffle.api.frame.MaterializedFrame lexicalContextFrame
        end local 0 // com.oracle.truffle.js.runtime.JSContext context
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   18     0              context  Lcom/oracle/truffle/js/runtime/JSContext;
            0   18     1  lexicalContextFrame  Lcom/oracle/truffle/api/frame/MaterializedFrame;
            1   18     2                  env  Lcom/oracle/truffle/js/parser/env/Environment;
            2   18     3     frameDescriptors  Ljava/util/ArrayList<Lcom/oracle/truffle/api/frame/FrameDescriptor;>;
            3   18     4                frame  Lcom/oracle/truffle/api/frame/Frame;
            5    7     5           parentSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
            8   11     5           parentSlot  Lcom/oracle/truffle/api/frame/FrameSlot;
           13   17     5                    i  I
    MethodParameters:
                     Name  Flags
      context              
      lexicalContextFrame  

  private static boolean isJSArgumentsArray(java.lang.Object[]);
    descriptor: ([Ljava/lang/Object;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object[] arguments
         0: .line 929
            aload 0 /* arguments */
            ifnull 1
            aload 0 /* arguments */
            arraylength
            iconst_2
            if_icmplt 1
            aload 0 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.Object[] arguments
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0  arguments  [Ljava/lang/Object;
    MethodParameters:
           Name  Flags
      arguments  

  public com.oracle.js.parser.ir.Expression parseExpression(com.oracle.truffle.js.runtime.JSContext, java.lang.String);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;)Lcom/oracle/js/parser/ir/Expression;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // java.lang.String sourceString
         0: .line 934
            aload 1 /* context */
            ldc "js"
            aload 2 /* sourceString */
            ldc "<unknown>"
            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;
            aload 1 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getParserOptions:()Lcom/oracle/truffle/js/runtime/JSParserOptions;
            invokestatic com.oracle.truffle.js.parser.GraalJSParserHelper.parseExpression:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSParserOptions;)Lcom/oracle/js/parser/ir/Expression;
            areturn
        end local 2 // java.lang.String sourceString
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.parser.GraalJSEvaluator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Lcom/oracle/truffle/js/parser/GraalJSEvaluator;
            0    1     1       context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    1     2  sourceString  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      context       
      sourceString  

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$0(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 298
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createTopLevelAwaitRejectImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$1(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 317
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createTopLevelAwaitResolveImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;

  private static com.oracle.truffle.js.nodes.ScriptNode lambda$2(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.api.source.Source, com.oracle.js.parser.ir.FunctionNode);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/api/source/Source;Lcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=7, locals=3, args_size=3
         0: .line 364
            aload 0
            invokestatic com.oracle.truffle.js.nodes.NodeFactory.getInstance:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/NodeFactory;
            aload 0
            aconst_null
            aload 1
            iconst_0
            iconst_0
            aload 2
            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;IZLcom/oracle/js/parser/ir/FunctionNode;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static void lambda$4(java.util.Map, com.oracle.truffle.js.runtime.util.Pair);
    descriptor: (Ljava/util/Map;Lcom/oracle/truffle/js/runtime/util/Pair;)V
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=2, args_size=2
        start local 1 // com.oracle.truffle.js.runtime.util.Pair p
         0: .line 513
            aload 0
            aload 1 /* p */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getFirst:()Ljava/lang/Object;
            checkcast java.lang.String
            aload 1 /* p */
            invokevirtual com.oracle.truffle.js.runtime.util.Pair.getSecond:()Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.objects.ExportResolution
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            return
        end local 1 // com.oracle.truffle.js.runtime.util.Pair p
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     1     p  Lcom/oracle/truffle/js/runtime/util/Pair<Ljava/lang/String;Lcom/oracle/truffle/js/runtime/objects/ExportResolution;>;

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$5(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 761
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createCallAsyncModuleFulfilledImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;

  private static com.oracle.truffle.js.runtime.builtins.JSFunctionData lambda$6(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.JSContext c
         0: .line 787
            aload 0 /* c */
            invokestatic com.oracle.truffle.js.parser.GraalJSEvaluator.createCallAsyncModuleRejectedImpl:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.JSContext c
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0     c  Lcom/oracle/truffle/js/runtime/JSContext;
}
SourceFile: "GraalJSEvaluator.java"
NestMembers:
  com.oracle.truffle.js.parser.GraalJSEvaluator$1  com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleExecutionRejectedRoot  com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleFulfilledRoot  com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitFulfilledRootNode  com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitRejectedRootNode  com.oracle.truffle.js.parser.GraalJSEvaluator$2
InnerClasses:
  public final ExportEntry = com.oracle.js.parser.ir.Module$ExportEntry of com.oracle.js.parser.ir.Module
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final LiteralBuilder = com.oracle.truffle.api.source.Source$LiteralBuilder of com.oracle.truffle.api.source.Source
  com.oracle.truffle.js.parser.GraalJSEvaluator$1
  AsyncModuleExecutionRejectedRoot = com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleExecutionRejectedRoot
  AsyncModuleFulfilledRoot = com.oracle.truffle.js.parser.GraalJSEvaluator$1AsyncModuleFulfilledRoot
  TopLevelAwaitFulfilledRootNode = com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitFulfilledRootNode
  TopLevelAwaitRejectedRootNode = com.oracle.truffle.js.parser.GraalJSEvaluator$1TopLevelAwaitRejectedRootNode
  com.oracle.truffle.js.parser.GraalJSEvaluator$2
  public final BuiltinFunctionKey = com.oracle.truffle.js.runtime.JSContext$BuiltinFunctionKey of com.oracle.truffle.js.runtime.JSContext
  public final Status = com.oracle.truffle.js.runtime.objects.JSModuleRecord$Status of com.oracle.truffle.js.runtime.objects.JSModuleRecord
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles