public abstract class com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation extends com.oracle.truffle.js.builtins.GlobalBuiltins$JSFileLoadingOperation
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation
  super_class: com.oracle.truffle.js.builtins.GlobalBuiltins$JSFileLoadingOperation
{
  private com.oracle.truffle.js.nodes.function.JSLoadNode loadNode;
    descriptor: Lcom/oracle/truffle/js/nodes/function/JSLoadNode;
    flags: (0x0002) ACC_PRIVATE
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.nodes.Node$Child()

  protected static final java.lang.String EVAL_OBJ_FILE_NAME;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "name"

  protected static final java.lang.String EVAL_OBJ_SOURCE;
    descriptor: Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    ConstantValue: "script"

  private static final java.lang.String LOAD_CLASSPATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "classpath:"

  private static final java.lang.String LOAD_FX;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "fx:"

  private static final java.lang.String LOAD_NASHORN;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nashorn:"

  private static final java.lang.String RESOURCES_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "resources/"

  private static final java.lang.String FX_RESOURCES_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "resources/fx/"

  private static final java.lang.String NASHORN_BASE_PATH;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "jdk/nashorn/internal/runtime/"

  private static final java.lang.String NASHORN_PARSER_JS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nashorn:parser.js"

  private static final java.lang.String NASHORN_MOZILLA_COMPAT_JS;
    descriptor: Ljava/lang/String;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: "nashorn:mozilla_compat.js"

  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=1, locals=0, args_size=0
         0: .line 586
            ldc Lcom/oracle/truffle/js/builtins/GlobalBuiltins;
            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.builtins.GlobalBuiltins$JSLoadOperation.$assertionsDisabled:Z
         3: .line 605
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>(com.oracle.truffle.js.runtime.JSContext, com.oracle.truffle.js.nodes.function.JSBuiltin);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
        start local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
         0: .line 588
            aload 0 /* this */
            aload 1 /* context */
            aload 2 /* builtin */
            invokespecial com.oracle.truffle.js.builtins.GlobalBuiltins$JSFileLoadingOperation.<init>:(Lcom/oracle/truffle/js/runtime/JSContext;Lcom/oracle/truffle/js/nodes/function/JSBuiltin;)V
         1: .line 589
            return
        end local 2 // com.oracle.truffle.js.nodes.function.JSBuiltin builtin
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    2     0     this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0    2     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
            0    2     2  builtin  Lcom/oracle/truffle/js/nodes/function/JSBuiltin;
    MethodParameters:
         Name  Flags
      context  
      builtin  

  protected final java.lang.Object runImpl(com.oracle.truffle.js.runtime.JSRealm, com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/source/Source;)Ljava/lang/Object;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        start local 2 // com.oracle.truffle.api.source.Source source
         0: .line 608
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.loadNode:Lcom/oracle/truffle/js/nodes/function/JSLoadNode;
            ifnonnull 3
         1: .line 609
            invokestatic com.oracle.truffle.api.CompilerDirectives.transferToInterpreterAndInvalidate:()V
         2: .line 610
            aload 0 /* this */
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokestatic com.oracle.truffle.js.nodes.function.JSLoadNode.create:(Lcom/oracle/truffle/js/runtime/JSContext;)Lcom/oracle/truffle/js/nodes/function/JSLoadNode;
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.insert:(Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/api/nodes/Node;
            checkcast com.oracle.truffle.js.nodes.function.JSLoadNode
            putfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.loadNode:Lcom/oracle/truffle/js/nodes/function/JSLoadNode;
         3: .line 612
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.loadNode:Lcom/oracle/truffle/js/nodes/function/JSLoadNode;
            aload 2 /* source */
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.nodes.function.JSLoadNode.executeLoad:(Lcom/oracle/truffle/api/source/Source;Lcom/oracle/truffle/js/runtime/JSRealm;)Ljava/lang/Object;
            areturn
        end local 2 // com.oracle.truffle.api.source.Source source
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0    4     1   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            0    4     2  source  Lcom/oracle/truffle/api/source/Source;
    MethodParameters:
        Name  Flags
      realm   
      source  

  protected static com.oracle.truffle.js.nodes.ScriptNode loadStringImpl(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: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=6, locals=7, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.JSContext ctxt
        start local 1 // java.lang.String name
        start local 2 // java.lang.String script
         0: .line 616
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 617
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
            invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
            ifeq 2
            invokestatic java.lang.System.nanoTime:()J
            goto 3
      StackMap locals:
      StackMap stack:
         2: lconst_0
      StackMap locals:
      StackMap stack: long
         3: lstore 3 /* startTime */
        start local 3 // long startTime
         4: .line 619
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getEvaluator:()Lcom/oracle/truffle/js/runtime/Evaluator;
            aload 0 /* ctxt */
            aload 2 /* script */
            aload 1 /* name */
            invokeinterface com.oracle.truffle.js.runtime.Evaluator.evalCompile:(Lcom/oracle/truffle/js/runtime/JSContext;Ljava/lang/String;Ljava/lang/String;)Lcom/oracle/truffle/js/nodes/ScriptNode;
            astore 6
         5: .line 621
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
            invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
            ifeq 7
         6: .line 622
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
            lload 3 /* startTime */
            new java.lang.StringBuilder
            dup
            ldc "parsing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
         7: .line 619
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String java.lang.String long top com.oracle.truffle.js.nodes.ScriptNode
      StackMap stack:
            aload 6
            areturn
         8: .line 620
      StackMap locals: com.oracle.truffle.js.runtime.JSContext java.lang.String java.lang.String long
      StackMap stack: java.lang.Throwable
            astore 5
         9: .line 621
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
            invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.isProfileTime:()Z
            ifeq 11
        10: .line 622
            aload 0 /* ctxt */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getTimeProfiler:()Lcom/oracle/truffle/js/runtime/util/TimeProfiler;
            lload 3 /* startTime */
            new java.lang.StringBuilder
            dup
            ldc "parsing "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* name */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.js.runtime.util.TimeProfiler.printElapsed:(JLjava/lang/String;)V
        11: .line 624
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 5
            athrow
        end local 3 // long startTime
        end local 2 // java.lang.String script
        end local 1 // java.lang.String name
        end local 0 // com.oracle.truffle.js.runtime.JSContext ctxt
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0   12     0       ctxt  Lcom/oracle/truffle/js/runtime/JSContext;
            0   12     1       name  Ljava/lang/String;
            0   12     2     script  Ljava/lang/String;
            4   12     3  startTime  J
      Exception table:
        from    to  target  type
           4     5       8  any
    MethodParameters:
        Name  Flags
      ctxt    
      name    
      script  

  protected final com.oracle.truffle.api.source.Source sourceFromURL(java.net.URL);
    descriptor: (Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // java.net.URL url
         0: .line 629
            getstatic com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifne 1
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromURL:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 631
      StackMap locals:
      StackMap stack:
            ldc "js"
            aload 1 /* url */
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
            aload 1 /* url */
            invokevirtual java.net.URL.getFile:()Ljava/lang/String;
            invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
         2: areturn
         3: .line 632
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 2 /* e */
        start local 2 // java.lang.Exception e
         4: .line 633
            getstatic com.oracle.truffle.js.runtime.JSErrorType.EvalError:Lcom/oracle/truffle/js/runtime/JSErrorType;
            aload 2 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 2 /* e */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.JSException.create:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 2 // java.lang.Exception e
        end local 1 // java.net.URL url
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    5     0  this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0    5     1   url  Ljava/net/URL;
            4    5     2     e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           1     2       3  Class java.io.IOException
           1     2       3  Class java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      url   

  protected final com.oracle.truffle.api.source.Source sourceFromFileName(java.lang.String, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // java.lang.String fileName
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 640
            ldc "js"
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 1 /* fileName */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
            aload 1 /* fileName */
            invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.name:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
         1: areturn
         2: .line 641
      StackMap locals:
      StackMap stack: java.lang.Exception
            astore 3 /* e */
        start local 3 // java.lang.Exception e
         3: .line 642
            getstatic com.oracle.truffle.js.runtime.JSErrorType.EvalError:Lcom/oracle/truffle/js/runtime/JSErrorType;
            aload 3 /* e */
            invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
            aload 3 /* e */
            aload 0 /* this */
            invokestatic com.oracle.truffle.js.runtime.JSException.create:(Lcom/oracle/truffle/js/runtime/JSErrorType;Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 3 // java.lang.Exception e
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // java.lang.String fileName
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    4     0      this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0    4     1  fileName  Ljava/lang/String;
            0    4     2     realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            3    4     3         e  Ljava/lang/Exception;
      Exception table:
        from    to  target  type
           0     1       2  Class java.io.IOException
           0     1       2  Class java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      fileName  
      realm     

  protected static final java.lang.String fileGetPath(java.io.File);
    descriptor: (Ljava/io/File;)Ljava/lang/String;
    flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // java.io.File file
         0: .line 648
            aload 0 /* file */
            invokevirtual java.io.File.getPath:()Ljava/lang/String;
            areturn
        end local 0 // java.io.File file
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  file  Ljava/io/File;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
      Name  Flags
      file  

  protected com.oracle.truffle.api.source.Source sourceFromPath(java.lang.String, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // java.lang.String path
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 654
            aconst_null
            astore 3 /* source */
        start local 3 // com.oracle.truffle.api.source.Source source
         1: .line 655
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            astore 4 /* ctx */
        start local 4 // com.oracle.truffle.js.runtime.JSContext ctx
         2: .line 656
            aload 4 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifne 3
            aload 4 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromURL:()Z
            ifne 3
            aload 4 /* ctx */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromClasspath:()Z
            ifeq 7
      StackMap locals: com.oracle.truffle.api.source.Source com.oracle.truffle.js.runtime.JSContext
      StackMap stack:
         3: aload 1 /* path */
            bipush 58
            invokevirtual java.lang.String.indexOf:(I)I
            iconst_m1
            if_icmpeq 7
         4: .line 657
            aload 0 /* this */
            aload 1 /* path */
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.sourceFromURI:(Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/source/Source;
            astore 3 /* source */
         5: .line 658
            aload 3 /* source */
            ifnull 7
         6: .line 659
            aload 3 /* source */
            areturn
         7: .line 664
      StackMap locals:
      StackMap stack:
            aload 1 /* path */
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            invokestatic com.oracle.truffle.js.builtins.GlobalBuiltins.resolveRelativeFilePath:(Ljava/lang/String;Lcom/oracle/truffle/api/TruffleLanguage$Env;)Lcom/oracle/truffle/api/TruffleFile;
            astore 5 /* file */
        start local 5 // com.oracle.truffle.api.TruffleFile file
         8: .line 665
            aload 5 /* file */
            iconst_0
            anewarray java.nio.file.LinkOption
            invokevirtual com.oracle.truffle.api.TruffleFile.isRegularFile:([Ljava/nio/file/LinkOption;)Z
            ifeq 13
         9: .line 666
            aload 0 /* this */
            aload 5 /* file */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.sourceFromTruffleFile:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source;
            astore 3 /* source */
        end local 5 // com.oracle.truffle.api.TruffleFile file
        10: .line 668
            goto 13
      StackMap locals:
      StackMap stack: java.lang.SecurityException
        11: astore 5 /* e */
        start local 5 // java.lang.SecurityException e
        12: .line 669
            aload 5 /* e */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorFromException:(Ljava/lang/Throwable;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // java.lang.SecurityException e
        13: .line 672
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            ifnonnull 15
        14: .line 673
            aload 1 /* path */
            invokestatic com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.cannotLoadScript:(Ljava/lang/Object;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        15: .line 675
      StackMap locals:
      StackMap stack:
            aload 3 /* source */
            areturn
        end local 4 // com.oracle.truffle.js.runtime.JSContext ctx
        end local 3 // com.oracle.truffle.api.source.Source source
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // java.lang.String path
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   16     0    this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0   16     1    path  Ljava/lang/String;
            0   16     2   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            1   16     3  source  Lcom/oracle/truffle/api/source/Source;
            2   16     4     ctx  Lcom/oracle/truffle/js/runtime/JSContext;
            8   10     5    file  Lcom/oracle/truffle/api/TruffleFile;
           12   13     5       e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
           7    10      11  Class java.lang.SecurityException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary(transferToInterpreterOnException = false)
    MethodParameters:
       Name  Flags
      path   
      realm  

  private com.oracle.truffle.api.source.Source sourceFromURI(java.lang.String, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/js/runtime/JSRealm;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=6, args_size=3
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // java.lang.String resource
        start local 2 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 679
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 680
            getstatic com.oracle.truffle.js.runtime.JSConfig.SubstrateVM:Z
            ifeq 3
         2: .line 681
            aconst_null
            areturn
         3: .line 683
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifeq 4
            aload 1 /* resource */
            ldc "nashorn:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
            aload 1 /* resource */
            ldc "classpath:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
            aload 1 /* resource */
            ldc "fx:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 5
         4: .line 684
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromClasspath:()Z
            ifeq 6
            aload 1 /* resource */
            ldc "classpath:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 6
         5: .line 685
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* resource */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.sourceFromResourceURL:(Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
            areturn
         6: .line 687
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifne 7
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromURL:()Z
            ifeq 19
         7: .line 689
      StackMap locals:
      StackMap stack:
            new java.net.URL
            dup
            aload 1 /* resource */
            invokespecial java.net.URL.<init>:(Ljava/lang/String;)V
            astore 3 /* url */
        start local 3 // java.net.URL url
         8: .line 690
            ldc "file"
            aload 3 /* url */
            invokevirtual java.net.URL.getProtocol:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 16
         9: .line 691
            aload 3 /* url */
            invokevirtual java.net.URL.getPath:()Ljava/lang/String;
            astore 4 /* path */
        start local 4 // java.lang.String path
        10: .line 692
            aload 4 /* path */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 19
        11: .line 694
            aload 2 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getEnv:()Lcom/oracle/truffle/api/TruffleLanguage$Env;
            aload 4 /* path */
            invokevirtual com.oracle.truffle.api.TruffleLanguage$Env.getPublicTruffleFile:(Ljava/lang/String;)Lcom/oracle/truffle/api/TruffleFile;
            astore 5 /* file */
        start local 5 // com.oracle.truffle.api.TruffleFile file
        12: .line 695
            aload 0 /* this */
            aload 5 /* file */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.sourceFromTruffleFile:(Lcom/oracle/truffle/api/TruffleFile;)Lcom/oracle/truffle/api/source/Source;
        13: areturn
        end local 5 // com.oracle.truffle.api.TruffleFile file
        14: .line 696
      StackMap locals: com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation java.lang.String com.oracle.truffle.js.runtime.JSRealm java.net.URL java.lang.String
      StackMap stack: java.lang.SecurityException
            astore 5 /* e */
        start local 5 // java.lang.SecurityException e
        15: .line 697
            aload 5 /* e */
            invokestatic com.oracle.truffle.js.runtime.Errors.createErrorFromException:(Ljava/lang/Throwable;)Lcom/oracle/truffle/js/runtime/JSException;
            athrow
        end local 5 // java.lang.SecurityException e
        end local 4 // java.lang.String path
        16: .line 701
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* url */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.sourceFromURL:(Ljava/net/URL;)Lcom/oracle/truffle/api/source/Source;
        17: areturn
        end local 3 // java.net.URL url
        18: .line 703
      StackMap locals: com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation java.lang.String com.oracle.truffle.js.runtime.JSRealm
      StackMap stack: java.net.MalformedURLException
            pop
        19: .line 706
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 1 // java.lang.String resource
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   20     0      this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0   20     1  resource  Ljava/lang/String;
            0   20     2     realm  Lcom/oracle/truffle/js/runtime/JSRealm;
            8   18     3       url  Ljava/net/URL;
           10   16     4      path  Ljava/lang/String;
           12   14     5      file  Lcom/oracle/truffle/api/TruffleFile;
           15   16     5         e  Ljava/lang/SecurityException;
      Exception table:
        from    to  target  type
          11    13      14  Class java.lang.SecurityException
           7    13      18  Class java.net.MalformedURLException
          14    17      18  Class java.net.MalformedURLException
    MethodParameters:
          Name  Flags
      resource  
      realm     

  private com.oracle.truffle.api.source.Source sourceFromResourceURL(java.lang.String);
    descriptor: (Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
        start local 1 // java.lang.String resource
         0: .line 710
            invokestatic com.oracle.truffle.api.CompilerAsserts.neverPartOfCompilation:()V
         1: .line 711
            getstatic com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            ifne 2
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionLoadFromClasspath:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 712
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 2 /* stream */
        start local 2 // java.io.InputStream stream
         3: .line 713
            aload 1 /* resource */
            ldc "nashorn:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 7
         4: .line 714
            aload 1 /* resource */
            ldc "nashorn:parser.js"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifne 5
            aload 1 /* resource */
            ldc "nashorn:mozilla_compat.js"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 13
         5: .line 715
      StackMap locals: java.io.InputStream
      StackMap stack:
            ldc Lcom/oracle/truffle/js/runtime/JSContext;
            new java.lang.StringBuilder
            dup
            ldc "resources/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            ldc "nashorn:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.lang.Class.getResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* stream */
         6: .line 717
            goto 13
      StackMap locals:
      StackMap stack:
         7: getstatic com.oracle.truffle.js.runtime.JSConfig.SubstrateVM:Z
            ifne 13
         8: .line 718
            aload 1 /* resource */
            ldc "classpath:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 11
         9: .line 719
            aload 1 /* resource */
            ldc "classpath:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* stream */
        10: .line 720
            goto 13
      StackMap locals:
      StackMap stack:
        11: aload 1 /* resource */
            ldc "fx:"
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 13
        12: .line 721
            new java.lang.StringBuilder
            dup
            ldc "jdk/nashorn/internal/runtime/resources/fx/"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* resource */
            ldc "fx:"
            invokevirtual java.lang.String.length:()I
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokestatic java.lang.ClassLoader.getSystemResourceAsStream:(Ljava/lang/String;)Ljava/io/InputStream;
            astore 2 /* stream */
        13: .line 724
      StackMap locals:
      StackMap stack:
            aload 2 /* stream */
            ifnull 26
        14: .line 725
            aconst_null
            astore 3
            aconst_null
            astore 4
        15: new java.io.InputStreamReader
            dup
            aload 2 /* stream */
            getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
            invokespecial java.io.InputStreamReader.<init>:(Ljava/io/InputStream;Ljava/nio/charset/Charset;)V
            astore 5 /* reader */
        start local 5 // java.io.Reader reader
        16: .line 726
            ldc "js"
            aload 5 /* reader */
            aload 1 /* resource */
            invokestatic com.oracle.truffle.api.source.Source.newBuilder:(Ljava/lang/String;Ljava/io/Reader;Ljava/lang/String;)Lcom/oracle/truffle/api/source/Source$SourceBuilder;
            invokevirtual com.oracle.truffle.api.source.Source$SourceBuilder.build:()Lcom/oracle/truffle/api/source/Source;
        17: .line 727
            aload 5 /* reader */
            ifnull 18
            aload 5 /* reader */
            invokevirtual java.io.Reader.close:()V
        18: .line 726
      StackMap locals: com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation java.lang.String java.io.InputStream java.lang.Throwable java.lang.Throwable java.io.Reader
      StackMap stack: com.oracle.truffle.api.source.Source
            areturn
      StackMap locals:
      StackMap stack: java.lang.Throwable
        19: astore 3
        20: .line 727
            aload 5 /* reader */
            ifnull 21
            aload 5 /* reader */
            invokevirtual java.io.Reader.close:()V
        end local 5 // java.io.Reader reader
      StackMap locals:
      StackMap stack:
        21: aload 3
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        22: astore 4
            aload 3
            ifnonnull 23
            aload 4
            astore 3
            goto 24
      StackMap locals:
      StackMap stack:
        23: aload 3
            aload 4
            if_acmpeq 24
            aload 3
            aload 4
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        24: aload 3
            athrow
      StackMap locals: com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation java.lang.String java.io.InputStream
      StackMap stack: java.lang.Exception
        25: pop
        26: .line 730
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 2 // java.io.InputStream stream
        end local 1 // java.lang.String resource
        end local 0 // com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   27     0      this  Lcom/oracle/truffle/js/builtins/GlobalBuiltins$JSLoadOperation;
            0   27     1  resource  Ljava/lang/String;
            3   27     2    stream  Ljava/io/InputStream;
           16   21     5    reader  Ljava/io/Reader;
      Exception table:
        from    to  target  type
          16    17      19  any
          15    18      22  any
          19    22      22  any
          14    18      25  Class java.io.IOException
          19    25      25  Class java.io.IOException
          14    18      25  Class java.lang.SecurityException
          19    25      25  Class java.lang.SecurityException
    MethodParameters:
          Name  Flags
      resource  
}
SourceFile: "GlobalBuiltins.java"
NestHost: com.oracle.truffle.js.builtins.GlobalBuiltins
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public final Env = com.oracle.truffle.api.TruffleLanguage$Env of com.oracle.truffle.api.TruffleLanguage
  public abstract Child = com.oracle.truffle.api.nodes.Node$Child of com.oracle.truffle.api.nodes.Node
  public SourceBuilder = com.oracle.truffle.api.source.Source$SourceBuilder of com.oracle.truffle.api.source.Source
  public abstract JSFileLoadingOperation = com.oracle.truffle.js.builtins.GlobalBuiltins$JSFileLoadingOperation of com.oracle.truffle.js.builtins.GlobalBuiltins
  public abstract JSLoadOperation = com.oracle.truffle.js.builtins.GlobalBuiltins$JSLoadOperation of com.oracle.truffle.js.builtins.GlobalBuiltins