final class com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl
  super_class: java.lang.Object
{
  private static final int STACK_FRAME_SKIP;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 0

  private static final int STACK_FRAME_JS;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 1

  private static final int STACK_FRAME_FOREIGN;
    descriptor: I
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    ConstantValue: 2

  private final java.util.List<com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement> stackTrace;
    descriptor: Ljava/util/List;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/List<Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;>;

  private final com.oracle.truffle.api.nodes.Node originatingNode;
    descriptor: Lcom/oracle/truffle/api/nodes/Node;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int stackTraceLimit;
    descriptor: I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final com.oracle.truffle.api.object.DynamicObject skipFramesUpTo;
    descriptor: Lcom/oracle/truffle/api/object/DynamicObject;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final boolean inNashornMode;
    descriptor: Z
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private boolean inStrictMode;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean skippingFrames;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  private boolean first;
    descriptor: Z
    flags: (0x0002) ACC_PRIVATE

  boolean async;
    descriptor: Z
    flags: (0x0000) 

  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 260
            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$FrameVisitorImpl.$assertionsDisabled:Z
         3: .line 263
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(com.oracle.truffle.api.nodes.Node, int, com.oracle.truffle.api.object.DynamicObject, boolean);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;ILcom/oracle/truffle/api/object/DynamicObject;Z)V
    flags: (0x0000) 
    Code:
      stack=3, locals=5, args_size=5
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
        start local 1 // com.oracle.truffle.api.nodes.Node originatingNode
        start local 2 // int stackTraceLimit
        start local 3 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        start local 4 // boolean nashornMode
         0: .line 276
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 265
            aload 0 /* this */
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTrace:Ljava/util/List;
         2: .line 273
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.first:Z
         3: .line 277
            aload 0 /* this */
            aload 1 /* originatingNode */
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.originatingNode:Lcom/oracle/truffle/api/nodes/Node;
         4: .line 278
            aload 0 /* this */
            iload 2 /* stackTraceLimit */
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTraceLimit:I
         5: .line 279
            aload 0 /* this */
            aload 3 /* skipFramesUpTo */
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skipFramesUpTo:Lcom/oracle/truffle/api/object/DynamicObject;
         6: .line 280
            aload 0 /* this */
            aload 3 /* skipFramesUpTo */
            getstatic com.oracle.truffle.js.runtime.objects.Undefined.instance:Lcom/oracle/truffle/js/runtime/objects/JSDynamicObject;
            if_acmpeq 7
            iconst_1
            goto 8
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.nodes.Node int com.oracle.truffle.api.object.DynamicObject int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl
         7: iconst_0
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.nodes.Node int com.oracle.truffle.api.object.DynamicObject int
      StackMap stack: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl int
         8: putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skippingFrames:Z
         9: .line 281
            aload 0 /* this */
            iload 4 /* nashornMode */
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inNashornMode:Z
        10: .line 282
            return
        end local 4 // boolean nashornMode
        end local 3 // com.oracle.truffle.api.object.DynamicObject skipFramesUpTo
        end local 2 // int stackTraceLimit
        end local 1 // com.oracle.truffle.api.nodes.Node originatingNode
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   11     0             this  Lcom/oracle/truffle/js/runtime/GraalJSException$FrameVisitorImpl;
            0   11     1  originatingNode  Lcom/oracle/truffle/api/nodes/Node;
            0   11     2  stackTraceLimit  I
            0   11     3   skipFramesUpTo  Lcom/oracle/truffle/api/object/DynamicObject;
            0   11     4      nashornMode  Z
    MethodParameters:
                 Name  Flags
      originatingNode  
      stackTraceLimit  
      skipFramesUpTo   
      nashornMode      

  private int stackFrameType(com.oracle.truffle.api.nodes.Node);
    descriptor: (Lcom/oracle/truffle/api/nodes/Node;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=3, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
        start local 1 // com.oracle.truffle.api.nodes.Node callNode
         0: .line 285
            aload 1 /* callNode */
            ifnonnull 2
         1: .line 286
            iconst_0
            ireturn
         2: .line 288
      StackMap locals:
      StackMap stack:
            aload 1 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getEncapsulatingSourceSection:()Lcom/oracle/truffle/api/source/SourceSection;
            astore 2 /* sourceSection */
        start local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
         3: .line 289
            aload 2 /* sourceSection */
            ifnonnull 5
         4: .line 290
            iconst_0
            ireturn
         5: .line 292
      StackMap locals: com.oracle.truffle.api.source.SourceSection
      StackMap stack:
            aload 2 /* sourceSection */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBuiltinSourceSection:(Lcom/oracle/truffle/api/source/SourceSection;)Z
            ifeq 9
         6: .line 293
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inNashornMode:Z
            ifeq 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: ireturn
         9: .line 295
      StackMap locals:
      StackMap stack:
            aload 2 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.getSource:()Lcom/oracle/truffle/api/source/Source;
            invokevirtual com.oracle.truffle.api.source.Source.isInternal:()Z
            ifne 10
            aload 2 /* sourceSection */
            invokevirtual com.oracle.truffle.api.source.SourceSection.isAvailable:()Z
            ifne 11
        10: .line 296
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        11: .line 298
      StackMap locals:
      StackMap stack:
            aload 1 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSRootNode:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifeq 13
        12: .line 299
            iconst_1
            ireturn
        13: .line 301
      StackMap locals:
      StackMap stack:
            iconst_2
            ireturn
        end local 2 // com.oracle.truffle.api.source.SourceSection sourceSection
        end local 1 // com.oracle.truffle.api.nodes.Node callNode
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   14     0           this  Lcom/oracle/truffle/js/runtime/GraalJSException$FrameVisitorImpl;
            0   14     1       callNode  Lcom/oracle/truffle/api/nodes/Node;
            3   14     2  sourceSection  Lcom/oracle/truffle/api/source/SourceSection;
    MethodParameters:
          Name  Flags
      callNode  

  private static com.oracle.truffle.api.nodes.RootNode rootNode(com.oracle.truffle.api.TruffleStackTraceElement);
    descriptor: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Lcom/oracle/truffle/api/nodes/RootNode;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=1
        start local 0 // com.oracle.truffle.api.TruffleStackTraceElement element
         0: .line 306
            aload 0 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getTarget:()Lcom/oracle/truffle/api/RootCallTarget;
            astore 1 /* callTarget */
        start local 1 // com.oracle.truffle.api.CallTarget callTarget
         1: .line 307
            aload 1 /* callTarget */
            instanceof com.oracle.truffle.api.RootCallTarget
            ifeq 2
            aload 1 /* callTarget */
            checkcast com.oracle.truffle.api.RootCallTarget
            invokeinterface com.oracle.truffle.api.RootCallTarget.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            goto 3
      StackMap locals: com.oracle.truffle.api.CallTarget
      StackMap stack:
         2: aconst_null
      StackMap locals:
      StackMap stack: com.oracle.truffle.api.nodes.RootNode
         3: areturn
        end local 1 // com.oracle.truffle.api.CallTarget callTarget
        end local 0 // com.oracle.truffle.api.TruffleStackTraceElement element
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0     element  Lcom/oracle/truffle/api/TruffleStackTraceElement;
            1    4     1  callTarget  Lcom/oracle/truffle/api/CallTarget;
    MethodParameters:
         Name  Flags
      element  

  public boolean visitFrame(com.oracle.truffle.api.TruffleStackTraceElement);
    descriptor: (Lcom/oracle/truffle/api/TruffleStackTraceElement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=9, locals=11, args_size=2
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
        start local 1 // com.oracle.truffle.api.TruffleStackTraceElement element
         0: .line 311
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getLocation:()Lcom/oracle/truffle/api/nodes/Node;
            astore 2 /* callNode */
        start local 2 // com.oracle.truffle.api.nodes.Node callNode
         1: .line 312
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.first:Z
            ifeq 5
         2: .line 313
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.first:Z
         3: .line 314
            aload 1 /* element */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.rootNode:(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Lcom/oracle/truffle/api/nodes/RootNode;
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSRootNode:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifeq 5
         4: .line 315
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.originatingNode:Lcom/oracle/truffle/api/nodes/Node;
            astore 2 /* callNode */
         5: .line 318
      StackMap locals: com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 2 /* callNode */
            ifnonnull 7
         6: .line 319
            aload 1 /* element */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.rootNode:(Lcom/oracle/truffle/api/TruffleStackTraceElement;)Lcom/oracle/truffle/api/nodes/RootNode;
            astore 2 /* callNode */
         7: .line 323
      StackMap locals:
      StackMap stack:
            aload 2 /* callNode */
            ifnull 56
         8: .line 324
            aload 0 /* this */
            aload 2 /* callNode */
            invokevirtual com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackFrameType:(Lcom/oracle/truffle/api/nodes/Node;)I
            tableswitch { // 1 - 2
                    1: 9
                    2: 52
              default: 56
          }
         9: .line 326
      StackMap locals:
      StackMap stack:
            aload 2 /* callNode */
            invokevirtual com.oracle.truffle.api.nodes.Node.getRootNode:()Lcom/oracle/truffle/api/nodes/RootNode;
            astore 3 /* rootNode */
        start local 3 // com.oracle.truffle.api.nodes.RootNode rootNode
        10: .line 327
            getstatic com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.$assertionsDisabled:Z
            ifne 11
            aload 3 /* rootNode */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSRootNode:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifne 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 329
      StackMap locals: com.oracle.truffle.api.nodes.RootNode
      StackMap stack:
            iconst_m1
            istore 5 /* promiseIndex */
        start local 5 // int promiseIndex
        12: .line 330
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            ifnonnull 14
        13: .line 331
            goto 56
        14: .line 332
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.TruffleStackTraceElement com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.RootNode top int
      StackMap stack:
            aload 3 /* rootNode */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSFunctionRootNode:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifeq 17
        15: .line 333
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            astore 4 /* arguments */
        start local 4 // java.lang.Object[] arguments
        16: .line 334
            goto 30
        end local 4 // java.lang.Object[] arguments
      StackMap locals:
      StackMap stack:
        17: aload 3 /* rootNode */
            checkcast com.oracle.truffle.js.runtime.JavaScriptRootNode
            invokevirtual com.oracle.truffle.js.runtime.JavaScriptRootNode.isResumption:()Z
            ifeq 24
        18: .line 336
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            iconst_0
            aaload
            instanceof com.oracle.truffle.api.frame.Frame
            ifeq 22
        19: .line 337
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            iconst_0
            aaload
            checkcast com.oracle.truffle.api.frame.Frame
            astore 6 /* frame */
        start local 6 // com.oracle.truffle.api.frame.Frame frame
        20: .line 338
            aload 6 /* frame */
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            astore 4 /* arguments */
        end local 6 // com.oracle.truffle.api.frame.Frame frame
        start local 4 // java.lang.Object[] arguments
        21: .line 339
            goto 30
        end local 4 // java.lang.Object[] arguments
        22: .line 340
      StackMap locals:
      StackMap stack:
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            astore 4 /* arguments */
        start local 4 // java.lang.Object[] arguments
        23: .line 342
            goto 30
        end local 4 // java.lang.Object[] arguments
      StackMap locals:
      StackMap stack:
        24: aload 3 /* rootNode */
            instanceof com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode
            ifeq 56
        25: .line 343
            aload 1 /* element */
            invokevirtual com.oracle.truffle.api.TruffleStackTraceElement.getFrame:()Lcom/oracle/truffle/api/frame/Frame;
            invokeinterface com.oracle.truffle.api.frame.Frame.getArguments:()[Ljava/lang/Object;
            astore 4 /* arguments */
        start local 4 // java.lang.Object[] arguments
        26: .line 344
            aload 4 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getUserArgumentCount:([Ljava/lang/Object;)I
            ifle 30
        27: .line 345
            aload 4 /* arguments */
            iconst_0
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getUserArgument:([Ljava/lang/Object;I)Ljava/lang/Object;
            astore 6 /* promiseIndexArg */
        start local 6 // java.lang.Object promiseIndexArg
        28: .line 346
            aload 6 /* promiseIndexArg */
            instanceof java.lang.Integer
            ifeq 30
        29: .line 347
            aload 6 /* promiseIndexArg */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* promiseIndex */
        end local 6 // java.lang.Object promiseIndexArg
        30: .line 353
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.TruffleStackTraceElement com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.RootNode java.lang.Object[] int
      StackMap stack:
            aload 4 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getThisObject:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 6 /* thisObj */
        start local 6 // java.lang.Object thisObj
        31: .line 354
            aload 4 /* arguments */
            invokestatic com.oracle.truffle.js.runtime.JSArguments.getFunctionObject:([Ljava/lang/Object;)Ljava/lang/Object;
            astore 7 /* functionObj */
        start local 7 // java.lang.Object functionObj
        32: .line 355
            aload 7 /* functionObj */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isJSFunction:(Ljava/lang/Object;)Z
            ifeq 56
        33: .line 356
            aload 7 /* functionObj */
            checkcast com.oracle.truffle.api.object.DynamicObject
            astore 8 /* function */
        start local 8 // com.oracle.truffle.api.object.DynamicObject function
        34: .line 357
            aload 8 /* function */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getFunctionData:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
            astore 9 /* functionData */
        start local 9 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        35: .line 358
            aload 9 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isBuiltin:()Z
            ifeq 39
        36: .line 359
            aload 8 /* function */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isStrictBuiltin:(Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 41
        37: .line 360
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inStrictMode:Z
        38: .line 362
            goto 41
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.TruffleStackTraceElement com.oracle.truffle.api.nodes.Node com.oracle.truffle.api.nodes.RootNode java.lang.Object[] int java.lang.Object java.lang.Object com.oracle.truffle.api.object.DynamicObject com.oracle.truffle.js.runtime.builtins.JSFunctionData
      StackMap stack:
        39: aload 9 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isStrict:()Z
            ifeq 41
        40: .line 363
            aload 0 /* this */
            iconst_1
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inStrictMode:Z
        41: .line 365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skippingFrames:Z
            ifeq 44
            aload 8 /* function */
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skipFramesUpTo:Lcom/oracle/truffle/api/object/DynamicObject;
            if_acmpne 44
        42: .line 366
            aload 0 /* this */
            iconst_0
            putfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skippingFrames:Z
        43: .line 367
            iconst_1
            ireturn
        44: .line 369
      StackMap locals:
      StackMap stack:
            aload 8 /* function */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.getRealm:(Lcom/oracle/truffle/api/object/DynamicObject;)Lcom/oracle/truffle/js/runtime/JSRealm;
            astore 10 /* realm */
        start local 10 // com.oracle.truffle.js.runtime.JSRealm realm
        45: .line 370
            aload 10 /* realm */
            aload 8 /* function */
            invokestatic com.oracle.truffle.js.runtime.builtins.JSFunction.isBuiltinThatShouldNotAppearInStackTrace:(Lcom/oracle/truffle/js/runtime/JSRealm;Lcom/oracle/truffle/api/object/DynamicObject;)Z
            ifeq 47
        46: .line 371
            iconst_1
            ireturn
        47: .line 373
      StackMap locals: com.oracle.truffle.js.runtime.JSRealm
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skippingFrames:Z
            ifne 56
        48: .line 374
            aload 9 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isAsync:()Z
            ifeq 50
            aload 9 /* functionData */
            invokevirtual com.oracle.truffle.js.runtime.builtins.JSFunctionData.isGenerator:()Z
            ifne 50
            aload 3 /* rootNode */
            invokestatic com.oracle.truffle.js.runtime.JSRuntime.isJSFunctionRootNode:(Lcom/oracle/truffle/api/nodes/RootNode;)Z
            ifeq 50
        49: .line 376
            iconst_1
            ireturn
        50: .line 378
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTrace:Ljava/util/List;
            aload 3 /* rootNode */
            aload 2 /* callNode */
            aload 6 /* thisObj */
            aload 8 /* function */
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inStrictMode:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inNashornMode:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.async:Z
            iload 5 /* promiseIndex */
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.processJSFrame:(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;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 10 // com.oracle.truffle.js.runtime.JSRealm realm
        end local 9 // com.oracle.truffle.js.runtime.builtins.JSFunctionData functionData
        end local 8 // com.oracle.truffle.api.object.DynamicObject function
        51: .line 381
            goto 56
        end local 7 // java.lang.Object functionObj
        end local 6 // java.lang.Object thisObj
        end local 5 // int promiseIndex
        end local 4 // java.lang.Object[] arguments
        end local 3 // com.oracle.truffle.api.nodes.RootNode rootNode
        52: .line 384
      StackMap locals: com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl com.oracle.truffle.api.TruffleStackTraceElement com.oracle.truffle.api.nodes.Node
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.skippingFrames:Z
            ifne 56
        53: .line 385
            aload 2 /* callNode */
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inStrictMode:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.inNashornMode:Z
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.async:Z
            invokestatic com.oracle.truffle.js.runtime.GraalJSException.processForeignFrame:(Lcom/oracle/truffle/api/nodes/Node;ZZZ)Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
            astore 3 /* elem */
        start local 3 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement elem
        54: .line 386
            aload 3 /* elem */
            ifnull 56
        55: .line 387
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTrace:Ljava/util/List;
            aload 3 /* elem */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement elem
        56: .line 393
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTrace:Ljava/util/List;
            invokeinterface java.util.List.size:()I
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTraceLimit:I
            if_icmpge 57
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
        57: iconst_0
            ireturn
        end local 2 // com.oracle.truffle.api.nodes.Node callNode
        end local 1 // com.oracle.truffle.api.TruffleStackTraceElement element
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   58     0             this  Lcom/oracle/truffle/js/runtime/GraalJSException$FrameVisitorImpl;
            0   58     1          element  Lcom/oracle/truffle/api/TruffleStackTraceElement;
            1   58     2         callNode  Lcom/oracle/truffle/api/nodes/Node;
           10   52     3         rootNode  Lcom/oracle/truffle/api/nodes/RootNode;
           16   17     4        arguments  [Ljava/lang/Object;
           21   22     4        arguments  [Ljava/lang/Object;
           23   24     4        arguments  [Ljava/lang/Object;
           26   52     4        arguments  [Ljava/lang/Object;
           12   52     5     promiseIndex  I
           20   21     6            frame  Lcom/oracle/truffle/api/frame/Frame;
           28   30     6  promiseIndexArg  Ljava/lang/Object;
           31   52     6          thisObj  Ljava/lang/Object;
           32   52     7      functionObj  Ljava/lang/Object;
           34   51     8         function  Lcom/oracle/truffle/api/object/DynamicObject;
           35   51     9     functionData  Lcom/oracle/truffle/js/runtime/builtins/JSFunctionData;
           45   51    10            realm  Lcom/oracle/truffle/js/runtime/JSRealm;
           54   56     3             elem  Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;
    MethodParameters:
         Name  Flags
      element  

  public java.util.List<com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement> getStackTrace();
    descriptor: ()Ljava/util/List;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
         0: .line 397
            aload 0 /* this */
            getfield com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl.stackTrace:Ljava/util/List;
            areturn
        end local 0 // com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/truffle/js/runtime/GraalJSException$FrameVisitorImpl;
    Signature: ()Ljava/util/List<Lcom/oracle/truffle/js/runtime/GraalJSException$JSStackTraceElement;>;
}
SourceFile: "GraalJSException.java"
NestHost: com.oracle.truffle.js.runtime.GraalJSException
InnerClasses:
  public final PromiseAllMarkerRootNode = com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode$PromiseAllMarkerRootNode of com.oracle.truffle.js.nodes.promise.PerformPromiseAllNode
  private final FrameVisitorImpl = com.oracle.truffle.js.runtime.GraalJSException$FrameVisitorImpl of com.oracle.truffle.js.runtime.GraalJSException
  public final JSStackTraceElement = com.oracle.truffle.js.runtime.GraalJSException$JSStackTraceElement of com.oracle.truffle.js.runtime.GraalJSException