public abstract class com.oracle.truffle.js.runtime.GraalJSException extends com.oracle.truffle.api.exception.AbstractTruffleException
  minor version: 0
  major version: 59
  flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
  this_class: com.oracle.truffle.js.runtime.GraalJSException
  super_class: com.oracle.truffle.api.exception.AbstractTruffleException
{
  private static final long serialVersionUID;
    descriptor: J
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: -6624166672101791072

  private static final com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] EMPTY_STACK_TRACE;
    descriptor: [Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] jsStackTrace;
    descriptor: [Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x0002) ACC_PRIVATE

  private java.lang.Object location;
    descriptor: Ljava/lang/Object;
    flags: (0x0002) ACC_PRIVATE

  private int stackTraceLimit;
    descriptor: I
    flags: (0x0002) ACC_PRIVATE

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

  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 84
            ldc Lcom/oracle/truffle/js/runtime/GraalJSException;
            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.runtime.GraalJSException.$assertionsDisabled:Z
         3: .line 86
            iconst_0
            anewarray com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
            putstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         4: .line 91
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  protected void <init>(java.lang.String, java.lang.Throwable, com.oracle.truffle.api.nodes.Node, int);
    descriptor: (Ljava/lang/String;Ljava/lang/Throwable;Lcom/oracle/truffle/api/nodes/Node;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // java.lang.String message
        start local 2 // java.lang.Throwable cause
        start local 3 // com.oracle.truffle.api.nodes.Node node
        start local 4 // int stackTraceLimit
         0: .line 94
            aload 0 /* this */
            aload 1 /* message */
            aload 2 /* cause */
            iload 4 /* stackTraceLimit */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.truffleStackTraceLimit:(I)I
            aload 3 /* node */
            invokespecial com.oracle.truffle.api.exception.AbstractTruffleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;ILcom/oracle/truffle/api/nodes/Node;)V
         1: .line 95
            aload 0 /* this */
            aload 3 /* node */
            putfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
         2: .line 96
            aload 0 /* this */
            iload 4 /* stackTraceLimit */
            putfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
         3: .line 97
            aload 0 /* this */
            iload 4 /* stackTraceLimit */
            ifne 4
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            goto 5
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String java.lang.Throwable com.oracle.truffle.api.nodes.Node int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException
         4: aconst_null
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String java.lang.Throwable com.oracle.truffle.api.nodes.Node int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
         5: putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         6: .line 98
            return
        end local 4 // int stackTraceLimit
        end local 3 // com.oracle.truffle.api.nodes.Node node
        end local 2 // java.lang.Throwable cause
        end local 1 // java.lang.String message
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    7     1          message  Ljava/lang/String;
            0    7     2            cause  Ljava/lang/Throwable;
            0    7     3             node  Lcom/oracle/truffle/api/nodes/Node;
            0    7     4  stackTraceLimit  I
    MethodParameters:
                 Name  Flags
      message          
      cause            
      node             
      stackTraceLimit  

  protected void <init>(java.lang.String, com.oracle.truffle.api.nodes.Node, int);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/nodes/Node;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // java.lang.String message
        start local 2 // com.oracle.truffle.api.nodes.Node node
        start local 3 // int stackTraceLimit
         0: .line 101
            aload 0 /* this */
            aload 1 /* message */
            aconst_null
            iload 3 /* stackTraceLimit */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.truffleStackTraceLimit:(I)I
            aload 2 /* node */
            invokespecial com.oracle.truffle.api.exception.AbstractTruffleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;ILcom/oracle/truffle/api/nodes/Node;)V
         1: .line 102
            aload 0 /* this */
            aload 2 /* node */
            putfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
         2: .line 103
            aload 0 /* this */
            iload 3 /* stackTraceLimit */
            putfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
         3: .line 104
            aload 0 /* this */
            iload 3 /* stackTraceLimit */
            ifne 4
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            goto 5
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String com.oracle.truffle.api.nodes.Node int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException
         4: aconst_null
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String com.oracle.truffle.api.nodes.Node int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
         5: putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         6: .line 105
            return
        end local 3 // int stackTraceLimit
        end local 2 // com.oracle.truffle.api.nodes.Node node
        end local 1 // java.lang.String message
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    7     1          message  Ljava/lang/String;
            0    7     2             node  Lcom/oracle/truffle/api/nodes/Node;
            0    7     3  stackTraceLimit  I
    MethodParameters:
                 Name  Flags
      message          
      node             
      stackTraceLimit  

  protected void <init>(java.lang.String, com.oracle.truffle.api.source.SourceSection, int);
    descriptor: (Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;I)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=4, args_size=4
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // java.lang.String message
        start local 2 // com.oracle.truffle.api.source.SourceSection location
        start local 3 // int stackTraceLimit
         0: .line 108
            aload 0 /* this */
            aload 1 /* message */
            aconst_null
            iload 3 /* stackTraceLimit */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.truffleStackTraceLimit:(I)I
            aconst_null
            invokespecial com.oracle.truffle.api.exception.AbstractTruffleException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;ILcom/oracle/truffle/api/nodes/Node;)V
         1: .line 109
            aload 0 /* this */
            aload 2 /* location */
            putfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
         2: .line 110
            aload 0 /* this */
            iload 3 /* stackTraceLimit */
            putfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
         3: .line 111
            aload 0 /* this */
            iload 3 /* stackTraceLimit */
            ifne 4
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            goto 5
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String com.oracle.truffle.api.source.SourceSection int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException
         4: aconst_null
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException java.lang.String com.oracle.truffle.api.source.SourceSection int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
         5: putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         6: .line 112
            return
        end local 3 // int stackTraceLimit
        end local 2 // com.oracle.truffle.api.source.SourceSection location
        end local 1 // java.lang.String message
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0             this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    7     1          message  Ljava/lang/String;
            0    7     2         location  Lcom/oracle/truffle/api/source/SourceSection;
            0    7     3  stackTraceLimit  I
    MethodParameters:
                 Name  Flags
      message          
      location         
      stackTraceLimit  

  private static int truffleStackTraceLimit(int);
    descriptor: (I)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // int stackTraceLimit
         0: .line 115
            iload 0 /* stackTraceLimit */
            ifgt 1
            iconst_0
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // int stackTraceLimit
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    3     0  stackTraceLimit  I
    MethodParameters:
                 Name  Flags
      stackTraceLimit  

  protected static <T extends com.oracle.truffle.js.runtime.GraalJSException> T fillInStackTrace(T, com.oracle.truffle.api.object.DynamicObject, );
    descriptor: (Lcom/oracle/truffle/js/runtime/GraalJSException;Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/js/runtime/GraalJSException;
    flags: (0x000c) ACC_PROTECTED, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException exception
        start local 1 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        start local 2 // boolean capture
         0: .line 119
            aload 0 /* exception */
            aload 1 /* skipFramesUpTo */
            iload 2 /* capture */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.fillInStackTrace:(Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/js/runtime/GraalJSException;
            pop
         1: .line 120
            aload 0 /* exception */
            areturn
        end local 2 // boolean capture
        end local 1 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException exception
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    2     0       exception  TT;
            0    2     1  skipFramesUpTo  Lcom/oracle/truffle/api/object/DynamicObject;
            0    2     2         capture  Z
    Signature: <T:Lcom/oracle/truffle/js/runtime/GraalJSException;>(TT;Lcom/oracle/truffle/api/object/DynamicObject;Z)TT;
    MethodParameters:
                Name  Flags
      exception       
      skipFramesUpTo  
      capture         

  protected final com.oracle.truffle.js.runtime.GraalJSException fillInStackTrace(com.oracle.truffle.api.object.DynamicObject, boolean);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;Z)Lcom/oracle/truffle/js/runtime/GraalJSException;
    flags: (0x0014) ACC_PROTECTED, ACC_FINAL
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        start local 2 // boolean capture
         0: .line 125
            getstatic com.oracle.truffle.js.runtime.GraalJSException.$assertionsDisabled:Z
            ifne 1
            iload 2 /* capture */
            ifne 1
            aload 1 /* skipFramesUpTo */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 126
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.truffle.js.runtime.GraalJSException.$assertionsDisabled:Z
            ifne 4
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
            ifne 2
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            goto 3
      StackMap locals:
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
         2: aconst_null
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
         3: if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 127
      StackMap locals:
      StackMap stack:
            iload 2 /* capture */
            ifeq 7
         5: .line 128
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
            ifle 7
         6: .line 129
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* skipFramesUpTo */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         7: .line 132
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            areturn
        end local 2 // boolean capture
        end local 1 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    8     0            this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    8     1  skipFramesUpTo  Lcom/oracle/truffle/api/object/DynamicObject;
            0    8     2         capture  Z
    MethodParameters:
                Name  Flags
      skipFramesUpTo  
      capture         

  public boolean hasSourceLocation();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 137
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
            instanceof com.oracle.truffle.api.source.SourceSection
            ifeq 2
         1: .line 138
            iconst_1
            ireturn
         2: .line 140
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            astore 1 /* locationNode */
        start local 1 // com.oracle.truffle.api.nodes.Node locationNode
         3: .line 141
            aload 1 /* locationNode */
            ifnull 4
            aload 1 /* locationNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            goto 5
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.source.SourceSection
         5: astore 2 /* sourceSection */
        start local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
         6: .line 142
            aload 2 /* sourceSection */
            ifnull 7
            iconst_1
            ireturn
      StackMap locals: com.oracle.truffle.api.source.SourceSection
      StackMap stack:
         7: iconst_0
            ireturn
        end local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 1 // com.oracle.truffle.api.nodes.Node locationNode
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    8     0           this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            3    8     1   locationNode  Lcom/oracle/truffle/api/nodes/Node;
            6    8     2  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()

  public com.oracle.truffle.api.source.SourceSection getSourceLocationInterop();
    descriptor: ()Lcom/oracle/truffle/api/source/SourceSection;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 147
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
            instanceof com.oracle.truffle.api.source.SourceSection
            ifeq 2
         1: .line 148
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.location:Ljava/lang/Object;
            checkcast com.oracle.truffle.api.source.SourceSection
            areturn
         2: .line 150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            astore 1 /* locationNode */
        start local 1 // com.oracle.truffle.api.nodes.Node locationNode
         3: .line 151
            aload 1 /* locationNode */
            ifnull 4
            aload 1 /* locationNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            goto 5
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
         4: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.source.SourceSection
         5: astore 2 /* sourceSection */
        start local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
         6: .line 152
            aload 2 /* sourceSection */
            ifnonnull 8
         7: .line 153
            invokestatic com.oracle.truffle.api.interop.UnsupportedMessageException.create:()Lcom/oracle/truffle/api/interop/UnsupportedMessageException;
            athrow
         8: .line 155
      StackMap locals: com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            aload 2 /* sourceSection */
            areturn
        end local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 1 // com.oracle.truffle.api.nodes.Node locationNode
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            3    9     1   locationNode  Lcom/oracle/truffle/api/nodes/Node;
            6    9     2  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage(name = "getSourceLocation")

  public abstract java.lang.Object getErrorObject();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT

  public java.lang.Object getErrorObjectEager(com.oracle.truffle.js.runtime.JSContext);
    descriptor: (Lcom/oracle/truffle/js/runtime/JSContext;)Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // com.oracle.truffle.js.runtime.JSContext context
         0: .line 166
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getErrorObject:()Ljava/lang/Object;
            areturn
        end local 1 // com.oracle.truffle.js.runtime.JSContext context
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    1     1  context  Lcom/oracle/truffle/js/runtime/JSContext;
    MethodParameters:
         Name  Flags
      context  

  public java.lang.Object getErrorObjectEager();
    descriptor: ()Ljava/lang/Object;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 170
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getErrorObject:()Ljava/lang/Object;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException;

  public com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] getJSStackTrace();
    descriptor: ()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 174
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            ifnull 2
         1: .line 175
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            areturn
         2: .line 177
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.materializeJSStackTrace:()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         3: .line 178
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException;

  private com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] materializeJSStackTrace();
    descriptor: ()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 183
            aload 0 /* this */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:(Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()

  private com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] getJSStackTrace(com.oracle.truffle.api.object.DynamicObject);
    descriptor: (Lcom/oracle/truffle/api/object/DynamicObject;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // com.oracle.truffle.api.object.DynamicObject skipUpTo
         0: .line 188
            getstatic com.oracle.truffle.js.runtime.GraalJSException.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 189
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            astore 2 /* context */
        start local 2 // com.oracle.truffle.js.runtime.JSContext context
         2: .line 190
            aload 2 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionNashornCompatibilityMode:()Z
            istore 3 /* nashornMode */
        start local 3 // boolean nashornMode
         3: .line 192
            iload 3 /* nashornMode */
            ifeq 4
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            goto 5
      StackMap locals: com.oracle.truffle.js.runtime.JSContext int
      StackMap stack:
         4: aload 1 /* skipUpTo */
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.object.DynamicObject
         5: astore 4 /* skipFramesUpTo */
        start local 4 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
         6: .line 193
            aload 0 /* this */
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getStackTrace:(Ljava/lang/Throwable;)Ljava/util/List;
            astore 5 /* stackTrace */
        start local 5 // java.util.List stackTrace
         7: .line 194
            aload 5 /* stackTrace */
            ifnonnull 9
         8: .line 195
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            areturn
         9: .line 197
      StackMap locals: com.oracle.truffle.api.object.DynamicObject java.util.List
      StackMap stack:
            new com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl
            dup
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.stackTraceLimit:I
            aload 4 /* skipFramesUpTo */
            iload 3 /* nashornMode */
            invokespecial com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.<init>:(Lcom/oracle/truffle/api/nodes/Node;ILcom/oracle/truffle/api/object/DynamicObject;Z)V
            astore 6 /* visitor */
        start local 6 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl visitor
        10: .line 198
            aload 2 /* context */
            invokevirtual com.oracle.truffle.js.runtime.JSContext.isOptionAsyncStackTraces:()Z
            istore 7 /* asyncStackTraces */
        start local 7 // boolean asyncStackTraces
        11: .line 199
            aconst_null
            astore 8 /* asyncStacks */
        start local 8 // java.util.List asyncStacks
        12: .line 200
            aload 5 /* stackTrace */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 23
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List top java.util.Iterator
      StackMap stack:
        13: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            astore 9 /* element */
        start local 9 // com.oracle.truffle.api.TruffleStackTraceElement element
        14: .line 201
            aload 6 /* visitor */
            aload 9 /* element */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.visitFrame:(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Z
            ifne 17
        15: .line 202
            aconst_null
            astore 8 /* asyncStacks */
        16: .line 203
            goto 24
        17: .line 205
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List com.oracle.truffle.api.TruffleStackTraceElement java.util.Iterator
      StackMap stack:
            iload 7 /* asyncStackTraces */
            ifeq 23
        18: .line 206
            aload 9 /* element */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.getAsynchronousStackTrace:(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/util/List;
            astore 11 /* asyncStack */
        start local 11 // java.util.List asyncStack
        19: .line 207
            aload 11 /* asyncStack */
            ifnull 23
            aload 11 /* asyncStack */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 23
        20: .line 208
            aload 8 /* asyncStacks */
            ifnonnull 22
        21: .line 209
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 8 /* asyncStacks */
        22: .line 211
      StackMap locals: java.util.List
      StackMap stack:
            aload 8 /* asyncStacks */
            aload 11 /* asyncStack */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // java.util.List asyncStack
        end local 9 // com.oracle.truffle.api.TruffleStackTraceElement element
        23: .line 200
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        24: .line 215
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List
      StackMap stack:
            aload 8 /* asyncStacks */
            ifnull 34
            aload 8 /* asyncStacks */
            invokeinterface java.util.List.isEmpty:()Z
            ifne 34
        25: .line 216
            aload 8 /* asyncStacks */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 33
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List top java.util.Iterator
      StackMap stack:
        26: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.util.List
            astore 9 /* asyncStack */
        start local 9 // java.util.List asyncStack
        27: .line 217
            aload 6 /* visitor */
            iconst_1
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.async:Z
        28: .line 218
            aload 9 /* asyncStack */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 32
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List java.util.List java.util.Iterator top java.util.Iterator
      StackMap stack:
        29: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast com.oracle.truffle.api.TruffleStackTraceElement
            astore 11 /* element */
        start local 11 // com.oracle.truffle.api.TruffleStackTraceElement element
        30: .line 219
            aload 6 /* visitor */
            aload 11 /* element */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.visitFrame:(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Z
            ifne 32
        31: .line 220
            goto 34
        end local 11 // com.oracle.truffle.api.TruffleStackTraceElement element
        32: .line 218
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 29
        end local 9 // java.util.List asyncStack
        33: .line 216
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 26
        34: .line 225
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.JSContext int com.oracle.truffle.api.object.DynamicObject java.util.List com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int java.util.List
      StackMap stack:
            aload 6 /* visitor */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.getStackTrace:()Ljava/util/List;
            getstatic com.oracle.truffle.js.runtime.GraalJSException.EMPTY_STACK_TRACE:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
            areturn
        end local 8 // java.util.List asyncStacks
        end local 7 // boolean asyncStackTraces
        end local 6 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl visitor
        end local 5 // java.util.List stackTrace
        end local 4 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        end local 3 // boolean nashornMode
        end local 2 // com.oracle.truffle.js.runtime.JSContext context
        end local 1 // com.oracle.truffle.api.object.DynamicObject skipUpTo
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   35     0              this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0   35     1          skipUpTo  Lcom/oracle/truffle/api/object/DynamicObject;
            2   35     2           context  Lcom/oracle/truffle/js/runtime/JSContext;
            3   35     3       nashornMode  Z
            6   35     4    skipFramesUpTo  Lcom/oracle/truffle/api/object/DynamicObject;
            7   35     5        stackTrace  Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
           10   35     6           visitor  Lcom/oracle/truffle/js/runtime/GraalJSException$FrameVisitorImpl;
           11   35     7  asyncStackTraces  Z
           12   35     8       asyncStacks  Ljava/util/List<Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;>;
           14   23     9           element  Lcom/oracle/truffle/api/TruffleStackTraceElement;
           19   23    11        asyncStack  Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
           27   33     9        asyncStack  Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
           30   32    11           element  Lcom/oracle/truffle/api/TruffleStackTraceElement;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
          Name  Flags
      skipUpTo  

  private static java.util.List<com.oracle.truffle.api.TruffleStackTraceElement> getAsynchronousStackTrace(com.oracle.truffle.api.TruffleStackTraceElement);
    descriptor: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.TruffleStackTraceElement element
         0: .line 229
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            ifnonnull 2
         1: .line 231
            aconst_null
            areturn
         2: .line 233
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            astore 1 /* rootNode */
        start local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
         3: .line 234
            aload 1 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getLanguageInfo:()Lcom/oracle/truffle/api/nodes/LanguageInfo;
            ifnonnull 5
         4: .line 236
            aconst_null
            areturn
         5: .line 238
      StackMap locals: com.oracle.truffle.api.nodes.RootNode
      StackMap stack:
            aload 1 /* rootNode */
            instanceof com.oracle.truffle.js.runtime.JavaScriptRootNode
            ifeq 9
         6: .line 239
            aload 1 /* rootNode */
            instanceof com.oracle.truffle.js.nodes.promise.PromiseReactionJobNode$PromiseReactionJobRootNode
            ifeq 8
         7: .line 240
            aload 1 /* rootNode */
            checkcast com.oracle.truffle.js.runtime.JavaScriptRootNode
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokestatic com.oracle.truffle.js.runtime.JavaScriptRootNode.findAsynchronousFrames:(Lcom/oracle/truffle/js/runtime/JavaScriptRootNode;Lcom/oracle/truffle/api/frame/Frame;)Ljava/util/List;
            areturn
         8: .line 244
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
         9: .line 247
      StackMap locals:
      StackMap stack:
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokestatic com.oracle.truffle.api.TruffleStackTrace.getAsynchronousStackTrace:(Lcom/oracle/truffle/api/CallTarget;Lcom/oracle/truffle/api/frame/Frame;)Ljava/util/List;
            areturn
        end local 1 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 0 // com.oracle.truffle.api.TruffleStackTraceElement element
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0   element  Lcom/oracle/truffle/api/TruffleStackTraceElement;
            3   10     1  rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
    Signature: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Ljava/util/List<Lcom/oracle/truffle/api/TruffleStackTraceElement;>;
    MethodParameters:
         Name  Flags
      element  

  public void setJSStackTrace(com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]);
    descriptor: ([Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] jsStackTrace
         0: .line 251
            aload 0 /* this */
            aload 1 /* jsStackTrace */
            putfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
         1: .line 252
            return
        end local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] jsStackTrace
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    2     1  jsStackTrace  [Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    MethodParameters:
              Name  Flags
      jsStackTrace  

  public static com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] getJSStackTrace(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.Node originatingNode
         0: .line 256
            invokestatic com.oracle.truffle.js.lang.JavaScriptLanguage.getCurrentJSRealm:()Lcom/oracle/truffle/js/runtime/JSRealm;
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getContext:()Lcom/oracle/truffle/js/runtime/JSContext;
            invokevirtual com.oracle.truffle.js.runtime.JSContext.getContextOptions:()Lcom/oracle/truffle/js/runtime/JSContextOptions;
            invokevirtual com.oracle.truffle.js.runtime.JSContextOptions.getStackTraceLimit:()I
            istore 1 /* stackTraceLimit */
        start local 1 // int stackTraceLimit
         1: .line 257
            ldc ""
            aload 0 /* originatingNode */
            iload 1 /* stackTraceLimit */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            invokestatic com.oracle.truffle.js.runtime.UserScriptException.createCapture:(Ljava/lang/Object;Lcom/oracle/truffle/api/nodes/Node;ILcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/UserScriptException;
            invokevirtual com.oracle.truffle.js.runtime.UserScriptException.getJSStackTrace:()[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            areturn
        end local 1 // int stackTraceLimit
        end local 0 // com.oracle.truffle.api.nodes.Node originatingNode
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    2     0  originatingNode  Lcom/oracle/truffle/api/nodes/Node;
            1    2     1  stackTraceLimit  I
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      originatingNode  

  private static com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement processJSFrame(com.oracle.truffle.api.nodes.RootNode, com.oracle.truffle.api.nodes.Node, java.lang.Object, com.oracle.truffle.api.object.DynamicObject, boolean, boolean, boolean, int);
    descriptor: (Lcom/oracle/truffle/api/nodes/RootNode;Lcom/oracle/truffle/api/nodes/Node;Ljava/lang/Object;Lcom/oracle/truffle/api/object/DynamicObject;ZZZI)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=16, args_size=8
        start local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
        start local 1 // com.oracle.truffle.api.nodes.Node node
        start local 2 // java.lang.Object thisObj
        start local 3 // com.oracle.truffle.api.object.DynamicObject functionObj
        start local 4 // boolean inStrictMode
        start local 5 // boolean inNashornMode
        start local 6 // boolean async
        start local 7 // int promiseIndex
         0: .line 404
            aload 1 /* node */
            astore 8 /* callNode */
        start local 8 // com.oracle.truffle.api.nodes.Node callNode
         1: .line 405
            goto 3
         2: .line 406
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 8 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getParent:()Lcom/oracle/truffle/api/nodes/Node;
            astore 8 /* callNode */
         3: .line 405
      StackMap locals:
      StackMap stack:
            aload 8 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            ifnull 2
         4: .line 408
            aload 8 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 9 /* callNodeSourceSection */
        start local 9 // com.oracle.truffle.api.source.SourceSection callNodeSourceSection
         5: .line 409
            aload 9 /* callNodeSourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            astore 10 /* source */
        start local 10 // com.oracle.truffle.api.source.Source source
         6: .line 411
            aload 10 /* source */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.getFileName:(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/String;
            astore 11 /* fileName */
        start local 11 // java.lang.String fileName
         7: .line 413
            aload 3 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBuiltin:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 10
         8: .line 414
            aload 3 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getName:(Lcom/oracle/truffle/api/object/DynamicObject;)Ljava/lang/String;
            astore 12 /* functionName */
        start local 12 // java.lang.String functionName
         9: .line 415
            goto 11
        end local 12 // java.lang.String functionName
        10: .line 416
      StackMap locals: com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.source.Source java.lang.String
      StackMap stack:
            aload 0 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
            astore 12 /* functionName */
        start local 12 // java.lang.String functionName
        11: .line 418
      StackMap locals: java.lang.String
      StackMap stack:
            iconst_0
            istore 13 /* eval */
        start local 13 // boolean eval
        12: .line 419
            aload 10 /* source */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.isEvalSource:(Lcom/oracle/truffle/api/source/Source;)Z
            ifeq 16
        13: .line 420
            ldc "eval"
            astore 12 /* functionName */
        14: .line 421
            iconst_1
            istore 13 /* eval */
        15: .line 422
            goto 18
      StackMap locals: int
      StackMap stack:
        16: aload 12 /* functionName */
            ifnull 17
            aload 12 /* functionName */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.isInternalFunctionName:(Ljava/lang/String;)Z
            ifeq 18
        17: .line 423
      StackMap locals:
      StackMap stack:
            ldc ""
            astore 12 /* functionName */
        18: .line 425
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 14 /* targetSourceSection */
        start local 14 // com.oracle.truffle.api.source.SourceSection targetSourceSection
        19: .line 426
            iload 5 /* inNashornMode */
            ifne 25
        20: .line 427
            aload 8 /* callNode */
            instanceof com.oracle.truffle.js.runtime.JavaScriptFunctionCallNode
            ifeq 25
        21: .line 428
            aload 8 /* callNode */
            checkcast com.oracle.truffle.js.runtime.JavaScriptFunctionCallNode
            invokeinterface com.oracle.truffle.js.runtime.JavaScriptFunctionCallNode.getTarget:()Lcom/oracle/truffle/api/nodes/Node;
            astore 15 /* target */
        start local 15 // com.oracle.truffle.api.nodes.Node target
        22: .line 429
            aload 15 /* target */
            ifnonnull 23
            aconst_null
            goto 24
      StackMap locals: com.oracle.truffle.api.source.SourceSection com.oracle.truffle.api.nodes.Node
      StackMap stack:
        23: aload 15 /* target */
            invokevirtual com.oracle.truffle.api.nodes.Node.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.source.SourceSection
        24: astore 14 /* targetSourceSection */
        end local 15 // com.oracle.truffle.api.nodes.Node target
        25: .line 432
      StackMap locals:
      StackMap stack:
            aload 2 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNullOrUndefined:(Ljava/lang/Object;)Z
            ifeq 26
            aload 3 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isStrict:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 27
      StackMap locals:
      StackMap stack:
        26: aload 2 /* thisObj */
            aload 3 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.isGlobalObject:(Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Z
            ifne 27
            iconst_0
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_1
      StackMap locals:
      StackMap stack: int
        28: istore 15 /* global */
        start local 15 // boolean global
        29: .line 434
            new com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
            dup
            aload 11 /* fileName */
            aload 12 /* functionName */
            aload 9 /* callNodeSourceSection */
            aload 2 /* thisObj */
            aload 3 /* functionObj */
            aload 14 /* targetSourceSection */
            iload 4 /* inStrictMode */
            iload 13 /* eval */
            iload 15 /* global */
            iload 5 /* inNashornMode */
            iload 6 /* async */
            iload 7 /* promiseIndex */
            invokespecial com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/source/SourceSection;ZZZZZI)V
            areturn
        end local 15 // boolean global
        end local 14 // com.oracle.truffle.api.source.SourceSection targetSourceSection
        end local 13 // boolean eval
        end local 12 // java.lang.String functionName
        end local 11 // java.lang.String fileName
        end local 10 // com.oracle.truffle.api.source.Source source
        end local 9 // com.oracle.truffle.api.source.SourceSection callNodeSourceSection
        end local 8 // com.oracle.truffle.api.nodes.Node callNode
        end local 7 // int promiseIndex
        end local 6 // boolean async
        end local 5 // boolean inNashornMode
        end local 4 // boolean inStrictMode
        end local 3 // com.oracle.truffle.api.object.DynamicObject functionObj
        end local 2 // java.lang.Object thisObj
        end local 1 // com.oracle.truffle.api.nodes.Node node
        end local 0 // com.oracle.truffle.api.nodes.RootNode rootNode
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   30     0               rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            0   30     1                   node  Lcom/oracle/truffle/api/nodes/Node;
            0   30     2                thisObj  Ljava/lang/Object;
            0   30     3            functionObj  Lcom/oracle/truffle/api/object/DynamicObject;
            0   30     4           inStrictMode  Z
            0   30     5          inNashornMode  Z
            0   30     6                  async  Z
            0   30     7           promiseIndex  I
            1   30     8               callNode  Lcom/oracle/truffle/api/nodes/Node;
            5   30     9  callNodeSourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            6   30    10                 source  Lcom/oracle/truffle/api/source/Source;
            7   30    11               fileName  Ljava/lang/String;
            9   10    12           functionName  Ljava/lang/String;
           11   30    12           functionName  Ljava/lang/String;
           12   30    13                   eval  Z
           19   30    14    targetSourceSection  Lcom/oracle/truffle/api/source/SourceSection;
           22   25    15                 target  Lcom/oracle/truffle/api/nodes/Node;
           29   30    15                 global  Z
    MethodParameters:
               Name  Flags
      rootNode       
      node           
      thisObj        
      functionObj    
      inStrictMode   
      inNashornMode  
      async          
      promiseIndex   

  private static boolean isEvalSource(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.source.Source source
         0: .line 438
            aload 0 /* source */
            ifnull 1
            aload 0 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            ldc "eval at "
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // com.oracle.truffle.api.source.Source source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  source  Lcom/oracle/truffle/api/source/Source;
    MethodParameters:
        Name  Flags
      source  

  private static boolean isInternalFunctionName(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.String functionName
         0: .line 442
            aload 0 /* functionName */
            invokevirtual java.lang.String.length:()I
            iconst_1
            if_icmplt 1
            aload 0 /* functionName */
            iconst_0
            invokevirtual java.lang.String.charAt:(I)C
            bipush 58
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // java.lang.String functionName
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0  functionName  Ljava/lang/String;
    MethodParameters:
              Name  Flags
      functionName  

  private static boolean isGlobalObject(java.lang.Object, com.oracle.truffle.js.runtime.JSRealm);
    descriptor: (Ljava/lang/Object;Lcom/oracle/truffle/js/runtime/JSRealm;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.Object object
        start local 1 // com.oracle.truffle.js.runtime.JSRealm realm
         0: .line 446
            aload 0 /* object */
            invokestatic com.oracle.truffle.js.runtime.objects.JSDynamicObject.isJSDynamicObject:(Ljava/lang/Object;)Z
            ifeq 1
            aload 1 /* realm */
            ifnull 1
            aload 1 /* realm */
            invokevirtual com.oracle.truffle.js.runtime.JSRealm.getGlobalObject:()Lcom/oracle/truffle/api/object/DynamicObject;
            aload 0 /* object */
            if_acmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 0 // java.lang.Object object
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  object  Ljava/lang/Object;
            0    2     1   realm  Lcom/oracle/truffle/js/runtime/JSRealm;
    MethodParameters:
        Name  Flags
      object  
      realm   

  private static com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement processForeignFrame(com.oracle.truffle.api.nodes.Node, boolean, boolean, boolean);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;ZZZ)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=14, locals=10, args_size=4
        start local 0 // com.oracle.truffle.api.nodes.Node node
        start local 1 // boolean strict
        start local 2 // boolean inNashornMode
        start local 3 // boolean async
         0: .line 450
            aload 0 /* node */
            invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            astore 4 /* rootNode */
        start local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
         1: .line 451
            aload 4 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 5 /* sourceSection */
        start local 5 // com.oracle.truffle.api.source.SourceSection sourceSection
         2: .line 452
            aload 5 /* sourceSection */
            ifnonnull 4
         3: .line 454
            aconst_null
            areturn
         4: .line 456
      StackMap locals: com.oracle.truffle.api.nodes.RootNode com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            aload 5 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.getFileName:(Lcom/oracle/truffle/api/source/Source;)Ljava/lang/String;
            astore 6 /* fileName */
        start local 6 // java.lang.String fileName
         5: .line 457
            aload 4 /* rootNode */
            invokevirtual com.oracle.truffle.api.nodes.RootNode.getName:()Ljava/lang/String;
            astore 7 /* functionName */
        start local 7 // java.lang.String functionName
         6: .line 458
            aconst_null
            astore 8 /* thisObj */
        start local 8 // java.lang.Object thisObj
         7: .line 459
            aconst_null
            astore 9 /* functionObj */
        start local 9 // java.lang.Object functionObj
         8: .line 461
            new com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
            dup
            aload 6 /* fileName */
            aload 7 /* functionName */
            aload 5 /* sourceSection */
            aload 8 /* thisObj */
            aload 9 /* functionObj */
            aconst_null
            iload 1 /* strict */
            iconst_0
            iconst_0
            iload 2 /* inNashornMode */
            iload 3 /* async */
            iconst_m1
            invokespecial com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement.<init>:(Ljava/lang/String;Ljava/lang/String;Lcom/oracle/truffle/api/source/SourceSection;Ljava/lang/Object;Ljava/lang/Object;Lcom/oracle/truffle/api/source/SourceSection;ZZZZZI)V
            areturn
        end local 9 // java.lang.Object functionObj
        end local 8 // java.lang.Object thisObj
        end local 7 // java.lang.String functionName
        end local 6 // java.lang.String fileName
        end local 5 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 4 // com.oracle.truffle.api.nodes.RootNode rootNode
        end local 3 // boolean async
        end local 2 // boolean inNashornMode
        end local 1 // boolean strict
        end local 0 // com.oracle.truffle.api.nodes.Node node
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    9     0           node  Lcom/oracle/truffle/api/nodes/Node;
            0    9     1         strict  Z
            0    9     2  inNashornMode  Z
            0    9     3          async  Z
            1    9     4       rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
            2    9     5  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            5    9     6       fileName  Ljava/lang/String;
            6    9     7   functionName  Ljava/lang/String;
            7    9     8        thisObj  Ljava/lang/Object;
            8    9     9    functionObj  Ljava/lang/Object;
    MethodParameters:
               Name  Flags
      node           
      strict         
      inNashornMode  
      async          

  private static java.lang.String getPrimitiveConstructorName(java.lang.Object);
    descriptor: (Ljava/lang/Object;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // java.lang.Object thisObj
         0: .line 465
            getstatic com.oracle.truffle.js.runtime.GraalJSException.$assertionsDisabled:Z
            ifne 1
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSPrimitive:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 466
      StackMap locals:
      StackMap stack:
            aload 0 /* thisObj */
            instanceof java.lang.Boolean
            ifeq 3
         2: .line 467
            ldc "Boolean"
            areturn
         3: .line 468
      StackMap locals:
      StackMap stack:
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isNumber:(Ljava/lang/Object;)Z
            ifeq 5
         4: .line 469
            ldc "Number"
            areturn
         5: .line 470
      StackMap locals:
      StackMap stack:
            aload 0 /* thisObj */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isString:(Ljava/lang/Object;)Z
            ifeq 7
         6: .line 471
            ldc "String"
            areturn
         7: .line 472
      StackMap locals:
      StackMap stack:
            aload 0 /* thisObj */
            instanceof com.oracle.truffle.js.runtime.Symbol
            ifeq 9
         8: .line 473
            ldc "Symbol"
            areturn
         9: .line 475
      StackMap locals:
      StackMap stack:
            aconst_null
            areturn
        end local 0 // java.lang.Object thisObj
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   10     0  thisObj  Ljava/lang/Object;
    MethodParameters:
         Name  Flags
      thisObj  

  private static int sourceSectionOffset(com.oracle.truffle.api.source.SourceSection, com.oracle.truffle.api.source.SourceSection);
    descriptor: (Lcom/oracle/truffle/api/source/SourceSection;Lcom/oracle/truffle/api/source/SourceSection;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=6, args_size=2
        start local 0 // com.oracle.truffle.api.source.SourceSection callNodeSourceSection
        start local 1 // com.oracle.truffle.api.source.SourceSection targetSourceSection
         0: .line 479
            iconst_0
            istore 2 /* offset */
        start local 2 // int offset
         1: .line 480
            aload 0 /* callNodeSourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 3 /* code */
        start local 3 // java.lang.String code
         2: .line 483
            aload 1 /* targetSourceSection */
            ifnull 9
         3: .line 484
            aload 1 /* targetSourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getCharacters:()Ljava/lang/CharSequence;
            invokeinterface java.lang.CharSequence.toString:()Ljava/lang/String;
            astore 4 /* targetCode */
        start local 4 // java.lang.String targetCode
         4: .line 485
            aload 3 /* code */
            aload 4 /* targetCode */
            invokevirtual java.lang.String.indexOf:(Ljava/lang/String;)I
            istore 5 /* index */
        start local 5 // int index
         5: .line 486
            iload 5 /* index */
            iconst_m1
            if_icmpeq 9
         6: .line 487
            iload 5 /* index */
            aload 4 /* targetCode */
            invokevirtual java.lang.String.length:()I
            iadd
            istore 5 /* index */
         7: .line 488
            iload 2 /* offset */
            iload 5 /* index */
            iadd
            istore 2 /* offset */
         8: .line 489
            aload 3 /* code */
            iload 5 /* index */
            invokevirtual java.lang.String.substring:(I)Ljava/lang/String;
            astore 3 /* code */
        end local 5 // int index
        end local 4 // java.lang.String targetCode
         9: .line 496
      StackMap locals: int java.lang.String
      StackMap stack:
            aload 3 /* code */
            bipush 40
            invokevirtual java.lang.String.indexOf:(I)I
            istore 4 /* index */
        start local 4 // int index
        10: .line 497
            iload 4 /* index */
            iconst_m1
            if_icmpeq 21
        11: .line 498
            iinc 4 /* index */ -1
        12: .line 499
            iload 4 /* index */
            istore 5 /* i */
        start local 5 // int i
        13: .line 500
            goto 15
        14: .line 501
      StackMap locals: int int
      StackMap stack:
            iinc 5 /* i */ -1
        15: .line 500
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iflt 16
            aload 3 /* code */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isWhitespace:(C)Z
            ifne 14
        16: .line 503
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            iflt 20
            aload 3 /* code */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifeq 20
        17: .line 505
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ -1
        18: .line 506
            iload 5 /* i */
            iflt 19
            aload 3 /* code */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isJavaIdentifierPart:(C)Z
            ifne 17
        19: .line 507
      StackMap locals:
      StackMap stack:
            iload 5 /* i */
            istore 4 /* index */
        20: .line 509
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            iload 4 /* index */
            iconst_1
            iadd
            iadd
            istore 2 /* offset */
        end local 5 // int i
        21: .line 511
      StackMap locals:
      StackMap stack:
            iload 2 /* offset */
            ireturn
        end local 4 // int index
        end local 3 // java.lang.String code
        end local 2 // int offset
        end local 1 // com.oracle.truffle.api.source.SourceSection targetSourceSection
        end local 0 // com.oracle.truffle.api.source.SourceSection callNodeSourceSection
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   22     0  callNodeSourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            0   22     1    targetSourceSection  Lcom/oracle/truffle/api/source/SourceSection;
            1   22     2                 offset  I
            2   22     3                   code  Ljava/lang/String;
            4    9     4             targetCode  Ljava/lang/String;
            5    9     5                  index  I
           10   22     4                  index  I
           13   21     5                      i  I
    MethodParameters:
                       Name  Flags
      callNodeSourceSection  
      targetSourceSection    

  private static java.lang.String getFileName(com.oracle.truffle.api.source.Source);
    descriptor: (Lcom/oracle/truffle/api/source/Source;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.api.source.Source source
         0: .line 515
            aload 0 /* source */
            ifnull 1
            aload 0 /* source */
            invokevirtual com.oracle.truffle.api.source.Source.getName:()Ljava/lang/String;
            goto 2
      StackMap locals:
      StackMap stack:
         1: ldc "<unknown>"
      StackMap locals:
      StackMap stack: java.lang.String
         2: areturn
        end local 0 // com.oracle.truffle.api.source.Source source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0  source  Lcom/oracle/truffle/api/source/Source;
    MethodParameters:
        Name  Flags
      source  

  public void printJSStackTrace();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 519
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getMessage:()Ljava/lang/String;
            invokevirtual java.io.PrintStream.println:(Ljava/lang/String;)V
         1: .line 520
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException.jsStackTrace:[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException top int int com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
      StackMap stack:
         2: aload 4
            iload 2
            aaload
            astore 1 /* jsste */
        start local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement jsste
         3: .line 521
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 1 /* jsste */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement jsste
         4: .line 520
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 2
         6: .line 523
            return
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            3    4     1  jsste  Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;

  public static void printJSStackTrace(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // com.oracle.truffle.api.nodes.Node originatingNode
         0: .line 527
            aload 0 /* originatingNode */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.getJSStackTrace:(Lcom/oracle/truffle/api/nodes/Node;)[Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            astore 1 /* jsstes */
        start local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] jsstes
         1: .line 528
            aload 1 /* jsstes */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: com.oracle.truffle.api.nodes.Node com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] top int int com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* jsste */
        start local 2 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement jsste
         3: .line 529
            getstatic java.lang.System.err:Ljava/io/PrintStream;
            aload 2 /* jsste */
            invokevirtual java.io.PrintStream.println:(Ljava/lang/Object;)V
        end local 2 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement jsste
         4: .line 528
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 531
            return
        end local 1 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement[] jsstes
        end local 0 // com.oracle.truffle.api.nodes.Node originatingNode
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0    7     0  originatingNode  Lcom/oracle/truffle/api/nodes/Node;
            1    7     1           jsstes  [Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            3    4     2            jsste  Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    MethodParameters:
                 Name  Flags
      originatingNode  

  public final boolean hasLanguage();
    descriptor: ()Z
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 536
            iconst_1
            ireturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()

  public final java.lang.Class<? extends com.oracle.truffle.api.TruffleLanguage<?>> getLanguage();
    descriptor: ()Ljava/lang/Class;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
         0: .line 542
            ldc Lcom/oracle/truffle/js/lang/JavaScriptLanguage;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException;
    Signature: ()Ljava/lang/Class<+Lcom/oracle/truffle/api/TruffleLanguage<*>;>;
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()

  public final java.lang.Object toDisplayString(boolean);
    descriptor: (Z)Ljava/lang/Object;
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // boolean allowSideEffects
         0: .line 547
            aload 0 /* this */
            iload 1 /* allowSideEffects */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.toDisplayString:(Ljava/lang/Object;Z)Ljava/lang/String;
            areturn
        end local 1 // boolean allowSideEffects
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0    1     0              this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    1     1  allowSideEffects  Z
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
    MethodParameters:
                  Name  Flags
      allowSideEffects  

  public final int identityHashCode(com.oracle.truffle.api.interop.InteropLibrary);
    descriptor: (Lcom/oracle/truffle/api/interop/InteropLibrary;)I
    flags: (0x0011) ACC_PUBLIC, ACC_FINAL
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException this
        start local 1 // com.oracle.truffle.api.interop.InteropLibrary delegateLib
         0: .line 615
            aload 1 /* delegateLib */
            aload 0 /* this */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException.getErrorObjectEager:()Ljava/lang/Object;
            invokevirtual com.oracle.truffle.api.interop.InteropLibrary.identityHashCode:(Ljava/lang/Object;)I
            ireturn
        end local 1 // com.oracle.truffle.api.interop.InteropLibrary delegateLib
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    1     0         this  Lcom/oracle/truffle/js/runtime/GraalJSException;
            0    1     1  delegateLib  Lcom/oracle/truffle/api/interop/InteropLibrary;
    Exceptions:
      throws com.oracle.truffle.api.interop.UnsupportedMessageException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportMessage()
      com.oracle.truffle.api.CompilerDirectives$TruffleBoundary()
    RuntimeInvisibleParameterAnnotations: 
      0:
        com.oracle.truffle.api.library.CachedLibrary(limit = "InteropLibraryLimit")
    MethodParameters:
             Name  Flags
      delegateLib  
}
SourceFile: "GraalJSException.java"
NestMembers:
  com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl  com.oracle.truffle.js.runtime.GraalJSException$IsIdenticalOrUndefined  com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement
InnerClasses:
  public abstract TruffleBoundary = com.oracle.truffle.api.CompilerDirectives$TruffleBoundary of com.oracle.truffle.api.CompilerDirectives
  public PromiseReactionJobRootNode = com.oracle.truffle.js.nodes.promise.PromiseReactionJobNode$PromiseReactionJobRootNode of com.oracle.truffle.js.nodes.promise.PromiseReactionJobNode
  private final FrameVisitorImpl = com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl of com.oracle.truffle.js.runtime.GraalJSException
  public final IsIdenticalOrUndefined = com.oracle.truffle.js.runtime.GraalJSException$IsIdenticalOrUndefined of com.oracle.truffle.js.runtime.GraalJSException
  public final JSStackTraceElement = com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement of com.oracle.truffle.js.runtime.GraalJSException
    RuntimeVisibleAnnotations: 
      com.oracle.truffle.api.library.ExportLibrary(value = Lcom/oracle/truffle/api/interop/InteropLibrary;)
    RuntimeInvisibleAnnotations: 
      com.oracle.truffle.api.dsl.ImportStatic(value = {Lcom/oracle/truffle/js/runtime/JSConfig;})