final class jdk.nashorn.internal.codegen.CodeGenerator extends jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor<jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext> implements jdk.nashorn.internal.runtime.logging.Loggable
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: jdk.nashorn.internal.codegen.CodeGenerator
  super_class: jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor
{
  private static final jdk.nashorn.internal.codegen.types.Type SCOPE_TYPE;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

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

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_REWRITE_EXCEPTION;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_REWRITE_EXCEPTION_REST_OF;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call ENSURE_INT;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call ENSURE_NUMBER;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_FUNCTION_OBJECT;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call CREATE_FUNCTION_OBJECT_NO_SCOPE;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call TO_NUMBER_FOR_EQ;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.CompilerConstants$Call TO_NUMBER_FOR_STRICT_EQ;
    descriptor: Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Class<?> ITERATOR_CLASS;
    descriptor: Ljava/lang/Class;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
    Signature: Ljava/lang/Class<*>;

  private static final jdk.nashorn.internal.codegen.types.Type ITERATOR_TYPE;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.types.Type EXCEPTION_TYPE;
    descriptor: Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final java.lang.Integer INT_ZERO;
    descriptor: Ljava/lang/Integer;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final jdk.nashorn.internal.codegen.Compiler compiler;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

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

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

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

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

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

  private jdk.nashorn.internal.codegen.MethodEmitter method;
    descriptor: Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE

  private jdk.nashorn.internal.codegen.CompileUnit unit;
    descriptor: Ljdk/nashorn/internal/codegen/CompileUnit;
    flags: (0x0002) ACC_PRIVATE

  private final jdk.nashorn.internal.runtime.logging.DebugLogger log;
    descriptor: Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static final int OBJECT_SPILL_THRESHOLD;
    descriptor: I
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  private final java.util.Set<java.lang.String> emittedMethods;
    descriptor: Ljava/util/Set;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Set<Ljava/lang/String;>;

  private jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo continuationInfo;
    descriptor: Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
    flags: (0x0002) ACC_PRIVATE

  private final java.util.Deque<jdk.nashorn.internal.codegen.Label> scopeEntryLabels;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/Label;>;

  private static final jdk.nashorn.internal.codegen.Label METHOD_BOUNDARY;
    descriptor: Ljdk/nashorn/internal/codegen/Label;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private final java.util.Deque<jdk.nashorn.internal.codegen.Label> catchLabels;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/Label;>;

  private final jdk.nashorn.internal.IntDeque labeledBlockBreakLiveLocals;
    descriptor: Ljdk/nashorn/internal/IntDeque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final int[] continuationEntryPoints;
    descriptor: [I
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  private final java.util.Deque<jdk.nashorn.internal.codegen.FieldObjectCreator<?>> scopeObjectCreators;
    descriptor: Ljava/util/Deque;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL
    Signature: Ljava/util/Deque<Ljdk/nashorn/internal/codegen/FieldObjectCreator<*>;>;

  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  private static volatile int[] $SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType;
    descriptor: [I
    flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=7, locals=0, args_size=0
         0: .line 179
            ldc Ljdk/nashorn/internal/codegen/CodeGenerator;
            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 jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
         3: .line 181
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
         4: .line 183
            ldc Ljdk/nashorn/internal/objects/Global;
            invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
         5: .line 185
            ldc Ljdk/nashorn/internal/runtime/RewriteException;
         6: .line 186
            ldc "create"
            ldc Ljdk/nashorn/internal/runtime/RewriteException;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc [Ljava/lang/String;
            aastore
         7: .line 185
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
         8: .line 187
            ldc Ljdk/nashorn/internal/runtime/RewriteException;
         9: .line 188
            ldc "create"
            ldc Ljdk/nashorn/internal/runtime/RewriteException;
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/UnwarrantedOptimismException;
            aastore
            dup
            iconst_1
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc [Ljava/lang/String;
            aastore
            dup
            iconst_3
            ldc [I
            aastore
        10: .line 187
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION_REST_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        11: .line 190
            ldc Ljdk/nashorn/internal/runtime/OptimisticReturnFilters;
        12: .line 191
            ldc "ensureInt"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
        13: .line 190
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.ENSURE_INT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        14: .line 192
            ldc Ljdk/nashorn/internal/runtime/OptimisticReturnFilters;
        15: .line 193
            ldc "ensureNumber"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
        16: .line 192
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.ENSURE_NUMBER:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        17: .line 195
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
        18: .line 196
            ldc "create"
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            dup
            iconst_2
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aastore
        19: .line 195
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        20: .line 197
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
        21: .line 198
            ldc "create"
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
        22: .line 197
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT_NO_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        23: .line 200
            ldc Ljdk/nashorn/internal/runtime/JSType;
        24: .line 201
            ldc "toNumberForEq"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        25: .line 200
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        26: .line 202
            ldc Ljdk/nashorn/internal/runtime/JSType;
        27: .line 203
            ldc "toNumberForStrictEq"
            getstatic java.lang.Double.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
        28: .line 202
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_STRICT_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
        29: .line 206
            ldc Ljava/util/Iterator;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
        30: .line 208
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 31
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.ITERATOR_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
            if_acmpeq 31
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        31: .line 210
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
        32: .line 211
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.EXCEPTION_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
        33: .line 213
            iconst_0
            invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.INT_ZERO:Ljava/lang/Integer;
        34: .line 244
            ldc "nashorn.spill.threshold"
            sipush 256
            invokestatic jdk.nashorn.internal.runtime.options.Options.getIntProperty:(Ljava/lang/String;I)I
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.OBJECT_SPILL_THRESHOLD:I
        35: .line 253
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc ""
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>(jdk.nashorn.internal.codegen.Compiler, int[]);
    descriptor: (Ljdk/nashorn/internal/codegen/Compiler;[I)V
    flags: (0x0000) 
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.Compiler compiler
        start local 2 // int[] continuationEntryPoints
         0: .line 270
            aload 0 /* this */
            new jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            dup
            invokespecial jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.<init>:()V
            invokespecial jdk.nashorn.internal.ir.visitor.NodeOperatorVisitor.<init>:(Ljdk/nashorn/internal/ir/LexicalContext;)V
         1: .line 230
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
         2: .line 246
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
         3: .line 251
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
         4: .line 254
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
         5: .line 256
            aload 0 /* this */
            new jdk.nashorn.internal.IntDeque
            dup
            invokespecial jdk.nashorn.internal.IntDeque.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
         6: .line 262
            aload 0 /* this */
            new java.util.ArrayDeque
            dup
            invokespecial java.util.ArrayDeque.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
         7: .line 271
            aload 0 /* this */
            aload 1 /* compiler */
            putfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
         8: .line 272
            aload 0 /* this */
            aload 1 /* compiler */
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getSource:()Ljdk/nashorn/internal/runtime/Source;
            invokevirtual jdk.nashorn.internal.runtime.Source.isEvalCode:()Z
            putfield jdk.nashorn.internal.codegen.CodeGenerator.evalCode:Z
         9: .line 273
            aload 0 /* this */
            aload 2 /* continuationEntryPoints */
            putfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
        10: .line 274
            aload 0 /* this */
            aload 1 /* compiler */
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._callsite_flags:I
            putfield jdk.nashorn.internal.codegen.CodeGenerator.callSiteFlags:I
        11: .line 275
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* compiler */
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initLogger:(Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
        12: .line 276
            return
        end local 2 // int[] continuationEntryPoints
        end local 1 // jdk.nashorn.internal.codegen.Compiler compiler
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                     Name  Signature
            0   13     0                     this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   13     1                 compiler  Ljdk/nashorn/internal/codegen/Compiler;
            0   13     2  continuationEntryPoints  [I
    MethodParameters:
                         Name  Flags
      compiler                 final
      continuationEntryPoints  final

  public jdk.nashorn.internal.runtime.logging.DebugLogger getLogger();
    descriptor: ()Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 280
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  public jdk.nashorn.internal.runtime.logging.DebugLogger initLogger(jdk.nashorn.internal.runtime.Context);
    descriptor: (Ljdk/nashorn/internal/runtime/Context;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.runtime.Context context
         0: .line 285
            aload 1 /* context */
            aload 0 /* this */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual jdk.nashorn.internal.runtime.Context.getLogger:(Ljava/lang/Class;)Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            areturn
        end local 1 // jdk.nashorn.internal.runtime.Context context
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0    1     0     this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  context  Ljdk/nashorn/internal/runtime/Context;
    MethodParameters:
         Name  Flags
      context  final

  int getCallSiteFlags();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 295
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCallSiteFlags:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.callSiteFlags:I
            ior
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private int getScopeCallSiteFlags(jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 304
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 305
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
            bipush 16
            ior
            istore 2 /* flags */
        start local 2 // int flags
         2: .line 306
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isEvalCode:()Z
            ifeq 4
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
            ifeq 4
         3: .line 307
            iload 2 /* flags */
            ireturn
         4: .line 309
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifeq 5
            iload 2 /* flags */
            bipush 64
            ior
            goto 6
      StackMap locals:
      StackMap stack:
         5: iload 2 /* flags */
      StackMap locals:
      StackMap stack: int
         6: ireturn
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    7     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1  symbol  Ljdk/nashorn/internal/ir/Symbol;
            2    7     2   flags  I
    MethodParameters:
        Name  Flags
      symbol  final

  boolean isEvalCode();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 317
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.evalCode:Z
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  boolean useDualFields();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 325
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getContext:()Ljdk/nashorn/internal/runtime/Context;
            invokevirtual jdk.nashorn.internal.runtime.Context.useDualFields:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter loadIdent(jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 335
            aload 0 /* this */
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.checkTemporalDeadZone:(Ljdk/nashorn/internal/ir/IdentNode;)V
         1: .line 336
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 3 /* symbol */
        start local 3 // jdk.nashorn.internal.ir.Symbol symbol
         2: .line 338
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 8
         3: .line 339
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 4 /* type */
        start local 4 // jdk.nashorn.internal.codegen.types.Type type
         4: .line 340
            aload 4 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 6
         5: .line 341
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* resultBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
         6: .line 344
      StackMap locals: jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifne 7
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
            ifne 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 345
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/IdentNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 4 // jdk.nashorn.internal.codegen.types.Type type
         8: .line 348
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 9
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 9
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 1 /* identNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not in scope!"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 349
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
            istore 4 /* flags */
        start local 4 // int flags
        10: .line 350
            aload 0 /* this */
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifne 13
        11: .line 352
            new jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar
            dup
            aload 0 /* this */
            aload 1 /* identNode */
            aload 2 /* resultBounds */
            iload 4 /* flags */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        12: .line 353
            goto 18
      StackMap locals: int
      StackMap stack:
        13: aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.isCompileTimePropertyName:()Z
            ifne 14
            aload 3 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getUseCount:()I
            getstatic jdk.nashorn.internal.codegen.SharedScopeCall.SHARED_GET_THRESHOLD:I
            if_icmpge 16
        14: .line 355
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar
            dup
            aload 0 /* this */
            aload 1 /* identNode */
            aload 2 /* resultBounds */
            iload 4 /* flags */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        15: .line 356
            goto 18
        16: .line 358
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$1
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* identNode */
            aload 2 /* resultBounds */
            aload 3 /* symbol */
            aload 2 /* resultBounds */
            iload 4 /* flags */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$1.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;I)V
        17: .line 373
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$1.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 376
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 4 // int flags
        end local 3 // jdk.nashorn.internal.ir.Symbol symbol
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   19     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   19     1     identNode  Ljdk/nashorn/internal/ir/IdentNode;
            0   19     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            2   19     3        symbol  Ljdk/nashorn/internal/ir/Symbol;
            4    8     4          type  Ljdk/nashorn/internal/codegen/types/Type;
           10   19     4         flags  I
    MethodParameters:
              Name  Flags
      identNode     final
      resultBounds  final

  private void checkTemporalDeadZone(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
         0: .line 382
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.isDead:()Z
            ifeq 2
         1: .line 383
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.THROW_REFERENCE_ERROR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 385
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  identNode  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
           Name  Flags
      identNode  final

  private void checkAssignTarget(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expression
         0: .line 389
            aload 1 /* expression */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 2
            aload 1 /* expression */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.isConst:()Z
            ifeq 2
         1: .line 390
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* expression */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.THROW_CONST_TYPE_ERROR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 392
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.ir.Expression expression
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  expression  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
            Name  Flags
      expression  final

  private boolean isRestOf();
    descriptor: ()Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 395
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
            ifnull 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private boolean isCurrentContinuationEntryPoint(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int programPoint
         0: .line 399
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 1
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentContinuationEntryPoint:()I
            iload 1 /* programPoint */
            if_icmpne 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  programPoint  I
    MethodParameters:
              Name  Flags
      programPoint  final

  private int[] getContinuationEntryPoints();
    descriptor: ()[I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 403
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
            goto 2
      StackMap locals:
      StackMap stack:
         1: aconst_null
      StackMap locals:
      StackMap stack: int[]
         2: areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private int getCurrentContinuationEntryPoint();
    descriptor: ()I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 407
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
            iconst_0
            iaload
            goto 2
      StackMap locals:
      StackMap stack:
         1: iconst_m1
      StackMap locals:
      StackMap stack: int
         2: ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private boolean isContinuationEntryPoint(int);
    descriptor: (I)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int programPoint
         0: .line 411
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 8
         1: .line 412
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 413
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationEntryPoints:[I
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 7
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int top int int int[]
      StackMap stack:
         3: aload 5
            iload 3
            iaload
            istore 2 /* cep */
        start local 2 // int cep
         4: .line 414
            iload 2 /* cep */
            iload 1 /* programPoint */
            if_icmpne 6
         5: .line 415
            iconst_1
            ireturn
        end local 2 // int cep
         6: .line 413
      StackMap locals:
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         7: iload 3
            iload 4
            if_icmplt 3
         8: .line 419
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    9     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    9     1  programPoint  I
            4    6     2           cep  I
    MethodParameters:
              Name  Flags
      programPoint  final

  private boolean isFastScope(jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 429
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 2
         1: .line 430
            iconst_0
            ireturn
         2: .line 433
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.inDynamicScope:()Z
            ifne 5
         3: .line 436
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
            ifne 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getDefiningBlock:(Ljdk/nashorn/internal/ir/Symbol;)Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifne 4
            new java.lang.AssertionError
            dup
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 437
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
         5: .line 440
      StackMap locals:
      StackMap stack:
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
            ifeq 7
         6: .line 442
            iconst_0
            ireturn
         7: .line 446
      StackMap locals:
      StackMap stack:
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            astore 2 /* name */
        start local 2 // java.lang.String name
         8: .line 447
            iconst_0
            istore 3 /* previousWasBlock */
        start local 3 // boolean previousWasBlock
         9: .line 448
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getAllNodes:()Ljava/util/Iterator;
            astore 4 /* it */
        start local 4 // java.util.Iterator it
        10: goto 23
        11: .line 449
      StackMap locals: java.lang.String int java.util.Iterator
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.LexicalContextNode
            astore 5 /* node */
        start local 5 // jdk.nashorn.internal.ir.LexicalContextNode node
        12: .line 450
            aload 5 /* node */
            instanceof jdk.nashorn.internal.ir.Block
            ifeq 19
        13: .line 452
            aload 5 /* node */
            checkcast jdk.nashorn.internal.ir.Block
            astore 6 /* block */
        start local 6 // jdk.nashorn.internal.ir.Block block
        14: .line 453
            aload 6 /* block */
            aload 2 /* name */
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            aload 1 /* symbol */
            if_acmpne 17
        15: .line 454
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 16
            aload 6 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 455
      StackMap locals: jdk.nashorn.internal.ir.LexicalContextNode jdk.nashorn.internal.ir.Block
      StackMap stack:
            iconst_1
            ireturn
        17: .line 457
      StackMap locals:
      StackMap stack:
            iconst_1
            istore 3 /* previousWasBlock */
        end local 6 // jdk.nashorn.internal.ir.Block block
        18: .line 458
            goto 23
        19: .line 459
      StackMap locals:
      StackMap stack:
            aload 5 /* node */
            instanceof jdk.nashorn.internal.ir.WithNode
            ifeq 20
            iload 3 /* previousWasBlock */
            ifne 21
      StackMap locals:
      StackMap stack:
        20: aload 5 /* node */
            instanceof jdk.nashorn.internal.ir.FunctionNode
            ifeq 22
            aload 5 /* node */
            checkcast jdk.nashorn.internal.ir.FunctionNode
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsDynamicScope:()Z
            ifeq 22
        21: .line 464
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        22: .line 466
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 3 /* previousWasBlock */
        end local 5 // jdk.nashorn.internal.ir.LexicalContextNode node
        23: .line 448
      StackMap locals:
      StackMap stack:
            aload 4 /* it */
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 11
        end local 4 // java.util.Iterator it
        24: .line 470
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 3 // boolean previousWasBlock
        end local 2 // java.lang.String name
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   25     0              this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   25     1            symbol  Ljdk/nashorn/internal/ir/Symbol;
            8   25     2              name  Ljava/lang/String;
            9   25     3  previousWasBlock  Z
           10   24     4                it  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/LexicalContextNode;>;
           12   23     5              node  Ljdk/nashorn/internal/ir/LexicalContextNode;
           14   18     6             block  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
        Name  Flags
      symbol  final

  private jdk.nashorn.internal.codegen.MethodEmitter storeFastScopeVar(jdk.nashorn.internal.ir.Symbol, int);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
        start local 2 // int flags
         0: .line 518
            aload 0 /* this */
            aload 1 /* symbol */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadFastScopeProto:(Ljdk/nashorn/internal/ir/Symbol;Z)V
         1: .line 519
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            iload 2 /* flags */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSet:(Ljava/lang/String;IZ)V
         2: .line 520
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 2 // int flags
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    3     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  symbol  Ljdk/nashorn/internal/ir/Symbol;
            0    3     2   flags  I
    MethodParameters:
        Name  Flags
      symbol  final
      flags   final

  private int getScopeProtoDepth(jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block startingBlock
        start local 2 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 526
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* fn */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode fn
         1: .line 527
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            aload 3 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.runtime.RecompilableScriptFunctionData.getExternalSymbolDepth:(Ljava/lang/String;)I
            istore 4 /* externalDepth */
        start local 4 // int externalDepth
         2: .line 531
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            aload 3 /* fn */
            aload 1 /* startingBlock */
            aload 2 /* symbol */
            invokestatic jdk.nashorn.internal.codegen.FindScopeDepths.findInternalDepth:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
            istore 5 /* internalDepth */
        start local 5 // int internalDepth
         3: .line 532
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            aload 3 /* fn */
            aload 1 /* startingBlock */
            invokestatic jdk.nashorn.internal.codegen.FindScopeDepths.findScopesToStart:(Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/ir/Block;)I
            istore 6 /* scopesToStart */
        start local 6 // int scopesToStart
         4: .line 533
            iconst_0
            istore 7 /* depth */
        start local 7 // int depth
         5: .line 534
            iload 5 /* internalDepth */
            iconst_m1
            if_icmpne 8
         6: .line 535
            iload 6 /* scopesToStart */
            iload 4 /* externalDepth */
            iadd
            istore 7 /* depth */
         7: .line 536
            goto 10
         8: .line 537
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.FunctionNode int int int int
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 9
            iload 5 /* internalDepth */
            iload 6 /* scopesToStart */
            if_icmple 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 538
      StackMap locals:
      StackMap stack:
            iload 5 /* internalDepth */
            istore 7 /* depth */
        10: .line 541
      StackMap locals:
      StackMap stack:
            iload 7 /* depth */
            ireturn
        end local 7 // int depth
        end local 6 // int scopesToStart
        end local 5 // int internalDepth
        end local 4 // int externalDepth
        end local 3 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 2 // jdk.nashorn.internal.ir.Symbol symbol
        end local 1 // jdk.nashorn.internal.ir.Block startingBlock
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   11     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   11     1  startingBlock  Ljdk/nashorn/internal/ir/Block;
            0   11     2         symbol  Ljdk/nashorn/internal/ir/Symbol;
            1   11     3             fn  Ljdk/nashorn/internal/ir/FunctionNode;
            2   11     4  externalDepth  I
            3   11     5  internalDepth  I
            4   11     6  scopesToStart  I
            5   11     7          depth  I
    MethodParameters:
               Name  Flags
      startingBlock  final
      symbol         final

  private void loadFastScopeProto(jdk.nashorn.internal.ir.Symbol, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Symbol symbol
        start local 2 // boolean swap
         0: .line 545
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeProtoDepth:(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/Symbol;)I
            istore 3 /* depth */
        start local 3 // int depth
         1: .line 546
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            iload 3 /* depth */
            iconst_m1
            if_icmpne 2
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Couldn't find scope depth for symbol "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " in "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         2: .line 547
      StackMap locals: int
      StackMap stack:
            iload 3 /* depth */
            ifle 8
         3: .line 548
            iload 2 /* swap */
            ifeq 5
         4: .line 549
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 551
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iload 3 /* depth */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.invokeGetProto:(I)V
         6: .line 552
            iload 2 /* swap */
            ifeq 8
         7: .line 553
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 556
      StackMap locals:
      StackMap stack:
            return
        end local 3 // int depth
        end local 2 // boolean swap
        end local 1 // jdk.nashorn.internal.ir.Symbol symbol
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    9     1  symbol  Ljdk/nashorn/internal/ir/Symbol;
            0    9     2    swap  Z
            1    9     3   depth  I
    MethodParameters:
        Name  Flags
      symbol  final
      swap    final

  private void invokeGetProto(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int depth
         0: .line 559
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 1
            iload 1 /* depth */
            ifgt 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 560
      StackMap locals:
      StackMap stack:
            iload 1 /* depth */
            iconst_1
            if_icmple 5
         2: .line 561
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 1 /* depth */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 562
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO_DEPTH:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 563
            goto 6
         5: .line 564
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.GET_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 566
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int depth
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1  depth  I
    MethodParameters:
       Name  Flags
      depth  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadExpressionUnbounded(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         0: .line 576
            aload 0 /* this */
            aload 1 /* expr */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      expr  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsObject(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         0: .line 580
            aload 0 /* this */
            aload 1 /* expr */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      expr  final

  jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsBoolean(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0000) 
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         0: .line 584
            aload 0 /* this */
            aload 1 /* expr */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.BOOLEAN:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      expr  final

  private static boolean noToPrimitiveConversion(jdk.nashorn.internal.codegen.types.Type, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.types.Type source
        start local 1 // jdk.nashorn.internal.codegen.types.Type target
         0: .line 591
            aload 0 /* source */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isJSPrimitive:()Z
            ifne 1
            aload 1 /* target */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isJSPrimitive:()Z
            ifeq 1
            aload 1 /* target */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
            ifne 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.codegen.types.Type target
        end local 0 // jdk.nashorn.internal.codegen.types.Type source
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  source  Ljdk/nashorn/internal/codegen/types/Type;
            0    2     1  target  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
        Name  Flags
      source  final
      target  final

  jdk.nashorn.internal.codegen.MethodEmitter loadBinaryOperands(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0000) 
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 595
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.getWidestOperandType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notWiderThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            iconst_0
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadBinaryOperands(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=13, args_size=6
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression lhs
        start local 2 // jdk.nashorn.internal.ir.Expression rhs
        start local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds explicitOperandBounds
        start local 4 // boolean baseAlreadyOnStack
        start local 5 // boolean forceConversionSeparation
         0: .line 612
            aload 1 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.undefinedToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* lhsType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type lhsType
         1: .line 613
            aload 2 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.undefinedToNumber:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 7 /* rhsType */
        start local 7 // jdk.nashorn.internal.codegen.types.Type rhsType
         2: .line 614
            aload 6 /* lhsType */
            aload 7 /* rhsType */
            invokestatic jdk.nashorn.internal.codegen.types.Type.widest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 3 /* explicitOperandBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.narrowest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 8 /* narrowestOperandType */
        start local 8 // jdk.nashorn.internal.codegen.types.Type narrowestOperandType
         3: .line 615
            aload 3 /* explicitOperandBounds */
            aload 8 /* narrowestOperandType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 9 /* operandBounds */
        start local 9 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds operandBounds
         4: .line 616
            aload 6 /* lhsType */
            aload 3 /* explicitOperandBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.noToPrimitiveConversion:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 5
            aload 2 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.isLocal:()Z
            ifeq 15
         5: .line 618
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
      StackMap stack:
            iload 5 /* forceConversionSeparation */
            ifeq 12
         6: .line 623
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 8 /* narrowestOperandType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 10 /* safeConvertBounds */
        start local 10 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds safeConvertBounds
         7: .line 624
            aload 0 /* this */
            aload 1 /* lhs */
            aload 10 /* safeConvertBounds */
            iload 4 /* baseAlreadyOnStack */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 625
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* operandBounds */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 626
            aload 0 /* this */
            aload 2 /* rhs */
            aload 10 /* safeConvertBounds */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        10: .line 627
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* operandBounds */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 10 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds safeConvertBounds
        11: .line 628
            goto 23
        12: .line 630
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* lhs */
            aload 9 /* operandBounds */
            iload 4 /* baseAlreadyOnStack */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        13: .line 631
            aload 0 /* this */
            aload 2 /* rhs */
            aload 9 /* operandBounds */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        14: .line 633
            goto 23
        15: .line 635
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 8 /* narrowestOperandType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 10 /* safeConvertBounds */
        start local 10 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds safeConvertBounds
        16: .line 636
            aload 0 /* this */
            aload 1 /* lhs */
            aload 10 /* safeConvertBounds */
            iload 4 /* baseAlreadyOnStack */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        17: .line 637
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 11 /* lhsLoadedType */
        start local 11 // jdk.nashorn.internal.codegen.types.Type lhsLoadedType
        18: .line 638
            aload 0 /* this */
            aload 2 /* rhs */
            aload 10 /* safeConvertBounds */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 639
            aload 9 /* operandBounds */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 12 /* convertedLhsType */
        start local 12 // jdk.nashorn.internal.codegen.types.Type convertedLhsType
        20: .line 640
            aload 12 /* convertedLhsType */
            aload 11 /* lhsLoadedType */
            if_acmpeq 22
        21: .line 642
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 12 /* convertedLhsType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 644
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* operandBounds */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 12 // jdk.nashorn.internal.codegen.types.Type convertedLhsType
        end local 11 // jdk.nashorn.internal.codegen.types.Type lhsLoadedType
        end local 10 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds safeConvertBounds
        23: .line 646
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 24
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 9 /* operandBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 24
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        24: .line 647
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 25
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:(I)Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 9 /* operandBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 649
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 9 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds operandBounds
        end local 8 // jdk.nashorn.internal.codegen.types.Type narrowestOperandType
        end local 7 // jdk.nashorn.internal.codegen.types.Type rhsType
        end local 6 // jdk.nashorn.internal.codegen.types.Type lhsType
        end local 5 // boolean forceConversionSeparation
        end local 4 // boolean baseAlreadyOnStack
        end local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds explicitOperandBounds
        end local 2 // jdk.nashorn.internal.ir.Expression rhs
        end local 1 // jdk.nashorn.internal.ir.Expression lhs
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0   26     0                       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   26     1                        lhs  Ljdk/nashorn/internal/ir/Expression;
            0   26     2                        rhs  Ljdk/nashorn/internal/ir/Expression;
            0   26     3      explicitOperandBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            0   26     4         baseAlreadyOnStack  Z
            0   26     5  forceConversionSeparation  Z
            1   26     6                    lhsType  Ljdk/nashorn/internal/codegen/types/Type;
            2   26     7                    rhsType  Ljdk/nashorn/internal/codegen/types/Type;
            3   26     8       narrowestOperandType  Ljdk/nashorn/internal/codegen/types/Type;
            4   26     9              operandBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            7   11    10          safeConvertBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
           16   23    10          safeConvertBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
           18   23    11              lhsLoadedType  Ljdk/nashorn/internal/codegen/types/Type;
           20   23    12           convertedLhsType  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
                           Name  Flags
      lhs                        final
      rhs                        final
      explicitOperandBounds      final
      baseAlreadyOnStack         final
      forceConversionSeparation  final

  jdk.nashorn.internal.codegen.MethodEmitter loadComparisonOperands(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0000) 
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode cmp
         0: .line 670
            aload 1 /* cmp */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* lhs */
        start local 2 // jdk.nashorn.internal.ir.Expression lhs
         1: .line 671
            aload 1 /* cmp */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            astore 3 /* rhs */
        start local 3 // jdk.nashorn.internal.ir.Expression rhs
         2: .line 672
            aload 2 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 4 /* lhsType */
        start local 4 // jdk.nashorn.internal.codegen.types.Type lhsType
         3: .line 673
            aload 3 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 5 /* rhsType */
        start local 5 // jdk.nashorn.internal.codegen.types.Type rhsType
         4: .line 676
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 5
            aload 4 /* lhsType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 5
            aload 5 /* rhsType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 678
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 4 /* lhsType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifne 6
            aload 5 /* rhsType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 30
         6: .line 685
      StackMap locals:
      StackMap stack:
            aload 4 /* lhsType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
            ifne 7
            aload 3 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.isLocal:()Z
            ifne 7
            iconst_0
            goto 8
      StackMap locals:
      StackMap stack:
         7: iconst_1
      StackMap locals:
      StackMap stack: int
         8: istore 6 /* canReorder */
        start local 6 // boolean canReorder
         9: .line 699
            iload 6 /* canReorder */
            ifeq 10
            aload 1 /* cmp */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.isRelational:()Z
            ifeq 10
            iconst_1
            goto 11
      StackMap locals: int
      StackMap stack:
        10: iconst_0
      StackMap locals:
      StackMap stack: int
        11: istore 7 /* canCombineLoadAndConvert */
        start local 7 // boolean canCombineLoadAndConvert
        12: .line 702
            aload 0 /* this */
            aload 2 /* lhs */
            iload 7 /* canCombineLoadAndConvert */
            ifeq 13
            aload 2 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.isOptimistic:()Z
            ifne 13
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.NUMBER:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            goto 14
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression
        13: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
        14: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        15: .line 704
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 8 /* lhsLoadedType */
        start local 8 // jdk.nashorn.internal.codegen.types.Type lhsLoadedType
        16: .line 705
            aload 1 /* cmp */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
            astore 9 /* tt */
        start local 9 // jdk.nashorn.internal.parser.TokenType tt
        17: .line 706
            iload 6 /* canReorder */
            ifeq 23
        18: .line 708
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* tt */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
        19: .line 709
            aload 0 /* this */
            aload 3 /* rhs */
            iload 7 /* canCombineLoadAndConvert */
            ifeq 20
            aload 3 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.isOptimistic:()Z
            ifne 20
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.NUMBER:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            goto 21
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.parser.TokenType
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression
        20: getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type int int jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.parser.TokenType
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
        21: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 710
            goto 28
        23: .line 712
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* rhs */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        24: .line 713
            aload 8 /* lhsLoadedType */
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            if_acmpeq 28
        25: .line 714
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        26: .line 715
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* tt */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
        27: .line 716
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        28: .line 721
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* tt */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.emitObjectToNumberComparisonConversion:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
        29: .line 722
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 9 // jdk.nashorn.internal.parser.TokenType tt
        end local 8 // jdk.nashorn.internal.codegen.types.Type lhsLoadedType
        end local 7 // boolean canCombineLoadAndConvert
        end local 6 // boolean canReorder
        30: .line 725
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 0 /* this */
            aload 1 /* cmp */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 5 // jdk.nashorn.internal.codegen.types.Type rhsType
        end local 4 // jdk.nashorn.internal.codegen.types.Type lhsType
        end local 3 // jdk.nashorn.internal.ir.Expression rhs
        end local 2 // jdk.nashorn.internal.ir.Expression lhs
        end local 1 // jdk.nashorn.internal.ir.BinaryNode cmp
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            0   31     0                      this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   31     1                       cmp  Ljdk/nashorn/internal/ir/BinaryNode;
            1   31     2                       lhs  Ljdk/nashorn/internal/ir/Expression;
            2   31     3                       rhs  Ljdk/nashorn/internal/ir/Expression;
            3   31     4                   lhsType  Ljdk/nashorn/internal/codegen/types/Type;
            4   31     5                   rhsType  Ljdk/nashorn/internal/codegen/types/Type;
            9   30     6                canReorder  Z
           12   30     7  canCombineLoadAndConvert  Z
           16   30     8             lhsLoadedType  Ljdk/nashorn/internal/codegen/types/Type;
           17   30     9                        tt  Ljdk/nashorn/internal/parser/TokenType;
    MethodParameters:
      Name  Flags
      cmp   final

  private static void emitObjectToNumberComparisonConversion(jdk.nashorn.internal.codegen.MethodEmitter, jdk.nashorn.internal.parser.TokenType);
    descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/parser/TokenType;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.MethodEmitter method
        start local 1 // jdk.nashorn.internal.parser.TokenType tt
         0: .line 729
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:()[I
            aload 1 /* tt */
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iaload
            lookupswitch { // 4
                    7: 1
                    8: 4
                   37: 1
                   38: 4
              default: 7
          }
         1: .line 732
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 7
         2: .line 733
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            aload 0 /* method */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 734
            return
         4: .line 739
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 7
         5: .line 740
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.TO_NUMBER_FOR_STRICT_EQ:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            aload 0 /* method */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 741
            return
         7: .line 747
      StackMap locals:
      StackMap stack:
            aload 0 /* method */
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 748
            return
        end local 1 // jdk.nashorn.internal.parser.TokenType tt
        end local 0 // jdk.nashorn.internal.codegen.MethodEmitter method
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    9     0  method  Ljdk/nashorn/internal/codegen/MethodEmitter;
            0    9     1      tt  Ljdk/nashorn/internal/parser/TokenType;
    MethodParameters:
        Name  Flags
      method  final
      tt      final

  private static jdk.nashorn.internal.codegen.types.Type undefinedToNumber(jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.types.Type type
         0: .line 751
            aload 0 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 1
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* type */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: areturn
        end local 0 // jdk.nashorn.internal.codegen.types.Type type
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      type  final

  private static jdk.nashorn.internal.codegen.types.Type booleanToInt(jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.types.Type t
         0: .line 821
            aload 0 /* t */
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 1
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* t */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: areturn
        end local 0 // jdk.nashorn.internal.codegen.types.Type t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      t     final

  private static jdk.nashorn.internal.codegen.types.Type objectToNumber(jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.types.Type t
         0: .line 825
            aload 0 /* t */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 1
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            goto 2
      StackMap locals:
      StackMap stack:
         1: aload 0 /* t */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.types.Type
         2: areturn
        end local 0 // jdk.nashorn.internal.codegen.types.Type t
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0     t  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      t     final

  jdk.nashorn.internal.codegen.MethodEmitter loadExpressionAsType(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0000) 
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
        start local 2 // jdk.nashorn.internal.codegen.types.Type type
         0: .line 829
            aload 2 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 2
         1: .line 830
            aload 0 /* this */
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
         2: .line 831
      StackMap locals:
      StackMap stack:
            aload 2 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 5
         3: .line 832
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 4
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 833
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
         5: .line 837
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* expr */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            aload 2 /* type */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* type */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 2 // jdk.nashorn.internal.codegen.types.Type type
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    6     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1  expr  Ljdk/nashorn/internal/ir/Expression;
            0    6     2  type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      expr  final
      type  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadExpression(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 841
            aload 0 /* this */
            aload 1 /* expr */
            aload 2 /* resultBounds */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1          expr  Ljdk/nashorn/internal/ir/Expression;
            0    1     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      expr          final
      resultBounds  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadExpression(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        start local 3 // boolean baseAlreadyOnStack
         0: .line 862
            aload 0 /* this */
            astore 4 /* codegen */
        start local 4 // jdk.nashorn.internal.codegen.CodeGenerator codegen
         1: .line 864
            aload 4 /* codegen */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isCurrentDiscard:(Ljdk/nashorn/internal/ir/Expression;)Z
            istore 5 /* isCurrentDiscard */
        start local 5 // boolean isCurrentDiscard
         2: .line 865
            aload 1 /* expr */
            new jdk.nashorn.internal.codegen.CodeGenerator$2
            dup
            aload 0 /* this */
            new jdk.nashorn.internal.ir.LexicalContext
            dup
            invokespecial jdk.nashorn.internal.ir.LexicalContext.<init>:()V
            aload 2 /* resultBounds */
            iload 3 /* baseAlreadyOnStack */
            aload 4 /* codegen */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$2.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/LexicalContext;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZLjdk/nashorn/internal/codegen/CodeGenerator;)V
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         3: .line 1237
            iload 5 /* isCurrentDiscard */
            ifne 5
         4: .line 1238
            aload 0 /* this */
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.coerceStackTop:(Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 1240
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 5 // boolean isCurrentDiscard
        end local 4 // jdk.nashorn.internal.codegen.CodeGenerator codegen
        end local 3 // boolean baseAlreadyOnStack
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    6     0                this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1                expr  Ljdk/nashorn/internal/ir/Expression;
            0    6     2        resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            0    6     3  baseAlreadyOnStack  Z
            1    6     4             codegen  Ljdk/nashorn/internal/codegen/CodeGenerator;
            2    6     5    isCurrentDiscard  Z
    MethodParameters:
                    Name  Flags
      expr                final
      resultBounds        final
      baseAlreadyOnStack  final

  private jdk.nashorn.internal.codegen.MethodEmitter coerceStackTop(jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds typeBounds
         0: .line 1244
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* typeBounds */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds typeBounds
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    1     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  typeBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
            Name  Flags
      typeBounds  final

  private void closeBlockVariables(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 1253
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 4
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block top java.util.Iterator
      StackMap stack:
         1: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Symbol
            astore 2 /* symbol */
        start local 2 // jdk.nashorn.internal.ir.Symbol symbol
         2: .line 1254
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
            ifeq 4
         3: .line 1255
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* symbol */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.closeLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/Label;)V
        end local 2 // jdk.nashorn.internal.ir.Symbol symbol
         4: .line 1253
      StackMap locals:
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         5: .line 1258
            return
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1   block  Ljdk/nashorn/internal/ir/Block;
            2    4     2  symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
       Name  Flags
      block  final

  public boolean enterBlock(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 1262
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 2 /* entryLabel */
        start local 2 // jdk.nashorn.internal.codegen.Label entryLabel
         1: .line 1263
            aload 2 /* entryLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.isBreakTarget:()Z
            ifeq 5
         2: .line 1265
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 3
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1266
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* entryLabel */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
         4: .line 1267
            goto 6
         5: .line 1268
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* entryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         6: .line 1270
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 8
         7: .line 1271
            iconst_0
            ireturn
         8: .line 1273
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
            ifeq 10
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifeq 10
         9: .line 1274
            iconst_0
            ireturn
        10: .line 1276
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initLocals:(Ljdk/nashorn/internal/ir/Block;)V
        11: .line 1278
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
            if_icmpeq 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 1279
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // jdk.nashorn.internal.codegen.Label entryLabel
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   13     1       block  Ljdk/nashorn/internal/ir/Block;
            1   13     2  entryLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
       Name  Flags
      block  final

  boolean useOptimisticTypes();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 1283
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.inSplitLiteral:()Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.useOptimisticTypes:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  public jdk.nashorn.internal.ir.Node leaveBlock(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 1288
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popBlockScope:(Ljdk/nashorn/internal/ir/Block;)V
         1: .line 1289
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 1291
            aload 0 /* this */
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.closeBlockVariables:(Ljdk/nashorn/internal/ir/Block;)V
         3: .line 1292
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.releaseSlots:()V
         4: .line 1293
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 12
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 12
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
            ifeq 5
            iconst_0
            goto 6
      StackMap locals:
      StackMap stack:
         5: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
      StackMap locals:
      StackMap stack: int
         6: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
            if_icmpeq 12
            new java.lang.AssertionError
            dup
         7: .line 1294
            new java.lang.StringBuilder
            dup
            ldc "reachable="
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         8: .line 1295
            ldc " isFunctionBody="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
         9: .line 1296
            ldc " usedSlotCount="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        10: .line 1297
            ldc " firstTemp="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getFirstTemp:()I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
        11: .line 1294
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        12: .line 1299
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            areturn
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   13     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   13     1  block  Ljdk/nashorn/internal/ir/Block;
    MethodParameters:
       Name  Flags
      block  final

  private void popBlockScope(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 1303
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 2 /* breakLabel */
        start local 2 // jdk.nashorn.internal.codegen.Label breakLabel
         1: .line 1305
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
            ifeq 3
         2: .line 1306
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            pop
         3: .line 1308
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifeq 4
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
            ifeq 6
         4: .line 1309
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBlockBreakLabel:(Ljdk/nashorn/internal/codegen/Label;)V
         5: .line 1310
            return
         6: .line 1313
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label
            astore 3 /* beginTryLabel */
        start local 3 // jdk.nashorn.internal.codegen.Label beginTryLabel
         7: .line 1314
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "block_popscope_catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* recoveryLabel */
        start local 4 // jdk.nashorn.internal.codegen.Label recoveryLabel
         8: .line 1315
            aload 0 /* this */
            aload 2 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBlockBreakLabel:(Ljdk/nashorn/internal/codegen/Label;)V
         9: .line 1316
            aload 2 /* breakLabel */
            aload 3 /* beginTryLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
            istore 5 /* bodyCanThrow */
        start local 5 // boolean bodyCanThrow
        10: .line 1317
            iload 5 /* bodyCanThrow */
            ifeq 12
        11: .line 1318
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* beginTryLabel */
            aload 2 /* breakLabel */
            aload 4 /* recoveryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
        12: .line 1321
      StackMap locals: jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            aconst_null
            astore 6 /* afterCatchLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label afterCatchLabel
        13: .line 1323
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 18
        14: .line 1324
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
        15: .line 1325
            iload 5 /* bodyCanThrow */
            ifeq 18
        16: .line 1326
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "block_after_catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* afterCatchLabel */
        17: .line 1327
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* afterCatchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        18: .line 1331
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            iload 5 /* bodyCanThrow */
            ifeq 23
        19: .line 1332
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 20
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 1333
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* recoveryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
        21: .line 1334
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopeException:()V
        22: .line 1335
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
        23: .line 1337
      StackMap locals:
      StackMap stack:
            aload 6 /* afterCatchLabel */
            ifnull 25
        24: .line 1338
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* afterCatchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        25: .line 1340
      StackMap locals:
      StackMap stack:
            return
        end local 6 // jdk.nashorn.internal.codegen.Label afterCatchLabel
        end local 5 // boolean bodyCanThrow
        end local 4 // jdk.nashorn.internal.codegen.Label recoveryLabel
        end local 3 // jdk.nashorn.internal.codegen.Label beginTryLabel
        end local 2 // jdk.nashorn.internal.codegen.Label breakLabel
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   26     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   26     1            block  Ljdk/nashorn/internal/ir/Block;
            1   26     2       breakLabel  Ljdk/nashorn/internal/codegen/Label;
            7   26     3    beginTryLabel  Ljdk/nashorn/internal/codegen/Label;
            8   26     4    recoveryLabel  Ljdk/nashorn/internal/codegen/Label;
           10   26     5     bodyCanThrow  Z
           13   26     6  afterCatchLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
       Name  Flags
      block  final

  private void emitBlockBreakLabel(jdk.nashorn.internal.codegen.Label);
    descriptor: (Ljdk/nashorn/internal/codegen/Label;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.Label breakLabel
         0: .line 1344
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlockLabelNode:()Ljdk/nashorn/internal/ir/LabelNode;
            astore 2 /* labelNode */
        start local 2 // jdk.nashorn.internal.ir.LabelNode labelNode
         1: .line 1345
            aload 2 /* labelNode */
            ifnull 6
         2: .line 1347
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 3
            aload 2 /* labelNode */
            invokevirtual jdk.nashorn.internal.ir.LabelNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            ifnull 3
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1348
      StackMap locals: jdk.nashorn.internal.ir.LabelNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* labelNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         4: .line 1349
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* breakLabel */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
            invokevirtual jdk.nashorn.internal.IntDeque.pop:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
         5: .line 1350
            goto 7
         6: .line 1351
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         7: .line 1353
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.ir.LabelNode labelNode
        end local 1 // jdk.nashorn.internal.codegen.Label breakLabel
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    8     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    8     1  breakLabel  Ljdk/nashorn/internal/codegen/Label;
            1    8     2   labelNode  Ljdk/nashorn/internal/ir/LabelNode;
    MethodParameters:
            Name  Flags
      breakLabel  final

  private void popScope();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 1356
            aload 0 /* this */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
         1: .line 1357
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private void popScopeException();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 1365
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
         1: .line 1366
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            astore 1 /* ci */
        start local 1 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
         2: .line 1367
            aload 1 /* ci */
            ifnull 6
         3: .line 1368
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.catchLabel:Ljdk/nashorn/internal/codegen/Label;
            astore 2 /* catchLabel */
        start local 2 // jdk.nashorn.internal.codegen.Label catchLabel
         4: .line 1369
            aload 2 /* catchLabel */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            if_acmpeq 6
            aload 2 /* catchLabel */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            if_acmpne 6
         5: .line 1370
            aload 1 /* ci */
            dup
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
        end local 2 // jdk.nashorn.internal.codegen.Label catchLabel
         6: .line 1373
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            2    7     1          ci  Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            4    6     2  catchLabel  Ljdk/nashorn/internal/codegen/Label;

  private void popScopesUntil(jdk.nashorn.internal.ir.LexicalContextNode);
    descriptor: (Ljdk/nashorn/internal/ir/LexicalContextNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.LexicalContextNode until
         0: .line 1376
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* until */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getScopeNestingLevelTo:(Ljdk/nashorn/internal/ir/LexicalContextNode;)I
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
         1: .line 1377
            return
        end local 1 // jdk.nashorn.internal.ir.LexicalContextNode until
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  until  Ljdk/nashorn/internal/ir/LexicalContextNode;
    MethodParameters:
       Name  Flags
      until  final

  private void popScopes(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int count
         0: .line 1380
            iload 1 /* count */
            ifne 2
         1: .line 1381
            return
         2: .line 1383
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 3
            iload 1 /* count */
            ifgt 3
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         3: .line 1384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
            ifne 5
         4: .line 1388
            return
         5: .line 1390
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 1391
            aload 0 /* this */
            iload 1 /* count */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.invokeGetProto:(I)V
         7: .line 1392
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
         8: .line 1393
            return
        end local 1 // int count
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    9     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    9     1  count  I
    MethodParameters:
       Name  Flags
      count  final

  public boolean enterBreakNode(jdk.nashorn.internal.ir.BreakNode);
    descriptor: (Ljdk/nashorn/internal/ir/BreakNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BreakNode breakNode
         0: .line 1397
            aload 0 /* this */
            aload 1 /* breakNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BreakNode breakNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  breakNode  Ljdk/nashorn/internal/ir/BreakNode;
    MethodParameters:
           Name  Flags
      breakNode  final

  public boolean enterJumpToInlinedFinally(jdk.nashorn.internal.ir.JumpToInlinedFinally);
    descriptor: (Ljdk/nashorn/internal/ir/JumpToInlinedFinally;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.JumpToInlinedFinally jumpToInlinedFinally
         0: .line 1402
            aload 0 /* this */
            aload 1 /* jumpToInlinedFinally */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
            ireturn
        end local 1 // jdk.nashorn.internal.ir.JumpToInlinedFinally jumpToInlinedFinally
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0    1     0                  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  jumpToInlinedFinally  Ljdk/nashorn/internal/ir/JumpToInlinedFinally;
    MethodParameters:
                      Name  Flags
      jumpToInlinedFinally  final

  private boolean enterJumpStatement(jdk.nashorn.internal.ir.JumpStatement);
    descriptor: (Ljdk/nashorn/internal/ir/JumpStatement;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.JumpStatement jump
         0: .line 1406
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 1407
            iconst_0
            ireturn
         2: .line 1409
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* jump */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 1411
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* jump */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         4: .line 1412
            aload 0 /* this */
            aload 1 /* jump */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            invokevirtual jdk.nashorn.internal.ir.JumpStatement.getPopScopeLimit:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopesUntil:(Ljdk/nashorn/internal/ir/LexicalContextNode;)V
         5: .line 1413
            aload 1 /* jump */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            invokevirtual jdk.nashorn.internal.ir.JumpStatement.getTargetLabel:(Ljdk/nashorn/internal/ir/LexicalContext;)Ljdk/nashorn/internal/codegen/Label;
            astore 2 /* targetLabel */
        start local 2 // jdk.nashorn.internal.codegen.Label targetLabel
         6: .line 1414
            aload 2 /* targetLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.markAsBreakTarget:()V
         7: .line 1415
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* targetLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
         8: .line 1417
            iconst_0
            ireturn
        end local 2 // jdk.nashorn.internal.codegen.Label targetLabel
        end local 1 // jdk.nashorn.internal.ir.JumpStatement jump
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    9     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    9     1         jump  Ljdk/nashorn/internal/ir/JumpStatement;
            6    9     2  targetLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
      Name  Flags
      jump  final

  private int loadArgs(java.util.List<jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljava/util/List;)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.util.List args
         0: .line 1421
            aload 1 /* args */
            invokeinterface java.util.List.size:()I
            istore 2 /* argCount */
        start local 2 // int argCount
         1: .line 1423
            iload 2 /* argCount */
            bipush 125
            if_icmple 4
         2: .line 1424
            aload 0 /* this */
            aload 1 /* args */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgsArray:(Ljava/util/List;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 1425
            iconst_1
            ireturn
         4: .line 1428
      StackMap locals: int
      StackMap stack:
            aload 1 /* args */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 8
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int top java.util.Iterator
      StackMap stack:
         5: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 3 /* arg */
        start local 3 // jdk.nashorn.internal.ir.Expression arg
         6: .line 1429
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 3 /* arg */
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 1430
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int jdk.nashorn.internal.ir.Expression java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 3 /* arg */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 3 // jdk.nashorn.internal.ir.Expression arg
         8: .line 1428
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.util.List int top java.util.Iterator
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         9: .line 1432
            iload 2 /* argCount */
            ireturn
        end local 2 // int argCount
        end local 1 // java.util.List args
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   10     1      args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            1   10     2  argCount  I
            6    8     3       arg  Ljdk/nashorn/internal/ir/Expression;
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)I
    MethodParameters:
      Name  Flags
      args  final

  private boolean loadCallNode(jdk.nashorn.internal.ir.CallNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=10, locals=7, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.CallNode callNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 1436
            aload 0 /* this */
            aload 1 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getLineNumber:()I
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(I)V
         1: .line 1438
            aload 1 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
            astore 3 /* args */
        start local 3 // java.util.List args
         2: .line 1439
            aload 1 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
            astore 4 /* function */
        start local 4 // jdk.nashorn.internal.ir.Expression function
         3: .line 1440
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
            astore 5 /* currentBlock */
        start local 5 // jdk.nashorn.internal.ir.Block currentBlock
         4: .line 1441
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            astore 6 /* codegenLexicalContext */
        start local 6 // jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext codegenLexicalContext
         5: .line 1443
            aload 4 /* function */
            new jdk.nashorn.internal.codegen.CodeGenerator$3
            dup
            aload 0 /* this */
            aload 1 /* callNode */
            aload 2 /* resultBounds */
            aload 5 /* currentBlock */
            aload 3 /* args */
            aload 6 /* codegenLexicalContext */
            aload 4 /* function */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$3.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/CallNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/Block;Ljava/util/List;Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;Ljdk/nashorn/internal/ir/Expression;)V
            invokevirtual jdk.nashorn.internal.ir.Expression.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         6: .line 1697
            iconst_0
            ireturn
        end local 6 // jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext codegenLexicalContext
        end local 5 // jdk.nashorn.internal.ir.Block currentBlock
        end local 4 // jdk.nashorn.internal.ir.Expression function
        end local 3 // java.util.List args
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.CallNode callNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0    7     0                   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1               callNode  Ljdk/nashorn/internal/ir/CallNode;
            0    7     2           resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            2    7     3                   args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            3    7     4               function  Ljdk/nashorn/internal/ir/Expression;
            4    7     5           currentBlock  Ljdk/nashorn/internal/ir/Block;
            5    7     6  codegenLexicalContext  Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;
    MethodParameters:
              Name  Flags
      callNode      final
      resultBounds  final

  static int nonOptimisticFlags(int);
    descriptor: (I)I
    flags: (0x0008) ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // int flags
         0: .line 1706
            iload 0 /* flags */
            sipush 32639
            iand
            ireturn
        end local 0 // int flags
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0  flags  I
    MethodParameters:
       Name  Flags
      flags  final

  public boolean enterContinueNode(jdk.nashorn.internal.ir.ContinueNode);
    descriptor: (Ljdk/nashorn/internal/ir/ContinueNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ContinueNode continueNode
         0: .line 1711
            aload 0 /* this */
            aload 1 /* continueNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterJumpStatement:(Ljdk/nashorn/internal/ir/JumpStatement;)Z
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ContinueNode continueNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    1     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  continueNode  Ljdk/nashorn/internal/ir/ContinueNode;
    MethodParameters:
              Name  Flags
      continueNode  final

  public boolean enterEmptyNode(jdk.nashorn.internal.ir.EmptyNode);
    descriptor: (Ljdk/nashorn/internal/ir/EmptyNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.EmptyNode emptyNode
         0: .line 1717
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.EmptyNode emptyNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    1     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  emptyNode  Ljdk/nashorn/internal/ir/EmptyNode;
    MethodParameters:
           Name  Flags
      emptyNode  final

  public boolean enterExpressionStatement(jdk.nashorn.internal.ir.ExpressionStatement);
    descriptor: (Ljdk/nashorn/internal/ir/ExpressionStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
         0: .line 1722
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 1723
            iconst_0
            ireturn
         2: .line 1725
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 1727
            aload 0 /* this */
            aload 1 /* expressionStatement */
            invokevirtual jdk.nashorn.internal.ir.ExpressionStatement.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         4: .line 1728
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 5
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStackSize:()I
            ifeq 5
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "stack not empty in "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* expressionStatement */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         5: .line 1730
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ExpressionStatement expressionStatement
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0    6     0                 this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1  expressionStatement  Ljdk/nashorn/internal/ir/ExpressionStatement;
    MethodParameters:
                     Name  Flags
      expressionStatement  final

  public boolean enterBlockStatement(jdk.nashorn.internal.ir.BlockStatement);
    descriptor: (Ljdk/nashorn/internal/ir/BlockStatement;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BlockStatement blockStatement
         0: .line 1735
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 1736
            iconst_0
            ireturn
         2: .line 1738
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* blockStatement */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 1740
            aload 1 /* blockStatement */
            invokevirtual jdk.nashorn.internal.ir.BlockStatement.getBlock:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         4: .line 1742
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.BlockStatement blockStatement
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    5     0            this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    5     1  blockStatement  Ljdk/nashorn/internal/ir/BlockStatement;
    MethodParameters:
                Name  Flags
      blockStatement  final

  public boolean enterForNode(jdk.nashorn.internal.ir.ForNode);
    descriptor: (Ljdk/nashorn/internal/ir/ForNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ForNode forNode
         0: .line 1747
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 1748
            iconst_0
            ireturn
         2: .line 1750
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 1751
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForInOrOf:()Z
            ifeq 6
         4: .line 1752
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForIn:(Ljdk/nashorn/internal/ir/ForNode;)V
         5: .line 1753
            goto 10
         6: .line 1754
      StackMap locals:
      StackMap stack:
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* init */
        start local 2 // jdk.nashorn.internal.ir.Expression init
         7: .line 1755
            aload 2 /* init */
            ifnull 9
         8: .line 1756
            aload 0 /* this */
            aload 2 /* init */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         9: .line 1758
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aload 1 /* forNode */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForOrWhile:(Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
        end local 2 // jdk.nashorn.internal.ir.Expression init
        10: .line 1761
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.ForNode forNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot     Name  Signature
            0   11     0     this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   11     1  forNode  Ljdk/nashorn/internal/ir/ForNode;
            7   10     2     init  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
         Name  Flags
      forNode  final

  private void enterForIn(jdk.nashorn.internal.ir.ForNode);
    descriptor: (Ljdk/nashorn/internal/ir/ForNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=9, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ForNode forNode
         0: .line 1765
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getModify:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 1766
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForEach:()Z
            ifeq 4
         2: .line 1767
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_VALUE_ITERATOR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 1768
            goto 11
      StackMap locals:
      StackMap stack:
         4: aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForIn:()Z
            ifeq 7
         5: .line 1769
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_PROPERTY_ITERATOR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 1770
            goto 11
      StackMap locals:
      StackMap stack:
         7: aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.isForOf:()Z
            ifeq 10
         8: .line 1771
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.TO_ES6_ITERATOR:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 1772
            goto 11
        10: .line 1773
      StackMap locals:
      StackMap stack:
            new java.lang.IllegalArgumentException
            dup
            ldc "Unexpected for node"
            invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
            athrow
        11: .line 1775
      StackMap locals:
      StackMap stack:
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getIterator:()Ljdk/nashorn/internal/ir/Symbol;
            astore 2 /* iterSymbol */
        start local 2 // jdk.nashorn.internal.ir.Symbol iterSymbol
        12: .line 1776
            aload 2 /* iterSymbol */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
            istore 3 /* iterSlot */
        start local 3 // int iterSlot
        13: .line 1777
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* iterSymbol */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
        14: .line 1779
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        15: .line 1781
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 4 /* continueLabel */
        start local 4 // jdk.nashorn.internal.codegen.Label continueLabel
        16: .line 1782
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 5 /* breakLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label breakLabel
        17: .line 1784
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* continueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        18: .line 1785
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            iload 3 /* iterSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 1786
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.ITERATOR_CLASS:Ljava/lang/Class;
            ldc "hasNext"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.interfaceCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 1787
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            astore 6 /* test */
        start local 6 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
        21: .line 1788
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 7 /* body */
        start local 7 // jdk.nashorn.internal.ir.Block body
        22: .line 1789
            aload 6 /* test */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            ifeq 29
        23: .line 1790
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "for_in_after_test_conv"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 8 /* afterConversion */
        start local 8 // jdk.nashorn.internal.codegen.Label afterConversion
        24: .line 1791
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* afterConversion */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
        25: .line 1792
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        26: .line 1793
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        27: .line 1794
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* afterConversion */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 8 // jdk.nashorn.internal.codegen.Label afterConversion
        28: .line 1795
            goto 30
        29: .line 1796
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ForNode jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.ir.Block
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
        30: .line 1799
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$4
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* forNode */
            iload 3 /* iterSlot */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$4.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/ForNode;I)V
        31: .line 1821
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$4.store:()V
        32: .line 1822
            aload 7 /* body */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        33: .line 1824
            aload 1 /* forNode */
            invokevirtual jdk.nashorn.internal.ir.ForNode.needsScopeCreator:()Z
            ifeq 38
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
            ifeq 38
        34: .line 1826
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.FieldObjectCreator
            astore 8 /* creator */
        start local 8 // jdk.nashorn.internal.codegen.FieldObjectCreator creator
        35: .line 1827
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 36
            aload 8 /* creator */
            ifnonnull 36
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        36: .line 1828
      StackMap locals: jdk.nashorn.internal.codegen.FieldObjectCreator
      StackMap stack:
            aload 8 /* creator */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.createForInIterationScope:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        37: .line 1829
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        end local 8 // jdk.nashorn.internal.codegen.FieldObjectCreator creator
        38: .line 1832
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 40
        39: .line 1833
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* continueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        40: .line 1835
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        41: .line 1836
            return
        end local 7 // jdk.nashorn.internal.ir.Block body
        end local 6 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
        end local 5 // jdk.nashorn.internal.codegen.Label breakLabel
        end local 4 // jdk.nashorn.internal.codegen.Label continueLabel
        end local 3 // int iterSlot
        end local 2 // jdk.nashorn.internal.ir.Symbol iterSymbol
        end local 1 // jdk.nashorn.internal.ir.ForNode forNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   42     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   42     1          forNode  Ljdk/nashorn/internal/ir/ForNode;
           12   42     2       iterSymbol  Ljdk/nashorn/internal/ir/Symbol;
           13   42     3         iterSlot  I
           16   42     4    continueLabel  Ljdk/nashorn/internal/codegen/Label;
           17   42     5       breakLabel  Ljdk/nashorn/internal/codegen/Label;
           21   42     6             test  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
           22   42     7             body  Ljdk/nashorn/internal/ir/Block;
           24   28     8  afterConversion  Ljdk/nashorn/internal/codegen/Label;
           35   38     8          creator  Ljdk/nashorn/internal/codegen/FieldObjectCreator<*>;
    MethodParameters:
         Name  Flags
      forNode  final

  private void initLocals(jdk.nashorn.internal.ir.Block);
    descriptor: (Ljdk/nashorn/internal/ir/Block;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=13, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
         0: .line 1844
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.onEnterBlock:(Ljdk/nashorn/internal/ir/Block;)V
         1: .line 1846
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isFunctionBody:()Z
            istore 2 /* isFunctionBody */
        start local 2 // boolean isFunctionBody
         2: .line 1847
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* function */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode function
         3: .line 1848
            iload 2 /* isFunctionBody */
            ifeq 17
         4: .line 1849
            aload 0 /* this */
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeMethodParameters:(Ljdk/nashorn/internal/ir/FunctionNode;)V
         5: .line 1850
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
            ifne 7
         6: .line 1851
            aload 0 /* this */
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.expandParameterSlots:(Ljdk/nashorn/internal/ir/FunctionNode;)V
         7: .line 1853
      StackMap locals: int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
            ifeq 15
         8: .line 1854
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
            ifeq 12
         9: .line 1855
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        10: .line 1856
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptFunction.GET_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 1857
            goto 14
        12: .line 1858
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 13
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.hasScopeBlock:()Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 1859
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        14: .line 1861
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        15: .line 1863
      StackMap locals:
      StackMap stack:
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
            ifeq 17
        16: .line 1864
            aload 0 /* this */
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initArguments:(Ljdk/nashorn/internal/ir/FunctionNode;)V
        17: .line 1871
      StackMap locals:
      StackMap stack:
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifeq 60
        18: .line 1876
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.allVarsInScope:()Z
            istore 4 /* varsInScope */
        start local 4 // boolean varsInScope
        19: .line 1880
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsArguments:()Z
            istore 5 /* hasArguments */
        start local 5 // boolean hasArguments
        20: .line 1881
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 6 /* tuples */
        start local 6 // java.util.List tuples
        21: .line 1882
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7 /* paramIter */
        start local 7 // java.util.Iterator paramIter
        22: .line 1883
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 9
            goto 47
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator top java.util.Iterator
      StackMap stack:
        23: aload 9
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Symbol
            astore 8 /* symbol */
        start local 8 // jdk.nashorn.internal.ir.Symbol symbol
        24: .line 1884
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isInternal:()Z
            ifne 47
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
            ifeq 26
        25: .line 1885
            goto 47
        26: .line 1888
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator
      StackMap stack:
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isVar:()Z
            ifeq 34
        27: .line 1889
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 28
            iload 4 /* varsInScope */
            ifeq 28
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 28
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        28: .line 1890
      StackMap locals:
      StackMap stack:
            iload 4 /* varsInScope */
            ifne 29
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifeq 33
        29: .line 1891
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 30
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 30
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "scope for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have been set in Lower already "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        30: .line 1892
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 31
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifeq 31
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "slot for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have been removed in Lower already"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        31: .line 1895
      StackMap locals:
      StackMap stack:
            aload 6 /* tuples */
            new jdk.nashorn.internal.codegen.MapTuple
            dup
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            aload 8 /* symbol */
            aconst_null
            invokespecial jdk.nashorn.internal.codegen.MapTuple.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        32: .line 1896
            goto 47
        33: .line 1897
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 47
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifne 47
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
            ifeq 47
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have a slot only, no scope"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        34: .line 1899
      StackMap locals:
      StackMap stack:
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
            ifeq 47
            iload 4 /* varsInScope */
            ifne 35
            iload 5 /* hasArguments */
            ifne 35
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifeq 47
        35: .line 1900
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 36
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 36
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "scope for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have been set in AssignSymbols already "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " varsInScope="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 4 /* varsInScope */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc " hasArguments="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 5 /* hasArguments */
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            ldc " symbol.isScope()="
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            invokevirtual java.lang.StringBuilder.append:(Z)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        36: .line 1901
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 37
            iload 5 /* hasArguments */
            ifeq 37
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifeq 37
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "slot for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have been removed in Lower already "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        37: .line 1906
      StackMap locals:
      StackMap stack:
            iload 5 /* hasArguments */
            ifeq 42
        38: .line 1907
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 39
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifeq 39
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "slot for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 8 /* symbol */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " should have been removed in Lower already "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        39: .line 1908
      StackMap locals:
      StackMap stack:
            aconst_null
            astore 11 /* paramSymbol */
        start local 11 // jdk.nashorn.internal.ir.Symbol paramSymbol
        40: .line 1909
            aconst_null
            astore 10 /* paramType */
        start local 10 // jdk.nashorn.internal.codegen.types.Type paramType
        41: .line 1910
            goto 46
        end local 11 // jdk.nashorn.internal.ir.Symbol paramSymbol
        end local 10 // jdk.nashorn.internal.codegen.types.Type paramType
        42: .line 1911
      StackMap locals:
      StackMap stack:
            aload 8 /* symbol */
            astore 11 /* paramSymbol */
        start local 11 // jdk.nashorn.internal.ir.Symbol paramSymbol
        43: .line 1918
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator top jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            aload 7 /* paramIter */
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 12 /* nextParam */
        start local 12 // jdk.nashorn.internal.ir.IdentNode nextParam
        44: .line 1919
            aload 12 /* nextParam */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 43
        45: .line 1920
            aload 12 /* nextParam */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 10 /* paramType */
        end local 12 // jdk.nashorn.internal.ir.IdentNode nextParam
        start local 10 // jdk.nashorn.internal.codegen.types.Type paramType
        46: .line 1926
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.ir.Symbol java.util.Iterator jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            aload 6 /* tuples */
            new jdk.nashorn.internal.codegen.CodeGenerator$5
            dup
            aload 0 /* this */
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            aload 8 /* symbol */
            aload 10 /* paramType */
            aload 11 /* paramSymbol */
            aload 10 /* paramType */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$5.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 11 // jdk.nashorn.internal.ir.Symbol paramSymbol
        end local 10 // jdk.nashorn.internal.codegen.types.Type paramType
        end local 8 // jdk.nashorn.internal.ir.Symbol symbol
        47: .line 1883
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator top java.util.Iterator
      StackMap stack:
            aload 9
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 23
        48: .line 1943
            new jdk.nashorn.internal.codegen.CodeGenerator$6
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 6 /* tuples */
            iconst_1
            iload 5 /* hasArguments */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$6.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;ZZ)V
            astore 8 /* creator */
        start local 8 // jdk.nashorn.internal.codegen.FieldObjectCreator creator
        49: .line 1949
            aload 8 /* creator */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.FieldObjectCreator.makeObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        50: .line 1950
            aload 1 /* block */
            invokevirtual jdk.nashorn.internal.ir.Block.providesScopeCreator:()Z
            ifeq 52
        51: .line 1951
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeObjectCreators:Ljava/util/Deque;
            aload 8 /* creator */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        52: .line 1954
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int int java.util.List java.util.Iterator jdk.nashorn.internal.codegen.FieldObjectCreator
      StackMap stack:
            iload 2 /* isFunctionBody */
            ifeq 54
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
            ifeq 54
        53: .line 1955
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.MERGE_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        54: .line 1958
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        55: .line 1959
            iload 2 /* isFunctionBody */
            ifne 66
        56: .line 1963
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "scope_entry"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 9 /* scopeEntryLabel */
        start local 9 // jdk.nashorn.internal.codegen.Label scopeEntryLabel
        57: .line 1964
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.scopeEntryLabels:Ljava/util/Deque;
            aload 9 /* scopeEntryLabel */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        58: .line 1965
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* scopeEntryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 9 // jdk.nashorn.internal.codegen.Label scopeEntryLabel
        end local 8 // jdk.nashorn.internal.codegen.FieldObjectCreator creator
        end local 7 // java.util.Iterator paramIter
        end local 6 // java.util.List tuples
        end local 5 // boolean hasArguments
        end local 4 // boolean varsInScope
        59: .line 1967
            goto 66
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
        60: iload 2 /* isFunctionBody */
            ifeq 66
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
            ifeq 66
        61: .line 1970
            iconst_0
            istore 4 /* nextParam */
        start local 4 // int nextParam
        62: .line 1971
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 65
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode int top java.util.Iterator
      StackMap stack:
        63: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 5 /* param */
        start local 5 // jdk.nashorn.internal.ir.IdentNode param
        64: .line 1972
            aload 5 /* param */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            iload 4 /* nextParam */
            iinc 4 /* nextParam */ 1
            invokevirtual jdk.nashorn.internal.ir.Symbol.setFieldIndex:(I)Ljdk/nashorn/internal/ir/Symbol;
            pop
        end local 5 // jdk.nashorn.internal.ir.IdentNode param
        65: .line 1971
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 63
        end local 4 // int nextParam
        66: .line 1977
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 0 /* this */
            aload 1 /* block */
            aload 3 /* function */
        67: new java.lang.StringBuilder
            dup
            iload 2 /* isFunctionBody */
            ifeq 68
            ldc "Function "
            goto 69
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode new 67 new 67
        68: ldc "Block in "
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode new 67 new 67 java.lang.String
        69: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            ifnonnull 70
            ldc "<anonymous>"
            goto 71
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode java.lang.StringBuilder
        70: aload 3 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getIdent:()Ljdk/nashorn/internal/ir/IdentNode;
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.ir.FunctionNode
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.FunctionNode java.lang.StringBuilder java.lang.String
        71: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.printSymbols:(Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)V
        72: .line 1978
            return
        end local 3 // jdk.nashorn.internal.ir.FunctionNode function
        end local 2 // boolean isFunctionBody
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   73     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   73     1            block  Ljdk/nashorn/internal/ir/Block;
            2   73     2   isFunctionBody  Z
            3   73     3         function  Ljdk/nashorn/internal/ir/FunctionNode;
           19   59     4      varsInScope  Z
           20   59     5     hasArguments  Z
           21   59     6           tuples  Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<Ljdk/nashorn/internal/ir/Symbol;>;>;
           22   59     7        paramIter  Ljava/util/Iterator<Ljdk/nashorn/internal/ir/IdentNode;>;
           24   47     8           symbol  Ljdk/nashorn/internal/ir/Symbol;
           41   42    10        paramType  Ljdk/nashorn/internal/codegen/types/Type;
           46   47    10        paramType  Ljdk/nashorn/internal/codegen/types/Type;
           40   42    11      paramSymbol  Ljdk/nashorn/internal/ir/Symbol;
           43   47    11      paramSymbol  Ljdk/nashorn/internal/ir/Symbol;
           44   46    12        nextParam  Ljdk/nashorn/internal/ir/IdentNode;
           49   59     8          creator  Ljdk/nashorn/internal/codegen/FieldObjectCreator<Ljdk/nashorn/internal/ir/Symbol;>;
           57   59     9  scopeEntryLabel  Ljdk/nashorn/internal/codegen/Label;
           62   66     4        nextParam  I
           64   65     5            param  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
       Name  Flags
      block  final

  private void initializeMethodParameters(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode function
         0: .line 1985
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "fn_start"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 2 /* functionStart */
        start local 2 // jdk.nashorn.internal.codegen.Label functionStart
         1: .line 1986
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* functionStart */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         2: .line 1987
            iconst_0
            istore 3 /* nextSlot */
        start local 3 // int nextSlot
         3: .line 1988
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
            ifeq 5
         4: .line 1989
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            aload 1 /* function */
            aload 2 /* functionStart */
            iload 3 /* nextSlot */
            iinc 3 /* nextSlot */ 1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
         5: .line 1991
      StackMap locals: jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            aload 1 /* function */
            aload 2 /* functionStart */
            iload 3 /* nextSlot */
            iinc 3 /* nextSlot */ 1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
         6: .line 1992
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isVarArg:()Z
            ifeq 9
         7: .line 1993
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            aload 1 /* function */
            aload 2 /* functionStart */
            iload 3 /* nextSlot */
            iinc 3 /* nextSlot */ 1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
         8: .line 1994
            goto 15
         9: .line 1995
      StackMap locals:
      StackMap stack:
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 14
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Label int top java.util.Iterator
      StackMap stack:
        10: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 4 /* param */
        start local 4 // jdk.nashorn.internal.ir.IdentNode param
        11: .line 1996
            aload 4 /* param */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 6 /* symbol */
        start local 6 // jdk.nashorn.internal.ir.Symbol symbol
        12: .line 1997
            aload 6 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
            ifeq 14
        13: .line 1998
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* symbol */
            aload 4 /* param */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 2 /* functionStart */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.initializeMethodParameter:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/Label;)V
        end local 6 // jdk.nashorn.internal.ir.Symbol symbol
        end local 4 // jdk.nashorn.internal.ir.IdentNode param
        14: .line 1995
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 10
        15: .line 2002
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            return
        end local 3 // int nextSlot
        end local 2 // jdk.nashorn.internal.codegen.Label functionStart
        end local 1 // jdk.nashorn.internal.ir.FunctionNode function
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   16     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   16     1       function  Ljdk/nashorn/internal/ir/FunctionNode;
            1   16     2  functionStart  Ljdk/nashorn/internal/codegen/Label;
            3   16     3       nextSlot  I
           11   14     4          param  Ljdk/nashorn/internal/ir/IdentNode;
           12   14     6         symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
          Name  Flags
      function  final

  private void initializeInternalFunctionParameter(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.codegen.Label, int);
    descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=5
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
        start local 2 // jdk.nashorn.internal.ir.FunctionNode fn
        start local 3 // jdk.nashorn.internal.codegen.Label functionStart
        start local 4 // int slot
         0: .line 2005
            aload 0 /* this */
            aload 1 /* cc */
            aload 2 /* fn */
            aload 3 /* functionStart */
            iload 4 /* slot */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.initializeInternalFunctionOrSplitParameter:(Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)Ljdk/nashorn/internal/ir/Symbol;
            astore 5 /* symbol */
        start local 5 // jdk.nashorn.internal.ir.Symbol symbol
         1: .line 2007
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 5 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getFirstSlot:()I
            iload 4 /* slot */
            if_icmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2008
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            return
        end local 5 // jdk.nashorn.internal.ir.Symbol symbol
        end local 4 // int slot
        end local 3 // jdk.nashorn.internal.codegen.Label functionStart
        end local 2 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1             cc  Ljdk/nashorn/internal/codegen/CompilerConstants;
            0    3     2             fn  Ljdk/nashorn/internal/ir/FunctionNode;
            0    3     3  functionStart  Ljdk/nashorn/internal/codegen/Label;
            0    3     4           slot  I
            1    3     5         symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
               Name  Flags
      cc             final
      fn             final
      functionStart  final
      slot           final

  private jdk.nashorn.internal.ir.Symbol initializeInternalFunctionOrSplitParameter(jdk.nashorn.internal.codegen.CompilerConstants, jdk.nashorn.internal.ir.FunctionNode, jdk.nashorn.internal.codegen.Label, int);
    descriptor: (Ljdk/nashorn/internal/codegen/CompilerConstants;Ljdk/nashorn/internal/ir/FunctionNode;Ljdk/nashorn/internal/codegen/Label;I)Ljdk/nashorn/internal/ir/Symbol;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=7, args_size=5
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
        start local 2 // jdk.nashorn.internal.ir.FunctionNode fn
        start local 3 // jdk.nashorn.internal.codegen.Label functionStart
        start local 4 // int slot
         0: .line 2011
            aload 2 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.Block.getExistingSymbol:(Ljava/lang/String;)Ljdk/nashorn/internal/ir/Symbol;
            astore 5 /* symbol */
        start local 5 // jdk.nashorn.internal.ir.Symbol symbol
         1: .line 2012
            aload 1 /* cc */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* type */
        start local 6 // jdk.nashorn.internal.codegen.types.Type type
         2: .line 2013
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* symbol */
            aload 6 /* type */
            aload 3 /* functionStart */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.initializeMethodParameter:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/Label;)V
         3: .line 2014
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* type */
            iload 4 /* slot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
         4: .line 2015
            aload 5 /* symbol */
            areturn
        end local 6 // jdk.nashorn.internal.codegen.types.Type type
        end local 5 // jdk.nashorn.internal.ir.Symbol symbol
        end local 4 // int slot
        end local 3 // jdk.nashorn.internal.codegen.Label functionStart
        end local 2 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 1 // jdk.nashorn.internal.codegen.CompilerConstants cc
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    5     1             cc  Ljdk/nashorn/internal/codegen/CompilerConstants;
            0    5     2             fn  Ljdk/nashorn/internal/ir/FunctionNode;
            0    5     3  functionStart  Ljdk/nashorn/internal/codegen/Label;
            0    5     4           slot  I
            1    5     5         symbol  Ljdk/nashorn/internal/ir/Symbol;
            2    5     6           type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
               Name  Flags
      cc             final
      fn             final
      functionStart  final
      slot           final

  private void expandParameterSlots(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode function
         0: .line 2026
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            astore 2 /* parameters */
        start local 2 // java.util.List parameters
         1: .line 2028
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
            ifeq 2
            iconst_2
            goto 3
      StackMap locals: java.util.List
      StackMap stack:
         2: iconst_1
      StackMap locals:
      StackMap stack: int
         3: istore 3 /* currentIncomingSlot */
        start local 3 // int currentIncomingSlot
         4: .line 2029
            aload 2 /* parameters */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 5
            goto 7
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int top java.util.Iterator
      StackMap stack:
         5: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 4 /* parameter */
        start local 4 // jdk.nashorn.internal.ir.IdentNode parameter
         6: .line 2030
            iload 3 /* currentIncomingSlot */
            aload 4 /* parameter */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 3 /* currentIncomingSlot */
        end local 4 // jdk.nashorn.internal.ir.IdentNode parameter
         7: .line 2029
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 5
         8: .line 2033
            aload 2 /* parameters */
            invokeinterface java.util.List.size:()I
            istore 4 /* i */
        start local 4 // int i
         9: goto 22
        10: .line 2034
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int
      StackMap stack:
            aload 2 /* parameters */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 5 /* parameter */
        start local 5 // jdk.nashorn.internal.ir.IdentNode parameter
        11: .line 2035
            aload 5 /* parameter */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* parameterType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type parameterType
        12: .line 2036
            aload 6 /* parameterType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            istore 7 /* typeWidth */
        start local 7 // int typeWidth
        13: .line 2037
            iload 3 /* currentIncomingSlot */
            iload 7 /* typeWidth */
            isub
            istore 3 /* currentIncomingSlot */
        14: .line 2038
            aload 5 /* parameter */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 8 /* symbol */
        start local 8 // jdk.nashorn.internal.ir.Symbol symbol
        15: .line 2039
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
            istore 9 /* slotCount */
        start local 9 // int slotCount
        16: .line 2040
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 17
            iload 9 /* slotCount */
            ifgt 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 2042
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.ir.Symbol int
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 18
            aload 8 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
            ifne 18
            iload 9 /* slotCount */
            iload 7 /* typeWidth */
            if_icmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 2045
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* parameterType */
            iload 3 /* currentIncomingSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
        19: .line 2046
            iload 3 /* currentIncomingSlot */
            aload 8 /* symbol */
            aload 6 /* parameterType */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
            if_icmpeq 22
        20: .line 2047
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* parameterType */
            iload 3 /* currentIncomingSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        21: .line 2048
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* symbol */
            aload 6 /* parameterType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
        end local 9 // int slotCount
        end local 8 // jdk.nashorn.internal.ir.Symbol symbol
        end local 7 // int typeWidth
        end local 6 // jdk.nashorn.internal.codegen.types.Type parameterType
        end local 5 // jdk.nashorn.internal.ir.IdentNode parameter
        22: .line 2033
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.List int int
      StackMap stack:
            iload 4 /* i */
            iinc 4 /* i */ -1
            ifgt 10
        end local 4 // int i
        23: .line 2051
            return
        end local 3 // int currentIncomingSlot
        end local 2 // java.util.List parameters
        end local 1 // jdk.nashorn.internal.ir.FunctionNode function
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                 Name  Signature
            0   24     0                 this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   24     1             function  Ljdk/nashorn/internal/ir/FunctionNode;
            1   24     2           parameters  Ljava/util/List<Ljdk/nashorn/internal/ir/IdentNode;>;
            4   24     3  currentIncomingSlot  I
            6    7     4            parameter  Ljdk/nashorn/internal/ir/IdentNode;
            9   23     4                    i  I
           11   22     5            parameter  Ljdk/nashorn/internal/ir/IdentNode;
           12   22     6        parameterType  Ljdk/nashorn/internal/codegen/types/Type;
           13   22     7            typeWidth  I
           15   22     8               symbol  Ljdk/nashorn/internal/ir/Symbol;
           16   22     9            slotCount  I
    MethodParameters:
          Name  Flags
      function  final

  private void initArguments(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode function
         0: .line 2054
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.VARARGS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 2055
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsCallee:()Z
            ifeq 4
         2: .line 2056
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 2057
            goto 6
         4: .line 2060
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 5
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 2061
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 2063
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* function */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getParameters:()Ljava/util/List;
            invokeinterface java.util.List.size:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         7: .line 2064
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalAllocateArguments:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 2065
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.ARGUMENTS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
         9: .line 2066
            return
        end local 1 // jdk.nashorn.internal.ir.FunctionNode function
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0   10     0      this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   10     1  function  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
          Name  Flags
      function  final

  private boolean skipFunction(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 2069
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            astore 2 /* env */
        start local 2 // jdk.nashorn.internal.runtime.ScriptEnvironment env
         1: .line 2070
            aload 2 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._lazy_compilation:Z
            istore 3 /* lazy */
        start local 3 // boolean lazy
         2: .line 2071
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
            istore 4 /* onDemand */
        start local 4 // boolean onDemand
         3: .line 2074
            iload 4 /* onDemand */
            ifne 4
            iload 3 /* lazy */
            ifeq 6
      StackMap locals: jdk.nashorn.internal.runtime.ScriptEnvironment int int
      StackMap stack:
         4: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            aload 1 /* functionNode */
            if_acmpeq 6
         5: .line 2075
            iconst_1
            ireturn
         6: .line 2091
      StackMap locals:
      StackMap stack:
            iload 4 /* onDemand */
            ifne 7
            iload 3 /* lazy */
            ifeq 7
            aload 2 /* env */
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._optimistic_types:Z
            ifeq 7
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
            ifeq 7
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         7: iconst_0
            ireturn
        end local 4 // boolean onDemand
        end local 3 // boolean lazy
        end local 2 // jdk.nashorn.internal.runtime.ScriptEnvironment env
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    8     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    8     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            1    8     2           env  Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            2    8     3          lazy  Z
            3    8     4      onDemand  Z
    MethodParameters:
              Name  Flags
      functionNode  final

  public boolean enterFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 2096
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.skipFunction:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
            ifeq 3
         1: .line 2099
            aload 0 /* this */
            aload 1 /* functionNode */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.newFunctionObject:(Ljdk/nashorn/internal/ir/FunctionNode;Z)V
         2: .line 2100
            iconst_0
            ireturn
         3: .line 2103
      StackMap locals:
      StackMap stack:
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            astore 2 /* fnName */
        start local 2 // java.lang.String fnName
         4: .line 2113
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
            aload 2 /* fnName */
            invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
            ifne 22
         5: .line 2114
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "=== BEGIN "
            aastore
            dup
            iconst_1
            aload 2 /* fnName */
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
         6: .line 2116
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            ifnonnull 7
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "no compile unit for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* fnName */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* functionNode */
            invokestatic jdk.nashorn.internal.runtime.Debug.id:(Ljava/lang/Object;)Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         7: .line 2117
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
         8: .line 2118
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 9
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.hasCompileUnits:()Z
            ifne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 2120
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            astore 3 /* classEmitter */
        start local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        10: .line 2121
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 11
            aload 3 /* classEmitter */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.restOfMethod:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            goto 12
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.lang.String jdk.nashorn.internal.codegen.ClassEmitter
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator
        11: aload 3 /* classEmitter */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.lang.String jdk.nashorn.internal.codegen.ClassEmitter
      StackMap stack: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.MethodEmitter
        12: invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        13: .line 2122
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setPreventUndefinedLoad:()V
        14: .line 2123
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
            ifeq 16
        15: .line 2124
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushUnwarrantedOptimismHandlers:()V
        16: .line 2128
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            iconst_m1
            putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
        17: .line 2130
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
        18: .line 2132
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 22
        19: .line 2133
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 20
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            ifnull 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 2134
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            new jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo
            dup
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.<init>:()V
            putfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
        21: .line 2135
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getHandlerLabel:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.gotoLoopStart:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        22: .line 2139
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 2 // java.lang.String fnName
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   23     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   23     1  functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            4   23     2        fnName  Ljava/lang/String;
           10   22     3  classEmitter  Ljdk/nashorn/internal/codegen/ClassEmitter;
    MethodParameters:
              Name  Flags
      functionNode  final

  private void pushMethodEmitter(jdk.nashorn.internal.codegen.MethodEmitter);
    descriptor: (Ljdk/nashorn/internal/codegen/MethodEmitter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.MethodEmitter newMethod
         0: .line 2143
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* newMethod */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
         1: .line 2144
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
         2: .line 2145
            return
        end local 1 // jdk.nashorn.internal.codegen.MethodEmitter newMethod
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    3     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  newMethod  Ljdk/nashorn/internal/codegen/MethodEmitter;
    MethodParameters:
           Name  Flags
      newMethod  final

  private void popMethodEmitter();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 2148
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
         1: .line 2149
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            if_acmpeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 2150
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            pop
         3: .line 2151
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  public jdk.nashorn.internal.ir.Node leaveFunctionNode(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Ljdk/nashorn/internal/ir/Node;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
         0: .line 2157
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.emittedMethods:Ljava/util/Set;
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 8
         1: .line 2158
            aload 0 /* this */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.generateUnwarrantedOptimismExceptionHandlers:(Ljdk/nashorn/internal/ir/FunctionNode;)Z
            istore 2 /* markOptimistic */
        start local 2 // boolean markOptimistic
         2: .line 2159
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.generateContinuationHandler:()V
         3: .line 2160
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
         4: .line 2161
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
         5: .line 2162
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popMethodEmitter:()V
         6: .line 2163
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.log:Ljdk/nashorn/internal/runtime/logging/DebugLogger;
            iconst_2
            anewarray java.lang.Object
            dup
            iconst_0
            ldc "=== END "
            aastore
            dup
            iconst_1
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            aastore
            invokevirtual jdk.nashorn.internal.runtime.logging.DebugLogger.info:([Ljava/lang/Object;)V
         7: .line 2164
            goto 9
        end local 2 // boolean markOptimistic
         8: .line 2165
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 2 /* markOptimistic */
        start local 2 // boolean markOptimistic
         9: .line 2168
      StackMap locals: int
      StackMap stack:
            aload 1 /* functionNode */
            astore 3 /* newFunctionNode */
        start local 3 // jdk.nashorn.internal.ir.FunctionNode newFunctionNode
        10: .line 2169
            iload 2 /* markOptimistic */
            ifeq 12
        11: .line 2170
            aload 3 /* newFunctionNode */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            sipush 2048
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.setFlag:(Ljdk/nashorn/internal/ir/LexicalContext;I)Ljdk/nashorn/internal/ir/FunctionNode;
            astore 3 /* newFunctionNode */
        12: .line 2173
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 0 /* this */
            aload 3 /* newFunctionNode */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.newFunctionObject:(Ljdk/nashorn/internal/ir/FunctionNode;Z)V
        13: .line 2174
            aload 3 /* newFunctionNode */
        14: areturn
        end local 3 // jdk.nashorn.internal.ir.FunctionNode newFunctionNode
        end local 2 // boolean markOptimistic
        15: .line 2175
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode
      StackMap stack: java.lang.Throwable
            astore 2 /* t */
        start local 2 // java.lang.Throwable t
        16: .line 2176
            aload 2 /* t */
            invokestatic jdk.nashorn.internal.runtime.Context.printStackTrace:(Ljava/lang/Throwable;)V
        17: .line 2177
            new java.lang.VerifyError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Code generation bug in \""
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "\": likely stack misaligned: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 2 /* t */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
            invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.VerifyError.<init>:(Ljava/lang/String;)V
            astore 3 /* e */
        start local 3 // java.lang.VerifyError e
        18: .line 2178
            aload 3 /* e */
            aload 2 /* t */
            invokevirtual java.lang.VerifyError.initCause:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
            pop
        19: .line 2179
            aload 3 /* e */
            athrow
        end local 3 // java.lang.VerifyError e
        end local 2 // java.lang.Throwable t
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   20     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   20     1     functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            2    8     2   markOptimistic  Z
            9   15     2   markOptimistic  Z
           10   15     3  newFunctionNode  Ljdk/nashorn/internal/ir/FunctionNode;
           16   20     2                t  Ljava/lang/Throwable;
           18   20     3                e  Ljava/lang/VerifyError;
      Exception table:
        from    to  target  type
           0    14      15  Class java.lang.Throwable
    MethodParameters:
              Name  Flags
      functionNode  final

  public boolean enterIfNode(jdk.nashorn.internal.ir.IfNode);
    descriptor: (Ljdk/nashorn/internal/ir/IfNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.IfNode ifNode
         0: .line 2185
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 2186
            iconst_0
            ireturn
         2: .line 2188
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 2190
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* test */
        start local 2 // jdk.nashorn.internal.ir.Expression test
         4: .line 2191
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getPass:()Ljdk/nashorn/internal/ir/Block;
            astore 3 /* pass */
        start local 3 // jdk.nashorn.internal.ir.Block pass
         5: .line 2192
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.ir.IfNode.getFail:()Ljdk/nashorn/internal/ir/Block;
            astore 4 /* fail */
        start local 4 // jdk.nashorn.internal.ir.Block fail
         6: .line 2194
            aload 2 /* test */
            invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 10
         7: .line 2195
            aload 0 /* this */
            aload 2 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         8: .line 2196
            aload 3 /* pass */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         9: .line 2197
            iconst_0
            ireturn
        10: .line 2198
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.Block
      StackMap stack:
            aload 2 /* test */
            invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 15
        11: .line 2199
            aload 0 /* this */
            aload 2 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        12: .line 2200
            aload 4 /* fail */
            ifnull 14
        13: .line 2201
            aload 4 /* fail */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        14: .line 2203
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 2206
      StackMap locals:
      StackMap stack:
            aload 1 /* ifNode */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            istore 5 /* hasFailConversion */
        start local 5 // boolean hasFailConversion
        16: .line 2208
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "if_fail"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* failLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label failLabel
        17: .line 2209
            aload 4 /* fail */
            ifnonnull 18
            iload 5 /* hasFailConversion */
            ifne 18
            aconst_null
            goto 19
      StackMap locals: int jdk.nashorn.internal.codegen.Label
      StackMap stack:
        18: new jdk.nashorn.internal.codegen.Label
            dup
            ldc "if_done"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.Label
        19: astore 7 /* afterLabel */
        start local 7 // jdk.nashorn.internal.codegen.Label afterLabel
        20: .line 2211
            aload 0 /* this */
            aload 2 /* test */
            aload 6 /* failLabel */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
        21: .line 2213
            aload 3 /* pass */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        22: .line 2214
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 24
            aload 7 /* afterLabel */
            ifnull 24
        23: .line 2215
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        24: .line 2217
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* failLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        25: .line 2219
            aload 4 /* fail */
            ifnull 28
        26: .line 2220
            aload 4 /* fail */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        27: .line 2221
            goto 30
      StackMap locals:
      StackMap stack:
        28: iload 5 /* hasFailConversion */
            ifeq 30
        29: .line 2222
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* ifNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        30: .line 2225
      StackMap locals:
      StackMap stack:
            aload 7 /* afterLabel */
            ifnull 32
            aload 7 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.isReachable:()Z
            ifeq 32
        31: .line 2226
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        32: .line 2229
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 7 // jdk.nashorn.internal.codegen.Label afterLabel
        end local 6 // jdk.nashorn.internal.codegen.Label failLabel
        end local 5 // boolean hasFailConversion
        end local 4 // jdk.nashorn.internal.ir.Block fail
        end local 3 // jdk.nashorn.internal.ir.Block pass
        end local 2 // jdk.nashorn.internal.ir.Expression test
        end local 1 // jdk.nashorn.internal.ir.IfNode ifNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   33     0               this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   33     1             ifNode  Ljdk/nashorn/internal/ir/IfNode;
            4   33     2               test  Ljdk/nashorn/internal/ir/Expression;
            5   33     3               pass  Ljdk/nashorn/internal/ir/Block;
            6   33     4               fail  Ljdk/nashorn/internal/ir/Block;
           16   33     5  hasFailConversion  Z
           17   33     6          failLabel  Ljdk/nashorn/internal/codegen/Label;
           20   33     7         afterLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
        Name  Flags
      ifNode  final

  private void emitBranch(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.Label, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression test
        start local 2 // jdk.nashorn.internal.codegen.Label label
        start local 3 // boolean jumpWhenTrue
         0: .line 2233
            new jdk.nashorn.internal.codegen.BranchOptimizer
            dup
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokespecial jdk.nashorn.internal.codegen.BranchOptimizer.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
            aload 1 /* test */
            aload 2 /* label */
            iload 3 /* jumpWhenTrue */
            invokevirtual jdk.nashorn.internal.codegen.BranchOptimizer.execute:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
         1: .line 2234
            return
        end local 3 // boolean jumpWhenTrue
        end local 2 // jdk.nashorn.internal.codegen.Label label
        end local 1 // jdk.nashorn.internal.ir.Expression test
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1          test  Ljdk/nashorn/internal/ir/Expression;
            0    2     2         label  Ljdk/nashorn/internal/codegen/Label;
            0    2     3  jumpWhenTrue  Z
    MethodParameters:
              Name  Flags
      test          final
      label         final
      jumpWhenTrue  final

  private void enterStatement(jdk.nashorn.internal.ir.Statement);
    descriptor: (Ljdk/nashorn/internal/ir/Statement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Statement statement
         0: .line 2237
            aload 0 /* this */
            aload 1 /* statement */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
         1: .line 2238
            return
        end local 1 // jdk.nashorn.internal.ir.Statement statement
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  statement  Ljdk/nashorn/internal/ir/Statement;
    MethodParameters:
           Name  Flags
      statement  final

  private void lineNumber(jdk.nashorn.internal.ir.Statement);
    descriptor: (Ljdk/nashorn/internal/ir/Statement;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Statement statement
         0: .line 2241
            aload 0 /* this */
            aload 1 /* statement */
            invokevirtual jdk.nashorn.internal.ir.Statement.getLineNumber:()I
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(I)V
         1: .line 2242
            return
        end local 1 // jdk.nashorn.internal.ir.Statement statement
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  statement  Ljdk/nashorn/internal/ir/Statement;
    MethodParameters:
           Name  Flags
      statement  final

  private void lineNumber(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int lineNumber
         0: .line 2245
            iload 1 /* lineNumber */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
            if_icmpeq 3
            iload 1 /* lineNumber */
            iconst_m1
            if_icmpeq 3
         1: .line 2246
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 1 /* lineNumber */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
         2: .line 2247
            aload 0 /* this */
            iload 1 /* lineNumber */
            putfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
         3: .line 2249
      StackMap locals:
      StackMap stack:
            return
        end local 1 // int lineNumber
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    4     1  lineNumber  I
    MethodParameters:
            Name  Flags
      lineNumber  final

  int getLastLineNumber();
    descriptor: ()I
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 2252
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lastLineNumber:I
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private void loadArray(jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode, jdk.nashorn.internal.codegen.types.ArrayType);
    descriptor: (Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;Ljdk/nashorn/internal/codegen/types/ArrayType;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=13, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode arrayLiteralNode
        start local 2 // jdk.nashorn.internal.codegen.types.ArrayType arrayType
         0: .line 2263
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* arrayType */
            getstatic jdk.nashorn.internal.codegen.types.Type.INT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
            if_acmpeq 1
            aload 2 /* arrayType */
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
            if_acmpeq 1
            aload 2 /* arrayType */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2265
      StackMap locals:
      StackMap stack:
            aload 1 /* arrayLiteralNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getValue:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression[]
            astore 3 /* nodes */
        start local 3 // jdk.nashorn.internal.ir.Expression[] nodes
         2: .line 2266
            aload 1 /* arrayLiteralNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getPresets:()Ljava/lang/Object;
            astore 4 /* presets */
        start local 4 // java.lang.Object presets
         3: .line 2267
            aload 1 /* arrayLiteralNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getPostsets:()[I
            astore 5 /* postsets */
        start local 5 // int[] postsets
         4: .line 2268
            aload 1 /* arrayLiteralNode */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getSplitRanges:()Ljava/util/List;
            astore 6 /* ranges */
        start local 6 // java.util.List ranges
         5: .line 2270
            aload 0 /* this */
            aload 4 /* presets */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
         6: .line 2272
            aload 2 /* arrayType */
            invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getElementType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 7 /* elementType */
        start local 7 // jdk.nashorn.internal.codegen.types.Type elementType
         7: .line 2274
            aload 6 /* ranges */
            ifnull 12
         8: .line 2276
            aload 0 /* this */
            new jdk.nashorn.internal.codegen.CodeGenerator$7
            dup
            aload 0 /* this */
            aload 3 /* nodes */
            aload 7 /* elementType */
            aload 5 /* postsets */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$7.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;[Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;[I)V
         9: .line 2285
            aload 6 /* ranges */
            aload 2 /* arrayType */
        10: .line 2276
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadSplitLiteral:(Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
        11: .line 2287
            return
        12: .line 2290
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 5 /* postsets */
            arraylength
            ifle 22
        13: .line 2291
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
            istore 8 /* arraySlot */
        start local 8 // int arraySlot
        14: .line 2292
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* arrayType */
            iload 8 /* arraySlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeTemp:(Ljdk/nashorn/internal/codegen/types/Type;I)V
        15: .line 2293
            aload 5 /* postsets */
            dup
            astore 12
            arraylength
            istore 11
            iconst_0
            istore 10
            goto 20
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type int top int int int[]
      StackMap stack:
        16: aload 12
            iload 10
            iaload
            istore 9 /* postset */
        start local 9 // int postset
        17: .line 2294
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* arrayType */
            iload 8 /* arraySlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 2295
            aload 0 /* this */
            aload 3 /* nodes */
            aload 7 /* elementType */
            iload 9 /* postset */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeElement:([Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;I)V
        end local 9 // int postset
        19: .line 2293
            iinc 10 1
      StackMap locals:
      StackMap stack:
        20: iload 10
            iload 11
            if_icmplt 16
        21: .line 2297
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* arrayType */
            iload 8 /* arraySlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 8 // int arraySlot
        22: .line 2299
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode jdk.nashorn.internal.codegen.types.ArrayType jdk.nashorn.internal.ir.Expression[] java.lang.Object int[] java.util.List jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            return
        end local 7 // jdk.nashorn.internal.codegen.types.Type elementType
        end local 6 // java.util.List ranges
        end local 5 // int[] postsets
        end local 4 // java.lang.Object presets
        end local 3 // jdk.nashorn.internal.ir.Expression[] nodes
        end local 2 // jdk.nashorn.internal.codegen.types.ArrayType arrayType
        end local 1 // jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode arrayLiteralNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   23     0              this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   23     1  arrayLiteralNode  Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;
            0   23     2         arrayType  Ljdk/nashorn/internal/codegen/types/ArrayType;
            2   23     3             nodes  [Ljdk/nashorn/internal/ir/Expression;
            3   23     4           presets  Ljava/lang/Object;
            4   23     5          postsets  [I
            5   23     6            ranges  Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
            7   23     7       elementType  Ljdk/nashorn/internal/codegen/types/Type;
           14   22     8         arraySlot  I
           17   19     9           postset  I
    MethodParameters:
                  Name  Flags
      arrayLiteralNode  final
      arrayType         final

  private void storeElement(jdk.nashorn.internal.ir.Expression[], jdk.nashorn.internal.codegen.types.Type, int);
    descriptor: ([Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression[] nodes
        start local 2 // jdk.nashorn.internal.codegen.types.Type elementType
        start local 3 // int index
         0: .line 2302
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 3 /* index */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 2304
            aload 1 /* nodes */
            iload 3 /* index */
            aaload
            astore 4 /* element */
        start local 4 // jdk.nashorn.internal.ir.Expression element
         2: .line 2306
            aload 4 /* element */
            ifnonnull 5
         3: .line 2307
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* elementType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadEmpty:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 2308
            goto 6
         5: .line 2309
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 0 /* this */
            aload 4 /* element */
            aload 2 /* elementType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 2312
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arraystore:()V
         7: .line 2313
            return
        end local 4 // jdk.nashorn.internal.ir.Expression element
        end local 3 // int index
        end local 2 // jdk.nashorn.internal.codegen.types.Type elementType
        end local 1 // jdk.nashorn.internal.ir.Expression[] nodes
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    8     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    8     1        nodes  [Ljdk/nashorn/internal/ir/Expression;
            0    8     2  elementType  Ljdk/nashorn/internal/codegen/types/Type;
            0    8     3        index  I
            2    8     4      element  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
             Name  Flags
      nodes        final
      elementType  final
      index        final

  private jdk.nashorn.internal.codegen.MethodEmitter loadArgsArray(java.util.List<jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljava/util/List;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.util.List args
         0: .line 2316
            aload 1 /* args */
            invokeinterface java.util.List.size:()I
            anewarray java.lang.Object
            astore 2 /* array */
        start local 2 // java.lang.Object[] array
         1: .line 2317
            aload 0 /* this */
            aload 2 /* array */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
         2: .line 2319
            iconst_0
            istore 3 /* i */
        start local 3 // int i
         3: goto 9
         4: .line 2320
      StackMap locals: java.lang.Object[] int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 2321
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 3 /* i */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 2322
            aload 0 /* this */
            aload 1 /* args */
            iload 3 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         7: .line 2323
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arraystore:()V
         8: .line 2319
            iinc 3 /* i */ 1
      StackMap locals:
      StackMap stack:
         9: iload 3 /* i */
            aload 1 /* args */
            invokeinterface java.util.List.size:()I
            if_icmplt 4
        end local 3 // int i
        10: .line 2326
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 2 // java.lang.Object[] array
        end local 1 // java.util.List args
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0   11     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   11     1   args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            1   11     2  array  [Ljava/lang/Object;
            3   10     3      i  I
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    MethodParameters:
      Name  Flags
      args  final

  void loadConstant(java.lang.String);
    descriptor: (Ljava/lang/String;)V
    flags: (0x0000) 
    Code:
      stack=8, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.lang.String string
         0: .line 2336
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            astore 2 /* unitClassName */
        start local 2 // java.lang.String unitClassName
         1: .line 2337
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            astore 3 /* classEmitter */
        start local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
         2: .line 2338
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
            aload 1 /* string */
            invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/String;)I
            istore 4 /* index */
        start local 4 // int index
         3: .line 2340
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 4 /* index */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 2341
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* unitClassName */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.GET_STRING:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            ldc Ljava/lang/String;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 2342
            aload 3 /* classEmitter */
            ldc Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
         6: .line 2343
            return
        end local 4 // int index
        end local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        end local 2 // java.lang.String unitClassName
        end local 1 // java.lang.String string
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1         string  Ljava/lang/String;
            1    7     2  unitClassName  Ljava/lang/String;
            2    7     3   classEmitter  Ljdk/nashorn/internal/codegen/ClassEmitter;
            3    7     4          index  I
    MethodParameters:
        Name  Flags
      string  final

  void loadConstant(java.lang.Object);
    descriptor: (Ljava/lang/Object;)V
    flags: (0x0000) 
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.lang.Object object
         0: .line 2352
            aload 0 /* this */
            aload 1 /* object */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
         1: .line 2353
            return
        end local 1 // java.lang.Object object
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  object  Ljava/lang/Object;
    MethodParameters:
        Name  Flags
      object  final

  private void loadConstant(java.lang.Object, jdk.nashorn.internal.codegen.CompileUnit, jdk.nashorn.internal.codegen.MethodEmitter);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/codegen/CompileUnit;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=9, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.lang.Object object
        start local 2 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        start local 3 // jdk.nashorn.internal.codegen.MethodEmitter methodEmitter
         0: .line 2356
            aload 2 /* compileUnit */
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            astore 4 /* unitClassName */
        start local 4 // java.lang.String unitClassName
         1: .line 2357
            aload 2 /* compileUnit */
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            astore 5 /* classEmitter */
        start local 5 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
         2: .line 2358
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
            aload 1 /* object */
            invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/Object;)I
            istore 6 /* index */
        start local 6 // int index
         3: .line 2359
            aload 1 /* object */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 7 /* cls */
        start local 7 // java.lang.Class cls
         4: .line 2361
            aload 7 /* cls */
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            if_acmpne 9
         5: .line 2362
            aload 3 /* methodEmitter */
            iload 6 /* index */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 2363
            aload 3 /* methodEmitter */
            aload 4 /* unitClassName */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.GET_MAP:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         7: .line 2364
            aload 5 /* classEmitter */
            ldc Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
         8: .line 2365
            goto 22
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator java.lang.Object jdk.nashorn.internal.codegen.CompileUnit jdk.nashorn.internal.codegen.MethodEmitter java.lang.String jdk.nashorn.internal.codegen.ClassEmitter int java.lang.Class
      StackMap stack:
         9: aload 7 /* cls */
            invokevirtual java.lang.Class.isArray:()Z
            ifeq 15
        10: .line 2366
            aload 3 /* methodEmitter */
            iload 6 /* index */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 2367
            aload 7 /* cls */
            invokestatic jdk.nashorn.internal.codegen.ClassEmitter.getArrayMethodName:(Ljava/lang/Class;)Ljava/lang/String;
            astore 8 /* methodName */
        start local 8 // java.lang.String methodName
        12: .line 2368
            aload 3 /* methodEmitter */
            aload 4 /* unitClassName */
            aload 8 /* methodName */
            aload 7 /* cls */
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        13: .line 2369
            aload 5 /* classEmitter */
            aload 7 /* cls */
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.needGetConstantMethod:(Ljava/lang/Class;)V
        end local 8 // java.lang.String methodName
        14: .line 2370
            goto 22
        15: .line 2371
      StackMap locals:
      StackMap stack:
            aload 3 /* methodEmitter */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadConstants:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 6 /* index */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arrayload:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 2372
            aload 1 /* object */
            instanceof jdk.nashorn.internal.runtime.arrays.ArrayData
            ifeq 20
        17: .line 2373
            aload 3 /* methodEmitter */
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 2374
            aload 3 /* methodEmitter */
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            ldc "copy"
            ldc Ljdk/nashorn/internal/runtime/arrays/ArrayData;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 2375
            goto 22
      StackMap locals:
      StackMap stack:
        20: aload 7 /* cls */
            ldc Ljava/lang/Object;
            if_acmpeq 22
        21: .line 2376
            aload 3 /* methodEmitter */
            aload 7 /* cls */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 2379
      StackMap locals:
      StackMap stack:
            return
        end local 7 // java.lang.Class cls
        end local 6 // int index
        end local 5 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        end local 4 // java.lang.String unitClassName
        end local 3 // jdk.nashorn.internal.codegen.MethodEmitter methodEmitter
        end local 2 // jdk.nashorn.internal.codegen.CompileUnit compileUnit
        end local 1 // java.lang.Object object
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0   23     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   23     1         object  Ljava/lang/Object;
            0   23     2    compileUnit  Ljdk/nashorn/internal/codegen/CompileUnit;
            0   23     3  methodEmitter  Ljdk/nashorn/internal/codegen/MethodEmitter;
            1   23     4  unitClassName  Ljava/lang/String;
            2   23     5   classEmitter  Ljdk/nashorn/internal/codegen/ClassEmitter;
            3   23     6          index  I
            4   23     7            cls  Ljava/lang/Class<*>;
           12   14     8     methodName  Ljava/lang/String;
    MethodParameters:
               Name  Flags
      object         final
      compileUnit    final
      methodEmitter  final

  private void loadConstantsAndIndex(java.lang.Object, jdk.nashorn.internal.codegen.MethodEmitter);
    descriptor: (Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.lang.Object object
        start local 2 // jdk.nashorn.internal.codegen.MethodEmitter methodEmitter
         0: .line 2382
            aload 2 /* methodEmitter */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadConstants:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getConstantData:()Ljdk/nashorn/internal/codegen/ConstantData;
            aload 1 /* object */
            invokevirtual jdk.nashorn.internal.codegen.ConstantData.add:(Ljava/lang/Object;)I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 2383
            return
        end local 2 // jdk.nashorn.internal.codegen.MethodEmitter methodEmitter
        end local 1 // java.lang.Object object
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    2     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1         object  Ljava/lang/Object;
            0    2     2  methodEmitter  Ljdk/nashorn/internal/codegen/MethodEmitter;
    MethodParameters:
               Name  Flags
      object         final
      methodEmitter  final

  private void loadLiteral(jdk.nashorn.internal.ir.LiteralNode<?>, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/LiteralNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.LiteralNode node
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 2387
            aload 1 /* node */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
            astore 3 /* value */
        start local 3 // java.lang.Object value
         1: .line 2389
            aload 3 /* value */
            ifnonnull 4
         2: .line 2390
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 2391
            goto 44
      StackMap locals: java.lang.Object
      StackMap stack:
         4: aload 3 /* value */
            instanceof jdk.nashorn.internal.runtime.Undefined
            ifeq 7
         5: .line 2392
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* resultBounds */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.within:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         6: .line 2393
            goto 44
      StackMap locals:
      StackMap stack:
         7: aload 3 /* value */
            instanceof java.lang.String
            ifeq 14
         8: .line 2394
            aload 3 /* value */
            checkcast java.lang.String
            astore 4 /* string */
        start local 4 // java.lang.String string
         9: .line 2396
            aload 4 /* string */
            invokevirtual java.lang.String.length:()I
            sipush 10922
            if_icmple 12
        10: .line 2397
            aload 0 /* this */
            aload 4 /* string */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/String;)V
        11: .line 2398
            goto 44
        12: .line 2399
      StackMap locals: java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* string */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 4 // java.lang.String string
        13: .line 2401
            goto 44
      StackMap locals:
      StackMap stack:
        14: aload 3 /* value */
            instanceof jdk.nashorn.internal.parser.Lexer$RegexToken
            ifeq 17
        15: .line 2402
            aload 0 /* this */
            aload 3 /* value */
            checkcast jdk.nashorn.internal.parser.Lexer$RegexToken
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegex:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 2403
            goto 44
      StackMap locals:
      StackMap stack:
        17: aload 3 /* value */
            instanceof java.lang.Boolean
            ifeq 20
        18: .line 2404
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Boolean
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 2405
            goto 44
      StackMap locals:
      StackMap stack:
        20: aload 3 /* value */
            instanceof java.lang.Integer
            ifeq 30
        21: .line 2406
            aload 2 /* resultBounds */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 25
        22: .line 2407
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        23: .line 2408
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        24: .line 2409
            goto 44
      StackMap locals:
      StackMap stack:
        25: aload 2 /* resultBounds */
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 28
        26: .line 2410
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.doubleValue:()D
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        27: .line 2411
            goto 44
        28: .line 2412
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        29: .line 2414
            goto 44
      StackMap locals:
      StackMap stack:
        30: aload 3 /* value */
            instanceof java.lang.Double
            ifeq 37
        31: .line 2415
            aload 2 /* resultBounds */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.canBeNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 35
        32: .line 2416
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        33: .line 2417
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        34: .line 2418
            goto 44
        35: .line 2419
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* value */
            checkcast java.lang.Double
            invokevirtual java.lang.Double.doubleValue:()D
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(D)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        36: .line 2421
            goto 44
      StackMap locals:
      StackMap stack:
        37: aload 1 /* node */
            instanceof jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
            ifeq 43
        38: .line 2422
            aload 1 /* node */
            checkcast jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode
            astore 4 /* arrayLiteral */
        start local 4 // jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode arrayLiteral
        39: .line 2423
            aload 4 /* arrayLiteral */
            invokevirtual jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode.getArrayType:()Ljdk/nashorn/internal/codegen/types/ArrayType;
            astore 5 /* atype */
        start local 5 // jdk.nashorn.internal.codegen.types.ArrayType atype
        40: .line 2424
            aload 0 /* this */
            aload 4 /* arrayLiteral */
            aload 5 /* atype */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArray:(Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;Ljdk/nashorn/internal/codegen/types/ArrayType;)V
        41: .line 2425
            aload 0 /* this */
            aload 5 /* atype */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalAllocateArray:(Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 5 // jdk.nashorn.internal.codegen.types.ArrayType atype
        end local 4 // jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode arrayLiteral
        42: .line 2426
            goto 44
        43: .line 2427
      StackMap locals:
      StackMap stack:
            new java.lang.UnsupportedOperationException
            dup
            new java.lang.StringBuilder
            dup
            ldc "Unknown literal for "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* value */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* value */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
        44: .line 2429
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.Object value
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.LiteralNode node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   45     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   45     1          node  Ljdk/nashorn/internal/ir/LiteralNode<*>;
            0   45     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            1   45     3         value  Ljava/lang/Object;
            9   13     4        string  Ljava/lang/String;
           39   42     4  arrayLiteral  Ljdk/nashorn/internal/ir/LiteralNode$ArrayLiteralNode;
           40   42     5         atype  Ljdk/nashorn/internal/codegen/types/ArrayType;
    Signature: (Ljdk/nashorn/internal/ir/LiteralNode<*>;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    MethodParameters:
              Name  Flags
      node          final
      resultBounds  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadRegexToken(jdk.nashorn.internal.parser.Lexer$RegexToken);
    descriptor: (Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.parser.Lexer$RegexToken value
         0: .line 2432
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* value */
            invokevirtual jdk.nashorn.internal.parser.Lexer$RegexToken.getExpression:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 2433
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* value */
            invokevirtual jdk.nashorn.internal.parser.Lexer$RegexToken.getOptions:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 2434
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalNewRegExp:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.parser.Lexer$RegexToken value
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  value  Ljdk/nashorn/internal/parser/Lexer$RegexToken;
    MethodParameters:
       Name  Flags
      value  final

  private jdk.nashorn.internal.codegen.MethodEmitter loadRegex(jdk.nashorn.internal.parser.Lexer$RegexToken);
    descriptor: (Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.parser.Lexer$RegexToken regexToken
         0: .line 2438
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
            sipush 2048
            if_icmple 2
         1: .line 2439
            aload 0 /* this */
            aload 1 /* regexToken */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegexToken:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
         2: .line 2442
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.REGEX_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            astore 2 /* regexName */
        start local 2 // java.lang.String regexName
         3: .line 2443
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            astore 3 /* classEmitter */
        start local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
         4: .line 2445
            aload 3 /* classEmitter */
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PRIVATE:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 2 /* regexName */
            ldc Ljava/lang/Object;
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.field:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/Class;)V
         5: .line 2446
            aload 0 /* this */
            dup
            getfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
            iconst_1
            iadd
            putfield jdk.nashorn.internal.codegen.CodeGenerator.regexFieldCount:I
         6: .line 2449
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            aload 2 /* regexName */
            ldc Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         7: .line 2450
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 2451
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "cached"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* cachedLabel */
        start local 4 // jdk.nashorn.internal.codegen.Label cachedLabel
         9: .line 2452
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* cachedLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnonnull:(Ljdk/nashorn/internal/codegen/Label;)V
        10: .line 2454
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 2455
            aload 0 /* this */
            aload 1 /* regexToken */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadRegexToken:(Ljdk/nashorn/internal/parser/Lexer$RegexToken;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        12: .line 2456
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        13: .line 2457
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            aload 2 /* regexName */
            ldc Ljava/lang/Object;
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.typeDescriptor:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.putStatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
        14: .line 2459
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* cachedLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        15: .line 2460
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalRegExpCopy:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 2462
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 4 // jdk.nashorn.internal.codegen.Label cachedLabel
        end local 3 // jdk.nashorn.internal.codegen.ClassEmitter classEmitter
        end local 2 // java.lang.String regexName
        end local 1 // jdk.nashorn.internal.parser.Lexer$RegexToken regexToken
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   17     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   17     1    regexToken  Ljdk/nashorn/internal/parser/Lexer$RegexToken;
            3   17     2     regexName  Ljava/lang/String;
            4   17     3  classEmitter  Ljdk/nashorn/internal/codegen/ClassEmitter;
            9   17     4   cachedLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
            Name  Flags
      regexToken  final

  private static boolean propertyValueContains(jdk.nashorn.internal.ir.Expression, int);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.ir.Expression value
        start local 1 // int pp
         0: .line 2472
            new jdk.nashorn.internal.codegen.CodeGenerator$8
            dup
            aload 0 /* value */
            iload 1 /* pp */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$8.<init>:(Ljdk/nashorn/internal/ir/Expression;I)V
         1: .line 2498
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$8.get:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
         2: .line 2472
            ireturn
        end local 1 // int pp
        end local 0 // jdk.nashorn.internal.ir.Expression value
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0  value  Ljdk/nashorn/internal/ir/Expression;
            0    3     1     pp  I
    MethodParameters:
       Name  Flags
      value  final
      pp     final

  private void loadObjectNode(jdk.nashorn.internal.ir.ObjectNode);
    descriptor: (Ljdk/nashorn/internal/ir/ObjectNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=16, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ObjectNode objectNode
         0: .line 2502
            aload 1 /* objectNode */
            invokevirtual jdk.nashorn.internal.ir.ObjectNode.getElements:()Ljava/util/List;
            astore 2 /* elements */
        start local 2 // java.util.List elements
         1: .line 2504
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 3 /* tuples */
        start local 3 // java.util.List tuples
         2: .line 2506
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 4 /* specialProperties */
        start local 4 // java.util.List specialProperties
         3: .line 2507
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentContinuationEntryPoint:()I
            istore 5 /* ccp */
        start local 5 // int ccp
         4: .line 2508
            aload 1 /* objectNode */
            invokevirtual jdk.nashorn.internal.ir.ObjectNode.getSplitRanges:()Ljava/util/List;
            astore 6 /* ranges */
        start local 6 // java.util.List ranges
         5: .line 2510
            aconst_null
            astore 7 /* protoNode */
        start local 7 // jdk.nashorn.internal.ir.Expression protoNode
         6: .line 2511
            iconst_0
            istore 8 /* restOfProperty */
        start local 8 // boolean restOfProperty
         7: .line 2513
            aload 2 /* elements */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 35
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int top java.util.Iterator
      StackMap stack:
         8: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.PropertyNode
            astore 9 /* propertyNode */
        start local 9 // jdk.nashorn.internal.ir.PropertyNode propertyNode
         9: .line 2514
            aload 9 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
            astore 11 /* value */
        start local 11 // jdk.nashorn.internal.ir.Expression value
        10: .line 2515
            aload 9 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            astore 12 /* key */
        start local 12 // java.lang.String key
        11: .line 2516
            aload 9 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.isComputed:()Z
            ifne 12
            aload 11 /* value */
            ifnull 12
            iconst_0
            goto 13
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.ir.PropertyNode java.util.Iterator jdk.nashorn.internal.ir.Expression java.lang.String
      StackMap stack:
        12: iconst_1
      StackMap locals:
      StackMap stack: int
        13: istore 13 /* isComputedOrAccessor */
        start local 13 // boolean isComputedOrAccessor
        14: .line 2519
            iload 13 /* isComputedOrAccessor */
            ifeq 15
            aconst_null
            goto 16
      StackMap locals: int
      StackMap stack:
        15: new jdk.nashorn.internal.ir.Symbol
            dup
            aload 12 /* key */
            iconst_0
            invokespecial jdk.nashorn.internal.ir.Symbol.<init>:(Ljava/lang/String;I)V
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Symbol
        16: astore 14 /* symbol */
        start local 14 // jdk.nashorn.internal.ir.Symbol symbol
        17: .line 2521
            iload 13 /* isComputedOrAccessor */
            ifeq 20
        18: .line 2523
            aload 4 /* specialProperties */
            aload 9 /* propertyNode */
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        19: .line 2524
            goto 24
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
        20: aload 9 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 24
        21: .line 2525
            aload 12 /* key */
            ldc "__proto__"
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 24
        22: .line 2528
            aload 11 /* value */
            astore 7 /* protoNode */
        23: .line 2529
            goto 35
        24: .line 2532
      StackMap locals:
      StackMap stack:
            iload 8 /* restOfProperty */
        25: .line 2533
            aload 11 /* value */
            ifnull 28
        26: .line 2534
            iload 5 /* ccp */
            invokestatic jdk.nashorn.internal.runtime.UnwarrantedOptimismException.isValid:(I)Z
            ifeq 28
        27: .line 2535
            aload 11 /* value */
            iload 5 /* ccp */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.propertyValueContains:(Ljdk/nashorn/internal/ir/Expression;I)Z
            ifeq 28
            iconst_1
            goto 29
      StackMap locals:
      StackMap stack: int
        28: iconst_0
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.ir.PropertyNode java.util.Iterator jdk.nashorn.internal.ir.Expression java.lang.String int jdk.nashorn.internal.ir.Symbol
      StackMap stack: int int
        29: ior
            istore 8 /* restOfProperty */
        30: .line 2539
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useDualFields:()Z
            ifeq 31
            iload 13 /* isComputedOrAccessor */
            ifne 31
            aload 11 /* value */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
            ifeq 32
      StackMap locals:
      StackMap stack:
        31: ldc Ljava/lang/Object;
            goto 33
      StackMap locals:
      StackMap stack:
        32: aload 11 /* value */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
      StackMap locals:
      StackMap stack: java.lang.Class
        33: astore 15 /* valueType */
        start local 15 // java.lang.Class valueType
        34: .line 2540
            aload 3 /* tuples */
            new jdk.nashorn.internal.codegen.CodeGenerator$9
            dup
            aload 0 /* this */
            aload 12 /* key */
            aload 14 /* symbol */
            aload 15 /* valueType */
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 11 /* value */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$9.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/lang/String;Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/ir/Expression;)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 15 // java.lang.Class valueType
        end local 14 // jdk.nashorn.internal.ir.Symbol symbol
        end local 13 // boolean isComputedOrAccessor
        end local 12 // java.lang.String key
        end local 11 // jdk.nashorn.internal.ir.Expression value
        end local 9 // jdk.nashorn.internal.ir.PropertyNode propertyNode
        35: .line 2513
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        36: .line 2549
            aload 2 /* elements */
            invokeinterface java.util.List.size:()I
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.OBJECT_SPILL_THRESHOLD:I
            if_icmple 39
        37: .line 2550
            new jdk.nashorn.internal.codegen.SpillObjectCreator
            dup
            aload 0 /* this */
            aload 3 /* tuples */
            invokespecial jdk.nashorn.internal.codegen.SpillObjectCreator.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;)V
            astore 9 /* oc */
        start local 9 // jdk.nashorn.internal.codegen.ObjectCreator oc
        38: .line 2551
            goto 40
        end local 9 // jdk.nashorn.internal.codegen.ObjectCreator oc
        39: .line 2552
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$10
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 3 /* tuples */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$10.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljava/util/List;)V
            astore 9 /* oc */
        start local 9 // jdk.nashorn.internal.codegen.ObjectCreator oc
        40: .line 2560
      StackMap locals: jdk.nashorn.internal.codegen.ObjectCreator
      StackMap stack:
            aload 6 /* ranges */
            ifnull 44
        41: .line 2561
            aload 9 /* oc */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.createObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        42: .line 2562
            aload 0 /* this */
            aload 9 /* oc */
            aload 6 /* ranges */
            aload 9 /* oc */
            invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.getAllocatorClass:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadSplitLiteral:(Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
        43: .line 2563
            goto 45
        44: .line 2564
      StackMap locals:
      StackMap stack:
            aload 9 /* oc */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.makeObject:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        45: .line 2570
      StackMap locals:
      StackMap stack:
            iload 8 /* restOfProperty */
            ifeq 48
        46: .line 2571
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            astore 10 /* ci */
        start local 10 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
        47: .line 2572
            aload 10 /* ci */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getStackSize:()I
            aload 9 /* oc */
            invokevirtual jdk.nashorn.internal.codegen.ObjectCreator.getMap:()Ljdk/nashorn/internal/runtime/PropertyMap;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.setObjectLiteralMap:(ILjdk/nashorn/internal/runtime/PropertyMap;)V
        end local 10 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
        48: .line 2575
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        49: .line 2576
            aload 7 /* protoNode */
            ifnull 54
        50: .line 2577
            aload 0 /* this */
            aload 7 /* protoNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        51: .line 2579
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        52: .line 2580
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_PROTO_FROM_LITERAL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        53: .line 2581
            goto 55
        54: .line 2582
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_GLOBAL_OBJECT_PROTO:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        55: .line 2585
      StackMap locals:
      StackMap stack:
            aload 4 /* specialProperties */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 80
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator top java.util.Iterator
      StackMap stack:
        56: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.PropertyNode
            astore 10 /* propertyNode */
        start local 10 // jdk.nashorn.internal.ir.PropertyNode propertyNode
        57: .line 2587
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        58: .line 2589
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.isComputed:()Z
            ifeq 62
        59: .line 2590
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 60
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKeyName:()Ljava/lang/String;
            ifnull 60
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        60: .line 2591
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator jdk.nashorn.internal.ir.PropertyNode java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        61: .line 2592
            goto 63
        62: .line 2593
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getKey:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadKey:(Ljava/lang/Object;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        63: .line 2596
      StackMap locals:
      StackMap stack:
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
            ifnull 68
        64: .line 2597
            aload 0 /* this */
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getValue:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        65: .line 2598
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        66: .line 2599
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.GENERIC_SET:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        67: .line 2600
            goto 80
        68: .line 2601
      StackMap locals:
      StackMap stack:
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getGetter:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 12 /* getter */
        start local 12 // jdk.nashorn.internal.ir.FunctionNode getter
        69: .line 2602
            aload 10 /* propertyNode */
            invokevirtual jdk.nashorn.internal.ir.PropertyNode.getSetter:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 13 /* setter */
        start local 13 // jdk.nashorn.internal.ir.FunctionNode setter
        70: .line 2604
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 71
            aload 12 /* getter */
            ifnonnull 71
            aload 13 /* setter */
            ifnonnull 71
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        71: .line 2606
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.FunctionNode
      StackMap stack:
            aload 12 /* getter */
            ifnonnull 74
        72: .line 2607
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        73: .line 2608
            goto 75
        74: .line 2609
      StackMap locals:
      StackMap stack:
            aload 12 /* getter */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        75: .line 2612
      StackMap locals:
      StackMap stack:
            aload 13 /* setter */
            ifnonnull 78
        76: .line 2613
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        77: .line 2614
            goto 79
        78: .line 2615
      StackMap locals:
      StackMap stack:
            aload 13 /* setter */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        79: .line 2618
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_USER_ACCESSORS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 13 // jdk.nashorn.internal.ir.FunctionNode setter
        end local 12 // jdk.nashorn.internal.ir.FunctionNode getter
        end local 10 // jdk.nashorn.internal.ir.PropertyNode propertyNode
        80: .line 2585
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.ObjectNode java.util.List java.util.List java.util.List int java.util.List jdk.nashorn.internal.ir.Expression int jdk.nashorn.internal.codegen.ObjectCreator top java.util.Iterator
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 56
        81: .line 2621
            return
        end local 9 // jdk.nashorn.internal.codegen.ObjectCreator oc
        end local 8 // boolean restOfProperty
        end local 7 // jdk.nashorn.internal.ir.Expression protoNode
        end local 6 // java.util.List ranges
        end local 5 // int ccp
        end local 4 // java.util.List specialProperties
        end local 3 // java.util.List tuples
        end local 2 // java.util.List elements
        end local 1 // jdk.nashorn.internal.ir.ObjectNode objectNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   82     0                  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   82     1            objectNode  Ljdk/nashorn/internal/ir/ObjectNode;
            1   82     2              elements  Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
            2   82     3                tuples  Ljava/util/List<Ljdk/nashorn/internal/codegen/MapTuple<Ljdk/nashorn/internal/ir/Expression;>;>;
            3   82     4     specialProperties  Ljava/util/List<Ljdk/nashorn/internal/ir/PropertyNode;>;
            4   82     5                   ccp  I
            5   82     6                ranges  Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
            6   82     7             protoNode  Ljdk/nashorn/internal/ir/Expression;
            7   82     8        restOfProperty  Z
            9   35     9          propertyNode  Ljdk/nashorn/internal/ir/PropertyNode;
           10   35    11                 value  Ljdk/nashorn/internal/ir/Expression;
           11   35    12                   key  Ljava/lang/String;
           14   35    13  isComputedOrAccessor  Z
           17   35    14                symbol  Ljdk/nashorn/internal/ir/Symbol;
           34   35    15             valueType  Ljava/lang/Class<*>;
           38   39     9                    oc  Ljdk/nashorn/internal/codegen/ObjectCreator<*>;
           40   82     9                    oc  Ljdk/nashorn/internal/codegen/ObjectCreator<*>;
           47   48    10                    ci  Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
           57   80    10          propertyNode  Ljdk/nashorn/internal/ir/PropertyNode;
           69   80    12                getter  Ljdk/nashorn/internal/ir/FunctionNode;
           70   80    13                setter  Ljdk/nashorn/internal/ir/FunctionNode;
    MethodParameters:
            Name  Flags
      objectNode  final

  public boolean enterReturnNode(jdk.nashorn.internal.ir.ReturnNode);
    descriptor: (Ljdk/nashorn/internal/ir/ReturnNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=4, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ReturnNode returnNode
         0: .line 2625
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 2626
            iconst_0
            ireturn
         2: .line 2628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* returnNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 2630
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getReturnType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 2 /* returnType */
        start local 2 // jdk.nashorn.internal.codegen.types.Type returnType
         4: .line 2632
            aload 1 /* returnNode */
            invokevirtual jdk.nashorn.internal.ir.ReturnNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 3 /* expression */
        start local 3 // jdk.nashorn.internal.ir.Expression expression
         5: .line 2633
            aload 3 /* expression */
            ifnull 8
         6: .line 2634
            aload 0 /* this */
            aload 3 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         7: .line 2635
            goto 9
         8: .line 2636
      StackMap locals: jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* returnType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 2639
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* returnType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:(Ljdk/nashorn/internal/codegen/types/Type;)V
        10: .line 2641
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.ir.Expression expression
        end local 2 // jdk.nashorn.internal.codegen.types.Type returnType
        end local 1 // jdk.nashorn.internal.ir.ReturnNode returnNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   11     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   11     1  returnNode  Ljdk/nashorn/internal/ir/ReturnNode;
            4   11     2  returnType  Ljdk/nashorn/internal/codegen/types/Type;
            5   11     3  expression  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
            Name  Flags
      returnNode  final

  private boolean undefinedCheck(jdk.nashorn.internal.ir.RuntimeNode, java.util.List<jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=13, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        start local 2 // java.util.List args
         0: .line 2645
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            astore 3 /* request */
        start local 3 // jdk.nashorn.internal.ir.RuntimeNode$Request request
         1: .line 2647
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isUndefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 3
         2: .line 2648
            iconst_0
            ireturn
         3: .line 2651
      StackMap locals: jdk.nashorn.internal.ir.RuntimeNode$Request
      StackMap stack:
            aload 2 /* args */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 4 /* lhs */
        start local 4 // jdk.nashorn.internal.ir.Expression lhs
         4: .line 2652
            aload 2 /* args */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 5 /* rhs */
        start local 5 // jdk.nashorn.internal.ir.Expression rhs
         5: .line 2654
            aload 4 /* lhs */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 6
            aload 4 /* lhs */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            goto 7
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression
      StackMap stack:
         6: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Symbol
         7: astore 6 /* lhsSymbol */
        start local 6 // jdk.nashorn.internal.ir.Symbol lhsSymbol
         8: .line 2655
            aload 5 /* rhs */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 9
            aload 5 /* rhs */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            goto 10
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
         9: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Symbol
        10: astore 7 /* rhsSymbol */
        start local 7 // jdk.nashorn.internal.ir.Symbol rhsSymbol
        11: .line 2657
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 12
            aload 6 /* lhsSymbol */
            ifnonnull 12
            aload 7 /* rhsSymbol */
            ifnonnull 12
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        12: .line 2660
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            aload 6 /* lhsSymbol */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isUndefinedSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifeq 15
        13: .line 2661
            aload 6 /* lhsSymbol */
            astore 8 /* undefinedSymbol */
        start local 8 // jdk.nashorn.internal.ir.Symbol undefinedSymbol
        14: .line 2662
            goto 17
        end local 8 // jdk.nashorn.internal.ir.Symbol undefinedSymbol
        15: .line 2663
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 16
            aload 7 /* rhsSymbol */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isUndefinedSymbol:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifne 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 2664
      StackMap locals:
      StackMap stack:
            aload 7 /* rhsSymbol */
            astore 8 /* undefinedSymbol */
        start local 8 // jdk.nashorn.internal.ir.Symbol undefinedSymbol
        17: .line 2667
      StackMap locals: jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 18
            aload 8 /* undefinedSymbol */
            ifnonnull 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 2668
      StackMap locals:
      StackMap stack:
            aload 8 /* undefinedSymbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 20
        19: .line 2669
            iconst_0
            ireturn
        20: .line 2672
      StackMap locals:
      StackMap stack:
            aload 6 /* lhsSymbol */
            aload 8 /* undefinedSymbol */
            if_acmpne 22
            aload 4 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
            ifeq 22
        21: .line 2674
            iconst_0
            ireturn
        22: .line 2677
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lhs */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.containsOptimisticExpression:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 24
        23: .line 2681
            iconst_0
            ireturn
        24: .line 2686
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            ldc "undefined"
            invokevirtual jdk.nashorn.internal.codegen.Compiler.isGlobalSymbol:(Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)Z
            ifne 26
        25: .line 2687
            iconst_0
            ireturn
        26: .line 2690
      StackMap locals:
      StackMap stack:
            aload 3 /* request */
            getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.IS_UNDEFINED:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            if_acmpne 27
            iconst_1
            goto 28
      StackMap locals:
      StackMap stack:
        27: iconst_0
      StackMap locals:
      StackMap stack: int
        28: istore 9 /* isUndefinedCheck */
        start local 9 // boolean isUndefinedCheck
        29: .line 2691
            aload 8 /* undefinedSymbol */
            aload 6 /* lhsSymbol */
            if_acmpne 30
            aload 5 /* rhs */
            goto 31
      StackMap locals: int
      StackMap stack:
        30: aload 4 /* lhs */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.ir.Expression
        31: astore 10 /* expr */
        start local 10 // jdk.nashorn.internal.ir.Expression expr
        32: .line 2692
            aload 10 /* expr */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
            ifeq 38
        33: .line 2693
            aload 0 /* this */
            aload 10 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        34: .line 2694
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 9 /* isUndefinedCheck */
            ifeq 35
            iconst_0
            goto 36
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
        35: iconst_1
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter int
        36: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        37: .line 2695
            goto 50
        38: .line 2696
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "ud_check_true"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 11 /* checkTrue */
        start local 11 // jdk.nashorn.internal.codegen.Label checkTrue
        39: .line 2697
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "end"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 12 /* end */
        start local 12 // jdk.nashorn.internal.codegen.Label end
        40: .line 2698
            aload 0 /* this */
            aload 10 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        41: .line 2699
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        42: .line 2700
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* checkTrue */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
        43: .line 2701
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 9 /* isUndefinedCheck */
            ifeq 44
            iconst_0
            goto 45
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
        44: iconst_1
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.ir.Symbol int jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter int
        45: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        46: .line 2702
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 12 /* end */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        47: .line 2703
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* checkTrue */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        48: .line 2704
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 9 /* isUndefinedCheck */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        49: .line 2705
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 12 /* end */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 12 // jdk.nashorn.internal.codegen.Label end
        end local 11 // jdk.nashorn.internal.codegen.Label checkTrue
        50: .line 2708
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 10 // jdk.nashorn.internal.ir.Expression expr
        end local 9 // boolean isUndefinedCheck
        end local 8 // jdk.nashorn.internal.ir.Symbol undefinedSymbol
        end local 7 // jdk.nashorn.internal.ir.Symbol rhsSymbol
        end local 6 // jdk.nashorn.internal.ir.Symbol lhsSymbol
        end local 5 // jdk.nashorn.internal.ir.Expression rhs
        end local 4 // jdk.nashorn.internal.ir.Expression lhs
        end local 3 // jdk.nashorn.internal.ir.RuntimeNode$Request request
        end local 2 // java.util.List args
        end local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   51     0              this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   51     1       runtimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
            0   51     2              args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            1   51     3           request  Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            4   51     4               lhs  Ljdk/nashorn/internal/ir/Expression;
            5   51     5               rhs  Ljdk/nashorn/internal/ir/Expression;
            8   51     6         lhsSymbol  Ljdk/nashorn/internal/ir/Symbol;
           11   51     7         rhsSymbol  Ljdk/nashorn/internal/ir/Symbol;
           14   15     8   undefinedSymbol  Ljdk/nashorn/internal/ir/Symbol;
           17   51     8   undefinedSymbol  Ljdk/nashorn/internal/ir/Symbol;
           29   51     9  isUndefinedCheck  Z
           32   51    10              expr  Ljdk/nashorn/internal/ir/Expression;
           39   50    11         checkTrue  Ljdk/nashorn/internal/codegen/Label;
           40   50    12               end  Ljdk/nashorn/internal/codegen/Label;
    Signature: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Z
    MethodParameters:
             Name  Flags
      runtimeNode  final
      args         final

  private static boolean isUndefinedSymbol(jdk.nashorn.internal.ir.Symbol);
    descriptor: (Ljdk/nashorn/internal/ir/Symbol;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.Symbol symbol
         0: .line 2712
            aload 0 /* symbol */
            ifnull 1
            ldc "undefined"
            aload 0 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.Symbol symbol
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0  symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
        Name  Flags
      symbol  final

  private static boolean isNullLiteral(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.Node node
         0: .line 2716
            aload 0 /* node */
            instanceof jdk.nashorn.internal.ir.LiteralNode
            ifeq 1
            aload 0 /* node */
            checkcast jdk.nashorn.internal.ir.LiteralNode
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.isNull:()Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.Node node
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  node  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  private boolean nullCheck(jdk.nashorn.internal.ir.RuntimeNode, java.util.List<jdk.nashorn.internal.ir.Expression>);
    descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=10, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        start local 2 // java.util.List args
         0: .line 2720
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            astore 3 /* request */
        start local 3 // jdk.nashorn.internal.ir.RuntimeNode$Request request
         1: .line 2722
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isEQ:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 3
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isNE:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 3
         2: .line 2723
            iconst_0
            ireturn
         3: .line 2726
      StackMap locals: jdk.nashorn.internal.ir.RuntimeNode$Request
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 4
            aload 2 /* args */
            invokeinterface java.util.List.size:()I
            iconst_2
            if_icmpeq 4
            new java.lang.AssertionError
            dup
            ldc "EQ or NE or TYPEOF need two args"
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         4: .line 2728
      StackMap locals:
      StackMap stack:
            aload 2 /* args */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 4 /* lhs */
        start local 4 // jdk.nashorn.internal.ir.Expression lhs
         5: .line 2729
            aload 2 /* args */
            iconst_1
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 5 /* rhs */
        start local 5 // jdk.nashorn.internal.ir.Expression rhs
         6: .line 2731
            aload 4 /* lhs */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isNullLiteral:(Ljdk/nashorn/internal/ir/Node;)Z
            ifeq 10
         7: .line 2732
            aload 4 /* lhs */
            astore 6 /* tmp */
        start local 6 // jdk.nashorn.internal.ir.Expression tmp
         8: .line 2733
            aload 5 /* rhs */
            astore 4 /* lhs */
         9: .line 2734
            aload 6 /* tmp */
            astore 5 /* rhs */
        end local 6 // jdk.nashorn.internal.ir.Expression tmp
        10: .line 2737
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression
      StackMap stack:
            aload 5 /* rhs */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isNullLiteral:(Ljdk/nashorn/internal/ir/Node;)Z
            ifne 12
        11: .line 2738
            iconst_0
            ireturn
        12: .line 2741
      StackMap locals:
      StackMap stack:
            aload 4 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifne 14
        13: .line 2742
            iconst_0
            ireturn
        14: .line 2745
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* lhs */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.containsOptimisticExpression:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 16
        15: .line 2754
            iconst_0
            ireturn
        16: .line 2759
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "trueLabel"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* trueLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label trueLabel
        17: .line 2760
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "falseLabel"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* falseLabel */
        start local 7 // jdk.nashorn.internal.codegen.Label falseLabel
        18: .line 2761
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "end"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 8 /* endLabel */
        start local 8 // jdk.nashorn.internal.codegen.Label endLabel
        19: .line 2763
            aload 0 /* this */
            aload 4 /* lhs */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 2765
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 24
        21: .line 2766
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 2767
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "pop"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 9 /* popLabel */
        start local 9 // jdk.nashorn.internal.codegen.Label popLabel
        23: .line 2768
            goto 25
        end local 9 // jdk.nashorn.internal.codegen.Label popLabel
        24: .line 2769
      StackMap locals: jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aconst_null
            astore 9 /* popLabel */
        start local 9 // jdk.nashorn.internal.codegen.Label popLabel
        25: .line 2772
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isEQ:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifeq 42
        26: .line 2773
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 27
            aload 9 /* popLabel */
            goto 28
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
        27: aload 6 /* trueLabel */
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label
        28: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnull:(Ljdk/nashorn/internal/codegen/Label;)V
        29: .line 2774
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 32
        30: .line 2775
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        31: .line 2776
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
        32: .line 2778
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* falseLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        33: .line 2779
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        34: .line 2780
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* endLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        35: .line 2781
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 38
        36: .line 2782
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* popLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        37: .line 2783
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        38: .line 2785
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        39: .line 2786
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        40: .line 2787
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* endLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        41: .line 2788
            goto 58
      StackMap locals:
      StackMap stack:
        42: aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isNE:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifeq 58
        43: .line 2789
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 44
            aload 9 /* popLabel */
            goto 45
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter
        44: aload 7 /* falseLabel */
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode$Request jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.codegen.Label
        45: invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifnull:(Ljdk/nashorn/internal/codegen/Label;)V
        46: .line 2790
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 49
        47: .line 2791
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        48: .line 2792
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* falseLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.if_acmpeq:(Ljdk/nashorn/internal/codegen/Label;)V
        49: .line 2794
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        50: .line 2795
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        51: .line 2796
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* endLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        52: .line 2797
            aload 3 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isStrict:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifne 55
        53: .line 2798
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* popLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        54: .line 2799
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        55: .line 2801
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* falseLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        56: .line 2802
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        57: .line 2803
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* endLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        58: .line 2806
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 59
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isBoolean:()Z
            ifne 59
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        59: .line 2807
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        60: .line 2809
            iconst_1
            ireturn
        end local 9 // jdk.nashorn.internal.codegen.Label popLabel
        end local 8 // jdk.nashorn.internal.codegen.Label endLabel
        end local 7 // jdk.nashorn.internal.codegen.Label falseLabel
        end local 6 // jdk.nashorn.internal.codegen.Label trueLabel
        end local 5 // jdk.nashorn.internal.ir.Expression rhs
        end local 4 // jdk.nashorn.internal.ir.Expression lhs
        end local 3 // jdk.nashorn.internal.ir.RuntimeNode$Request request
        end local 2 // java.util.List args
        end local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   61     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   61     1  runtimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
            0   61     2         args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            1   61     3      request  Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            5   61     4          lhs  Ljdk/nashorn/internal/ir/Expression;
            6   61     5          rhs  Ljdk/nashorn/internal/ir/Expression;
            8   10     6          tmp  Ljdk/nashorn/internal/ir/Expression;
           17   61     6    trueLabel  Ljdk/nashorn/internal/codegen/Label;
           18   61     7   falseLabel  Ljdk/nashorn/internal/codegen/Label;
           19   61     8     endLabel  Ljdk/nashorn/internal/codegen/Label;
           23   24     9     popLabel  Ljdk/nashorn/internal/codegen/Label;
           25   61     9     popLabel  Ljdk/nashorn/internal/codegen/Label;
    Signature: (Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;)Z
    MethodParameters:
             Name  Flags
      runtimeNode  final
      args         final

  private boolean containsOptimisticExpression(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression rootExpr
         0: .line 2820
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
            ifne 2
         1: .line 2821
            iconst_0
            ireturn
         2: .line 2823
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$11
            dup
            aload 0 /* this */
            aload 1 /* rootExpr */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$11.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Expression;)V
         3: .line 2843
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$11.get:()Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
         4: .line 2823
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Expression rootExpr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    5     0      this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    5     1  rootExpr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
          Name  Flags
      rootExpr  final

  private void loadRuntimeNode(jdk.nashorn.internal.ir.RuntimeNode);
    descriptor: (Ljdk/nashorn/internal/ir/RuntimeNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
         0: .line 2847
            new java.util.ArrayList
            dup
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getArgs:()Ljava/util/List;
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* args */
        start local 2 // java.util.List args
         1: .line 2848
            aload 0 /* this */
            aload 1 /* runtimeNode */
            aload 2 /* args */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.nullCheck:(Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
            ifeq 3
         2: .line 2849
            return
         3: .line 2850
      StackMap locals: java.util.List
      StackMap stack:
            aload 0 /* this */
            aload 1 /* runtimeNode */
            aload 2 /* args */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.undefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode;Ljava/util/List;)Z
            ifeq 5
         4: .line 2851
            return
         5: .line 2855
      StackMap locals:
      StackMap stack:
            aload 1 /* runtimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            astore 4 /* request */
        start local 4 // jdk.nashorn.internal.ir.RuntimeNode$Request request
         6: .line 2856
            aload 4 /* request */
            invokestatic jdk.nashorn.internal.ir.RuntimeNode$Request.isUndefinedCheck:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Z
            ifeq 11
         7: .line 2857
            aload 1 /* runtimeNode */
            aload 4 /* request */
            getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.IS_UNDEFINED:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            if_acmpne 8
            getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.EQ_STRICT:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            goto 9
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List top jdk.nashorn.internal.ir.RuntimeNode$Request
      StackMap stack: jdk.nashorn.internal.ir.RuntimeNode
         8: getstatic jdk.nashorn.internal.ir.RuntimeNode$Request.NE_STRICT:Ljdk/nashorn/internal/ir/RuntimeNode$Request;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List top jdk.nashorn.internal.ir.RuntimeNode$Request
      StackMap stack: jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request
         9: invokevirtual jdk.nashorn.internal.ir.RuntimeNode.setRequest:(Ljdk/nashorn/internal/ir/RuntimeNode$Request;)Ljdk/nashorn/internal/ir/RuntimeNode;
            astore 3 /* newRuntimeNode */
        start local 3 // jdk.nashorn.internal.ir.RuntimeNode newRuntimeNode
        10: .line 2858
            goto 12
        end local 3 // jdk.nashorn.internal.ir.RuntimeNode newRuntimeNode
        11: .line 2859
      StackMap locals:
      StackMap stack:
            aload 1 /* runtimeNode */
            astore 3 /* newRuntimeNode */
        start local 3 // jdk.nashorn.internal.ir.RuntimeNode newRuntimeNode
        12: .line 2862
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request
      StackMap stack:
            aload 2 /* args */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 6
            goto 15
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.RuntimeNode java.util.List jdk.nashorn.internal.ir.RuntimeNode jdk.nashorn.internal.ir.RuntimeNode$Request top java.util.Iterator
      StackMap stack:
        13: aload 6
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Expression
            astore 5 /* arg */
        start local 5 // jdk.nashorn.internal.ir.Expression arg
        14: .line 2863
            aload 0 /* this */
            aload 5 /* arg */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.OBJECT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 5 // jdk.nashorn.internal.ir.Expression arg
        15: .line 2862
      StackMap locals:
      StackMap stack:
            aload 6
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 13
        16: .line 2866
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
        17: .line 2867
            ldc Ljdk/nashorn/internal/runtime/ScriptRuntime;
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.className:(Ljava/lang/Class;)Ljava/lang/String;
        18: .line 2868
            aload 3 /* newRuntimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getRequest:()Ljdk/nashorn/internal/ir/RuntimeNode$Request;
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode$Request.toString:()Ljava/lang/String;
        19: .line 2869
            new jdk.nashorn.internal.codegen.FunctionSignature
            dup
        20: .line 2870
            iconst_0
        21: .line 2871
            iconst_0
        22: .line 2872
            aload 3 /* newRuntimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
        23: .line 2873
            aload 2 /* args */
            invokeinterface java.util.List.size:()I
        24: .line 2869
            invokespecial jdk.nashorn.internal.codegen.FunctionSignature.<init>:(ZZLjdk/nashorn/internal/codegen/types/Type;I)V
        25: .line 2873
            invokevirtual jdk.nashorn.internal.codegen.FunctionSignature.toString:()Ljava/lang/String;
        26: .line 2866
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        27: .line 2875
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* newRuntimeNode */
            invokevirtual jdk.nashorn.internal.ir.RuntimeNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        28: .line 2876
            return
        end local 4 // jdk.nashorn.internal.ir.RuntimeNode$Request request
        end local 3 // jdk.nashorn.internal.ir.RuntimeNode newRuntimeNode
        end local 2 // java.util.List args
        end local 1 // jdk.nashorn.internal.ir.RuntimeNode runtimeNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   29     0            this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   29     1     runtimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
            1   29     2            args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
           10   11     3  newRuntimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
           12   29     3  newRuntimeNode  Ljdk/nashorn/internal/ir/RuntimeNode;
            6   29     4         request  Ljdk/nashorn/internal/ir/RuntimeNode$Request;
           14   15     5             arg  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
             Name  Flags
      runtimeNode  final

  private void defineCommonSplitMethodParameters();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 2879
            aload 0 /* this */
            iconst_0
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
         1: .line 2880
            aload 0 /* this */
            iconst_1
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
         2: .line 2881
            aload 0 /* this */
            iconst_2
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/CompilerConstants;)V
         3: .line 2882
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private void defineSplitMethodParameter(int, jdk.nashorn.internal.codegen.CompilerConstants);
    descriptor: (ILjdk/nashorn/internal/codegen/CompilerConstants;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int slot
        start local 2 // jdk.nashorn.internal.codegen.CompilerConstants cc
         0: .line 2885
            aload 0 /* this */
            iload 1 /* slot */
            aload 2 /* cc */
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.type:()Ljava/lang/Class;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/types/Type;)V
         1: .line 2886
            return
        end local 2 // jdk.nashorn.internal.codegen.CompilerConstants cc
        end local 1 // int slot
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  slot  I
            0    2     2    cc  Ljdk/nashorn/internal/codegen/CompilerConstants;
    MethodParameters:
      Name  Flags
      slot  final
      cc    final

  private void defineSplitMethodParameter(int, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (ILjdk/nashorn/internal/codegen/types/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int slot
        start local 2 // jdk.nashorn.internal.codegen.types.Type type
         0: .line 2889
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 1 /* slot */
            iload 1 /* slot */
            aload 2 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
         1: .line 2890
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* type */
            iload 1 /* slot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;I)V
         2: .line 2891
            return
        end local 2 // jdk.nashorn.internal.codegen.types.Type type
        end local 1 // int slot
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  slot  I
            0    3     2  type  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      slot  final
      type  final

  private void loadSplitLiteral(jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator, java.util.List<jdk.nashorn.internal.ir.Splittable$SplitRange>, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List;Ljdk/nashorn/internal/codegen/types/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=13, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator creator
        start local 2 // java.util.List ranges
        start local 3 // jdk.nashorn.internal.codegen.types.Type literalType
         0: .line 2894
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* ranges */
            ifnonnull 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 2897
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            astore 4 /* savedMethod */
        start local 4 // jdk.nashorn.internal.codegen.MethodEmitter savedMethod
         2: .line 2898
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            astore 5 /* currentFunction */
        start local 5 // jdk.nashorn.internal.ir.FunctionNode currentFunction
         3: .line 2900
            aload 2 /* ranges */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 7
            goto 30
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode top java.util.Iterator
      StackMap stack:
         4: aload 7
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Splittable$SplitRange
            astore 6 /* splitRange */
        start local 6 // jdk.nashorn.internal.ir.Splittable$SplitRange splitRange
         5: .line 2901
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 6 /* splitRange */
            invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
         6: .line 2903
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            ifnonnull 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 2904
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Splittable$SplitRange java.util.Iterator
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getUnitClassName:()Ljava/lang/String;
            astore 8 /* className */
        start local 8 // java.lang.String className
         8: .line 2905
            aload 5 /* currentFunction */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SPLIT_PREFIX:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.uniqueName:(Ljava/lang/String;)Ljava/lang/String;
            astore 9 /* name */
        start local 9 // java.lang.String name
         9: .line 2906
            aload 3 /* literalType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            astore 10 /* clazz */
        start local 10 // java.lang.Class clazz
        10: .line 2907
            aload 10 /* clazz */
            iconst_4
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aastore
            dup
            iconst_3
            aload 10 /* clazz */
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            astore 11 /* signature */
        start local 11 // java.lang.String signature
        11: .line 2909
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PUBLIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            aload 9 /* name */
            aload 11 /* signature */
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.pushMethodEmitter:(Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        12: .line 2911
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* currentFunction */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setFunctionNode:(Ljdk/nashorn/internal/ir/FunctionNode;)V
        13: .line 2912
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
        14: .line 2914
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineCommonSplitMethodParameters:()V
        15: .line 2915
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SPLIT_ARRAY_ARG:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.slot:()I
            aload 3 /* literalType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.defineSplitMethodParameter:(ILjdk/nashorn/internal/codegen/types/Type;)V
        16: .line 2919
            aload 0 /* this */
            aload 5 /* currentFunction */
            iconst_3
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.fixScopeSlot:(Ljdk/nashorn/internal/ir/FunctionNode;I)I
            istore 12 /* literalSlot */
        start local 12 // int literalSlot
        17: .line 2921
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.enterSplitLiteral:()V
        18: .line 2923
            aload 1 /* creator */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* literalType */
            iload 12 /* literalSlot */
            aload 6 /* splitRange */
            invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getLow:()I
            aload 6 /* splitRange */
            invokevirtual jdk.nashorn.internal.ir.Splittable$SplitRange.getHigh:()I
            invokeinterface jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator.populateRange:(Ljdk/nashorn/internal/codegen/MethodEmitter;Ljdk/nashorn/internal/codegen/types/Type;III)V
        19: .line 2925
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
        20: .line 2926
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.exitSplitLiteral:()V
        21: .line 2927
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
        22: .line 2928
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.releaseSlots:()V
        23: .line 2929
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popMethodEmitter:()V
        24: .line 2931
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 25
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* savedMethod */
            if_acmpeq 25
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        25: .line 2932
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode jdk.nashorn.internal.ir.Splittable$SplitRange java.util.Iterator java.lang.String java.lang.String java.lang.Class java.lang.String int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CALLEE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        26: .line 2933
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.THIS:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        27: .line 2934
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.swap:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        28: .line 2935
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* className */
            aload 9 /* name */
            aload 11 /* signature */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        29: .line 2937
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popCompileUnit:(Ljdk/nashorn/internal/codegen/CompileUnit;)Ljdk/nashorn/internal/codegen/CompileUnit;
            putfield jdk.nashorn.internal.codegen.CodeGenerator.unit:Ljdk/nashorn/internal/codegen/CompileUnit;
        end local 12 // int literalSlot
        end local 11 // java.lang.String signature
        end local 10 // java.lang.Class clazz
        end local 9 // java.lang.String name
        end local 8 // java.lang.String className
        end local 6 // jdk.nashorn.internal.ir.Splittable$SplitRange splitRange
        30: .line 2900
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator java.util.List jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.MethodEmitter jdk.nashorn.internal.ir.FunctionNode top java.util.Iterator
      StackMap stack:
            aload 7
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 4
        31: .line 2939
            return
        end local 5 // jdk.nashorn.internal.ir.FunctionNode currentFunction
        end local 4 // jdk.nashorn.internal.codegen.MethodEmitter savedMethod
        end local 3 // jdk.nashorn.internal.codegen.types.Type literalType
        end local 2 // java.util.List ranges
        end local 1 // jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator creator
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   32     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   32     1          creator  Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;
            0   32     2           ranges  Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;
            0   32     3      literalType  Ljdk/nashorn/internal/codegen/types/Type;
            2   32     4      savedMethod  Ljdk/nashorn/internal/codegen/MethodEmitter;
            3   32     5  currentFunction  Ljdk/nashorn/internal/ir/FunctionNode;
            5   30     6       splitRange  Ljdk/nashorn/internal/ir/Splittable$SplitRange;
            8   30     8        className  Ljava/lang/String;
            9   30     9             name  Ljava/lang/String;
           10   30    10            clazz  Ljava/lang/Class<*>;
           11   30    11        signature  Ljava/lang/String;
           17   30    12      literalSlot  I
    Signature: (Ljdk/nashorn/internal/codegen/CodeGenerator$SplitLiteralCreator;Ljava/util/List<Ljdk/nashorn/internal/ir/Splittable$SplitRange;>;Ljdk/nashorn/internal/codegen/types/Type;)V
    MethodParameters:
             Name  Flags
      creator      final
      ranges       final
      literalType  final

  private int fixScopeSlot(jdk.nashorn.internal.ir.FunctionNode, int);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;I)I
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=6, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        start local 2 // int extraSlot
         0: .line 2943
            aload 1 /* functionNode */
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.compilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/ir/Symbol;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
            istore 3 /* actualScopeSlot */
        start local 3 // int actualScopeSlot
         1: .line 2944
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.slot:()I
            istore 4 /* defaultScopeSlot */
        start local 4 // int defaultScopeSlot
         2: .line 2945
            iload 2 /* extraSlot */
            istore 5 /* newExtraSlot */
        start local 5 // int newExtraSlot
         3: .line 2946
            iload 3 /* actualScopeSlot */
            iload 4 /* defaultScopeSlot */
            if_icmpeq 13
         4: .line 2947
            iload 3 /* actualScopeSlot */
            iload 2 /* extraSlot */
            if_icmpne 10
         5: .line 2948
            iload 2 /* extraSlot */
            iconst_1
            iadd
            istore 5 /* newExtraSlot */
         6: .line 2949
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 5 /* newExtraSlot */
            iload 5 /* newExtraSlot */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
         7: .line 2950
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            iload 2 /* extraSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 2951
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            iload 5 /* newExtraSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;I)V
         9: .line 2952
            goto 11
        10: .line 2953
      StackMap locals: int int int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 3 /* actualScopeSlot */
            iload 3 /* actualScopeSlot */
            iconst_1
            iadd
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.defineBlockLocalVariable:(II)V
        11: .line 2955
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            iload 4 /* defaultScopeSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        12: .line 2956
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        13: .line 2958
      StackMap locals:
      StackMap stack:
            iload 5 /* newExtraSlot */
            ireturn
        end local 5 // int newExtraSlot
        end local 4 // int defaultScopeSlot
        end local 3 // int actualScopeSlot
        end local 2 // int extraSlot
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   14     0              this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   14     1      functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0   14     2         extraSlot  I
            1   14     3   actualScopeSlot  I
            2   14     4  defaultScopeSlot  I
            3   14     5      newExtraSlot  I
    MethodParameters:
              Name  Flags
      functionNode  final
      extraSlot     final

  public boolean enterSplitReturn(jdk.nashorn.internal.ir.SplitReturn);
    descriptor: (Ljdk/nashorn/internal/ir/SplitReturn;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.SplitReturn splitReturn
         0: .line 2963
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 2
         1: .line 2964
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getReturnType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
         2: .line 2966
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.SplitReturn splitReturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    3     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  splitReturn  Ljdk/nashorn/internal/ir/SplitReturn;
    MethodParameters:
             Name  Flags
      splitReturn  final

  public boolean enterSetSplitState(jdk.nashorn.internal.ir.SetSplitState);
    descriptor: (Ljdk/nashorn/internal/ir/SetSplitState;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.SetSplitState setSplitState
         0: .line 2971
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 2
         1: .line 2972
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* setSplitState */
            invokevirtual jdk.nashorn.internal.ir.SetSplitState.getState:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.setSplitState:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 2974
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.SetSplitState setSplitState
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    3     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  setSplitState  Ljdk/nashorn/internal/ir/SetSplitState;
    MethodParameters:
               Name  Flags
      setSplitState  final

  public boolean enterSwitchNode(jdk.nashorn.internal.ir.SwitchNode);
    descriptor: (Ljdk/nashorn/internal/ir/SwitchNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=22, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
         0: .line 2979
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 2980
            iconst_0
            ireturn
         2: .line 2982
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 2984
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* expression */
        start local 2 // jdk.nashorn.internal.ir.Expression expression
         4: .line 2985
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getCases:()Ljava/util/List;
            astore 3 /* cases */
        start local 3 // java.util.List cases
         5: .line 2987
            aload 3 /* cases */
            invokeinterface java.util.List.isEmpty:()Z
            ifeq 8
         6: .line 2989
            aload 0 /* this */
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         7: .line 2990
            iconst_0
            ireturn
         8: .line 2993
      StackMap locals: jdk.nashorn.internal.ir.Expression java.util.List
      StackMap stack:
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getDefaultCase:()Ljdk/nashorn/internal/ir/CaseNode;
            astore 4 /* defaultCase */
        start local 4 // jdk.nashorn.internal.ir.CaseNode defaultCase
         9: .line 2994
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 5 /* breakLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label breakLabel
        10: .line 2995
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
            istore 6 /* liveLocalsOnBreak */
        start local 6 // int liveLocalsOnBreak
        11: .line 2997
            aload 4 /* defaultCase */
            ifnull 17
            aload 3 /* cases */
            invokeinterface java.util.List.size:()I
            iconst_1
            if_icmpne 17
        12: .line 2999
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 13
            aload 3 /* cases */
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            aload 4 /* defaultCase */
            if_acmpeq 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 3000
      StackMap locals: jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        14: .line 3001
            aload 4 /* defaultCase */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        15: .line 3002
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            iload 6 /* liveLocalsOnBreak */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
        16: .line 3003
            iconst_0
            ireturn
        17: .line 3008
      StackMap locals:
      StackMap stack:
            aload 4 /* defaultCase */
            ifnull 18
            aload 4 /* defaultCase */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
            goto 19
      StackMap locals:
      StackMap stack:
        18: aload 5 /* breakLabel */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.Label
        19: astore 7 /* defaultLabel */
        start local 7 // jdk.nashorn.internal.codegen.Label defaultLabel
        20: .line 3009
            aload 1 /* switchNode */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            istore 8 /* hasSkipConversion */
        start local 8 // boolean hasSkipConversion
        21: .line 3011
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.isUniqueInteger:()Z
            ifeq 82
        22: .line 3013
            new java.util.TreeMap
            dup
            invokespecial java.util.TreeMap.<init>:()V
            astore 9 /* tree */
        start local 9 // java.util.TreeMap tree
        23: .line 3016
            aload 3 /* cases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 31
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap top java.util.Iterator
      StackMap stack:
        24: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CaseNode
            astore 10 /* caseNode */
        start local 10 // jdk.nashorn.internal.ir.CaseNode caseNode
        25: .line 3017
            aload 10 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            astore 12 /* test */
        start local 12 // jdk.nashorn.internal.ir.Node test
        26: .line 3019
            aload 12 /* test */
            ifnull 31
        27: .line 3020
            aload 12 /* test */
            checkcast jdk.nashorn.internal.ir.LiteralNode
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            astore 13 /* value */
        start local 13 // java.lang.Integer value
        28: .line 3021
            aload 10 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
            astore 14 /* entry */
        start local 14 // jdk.nashorn.internal.codegen.Label entry
        29: .line 3024
            aload 9 /* tree */
            aload 13 /* value */
            invokevirtual java.util.TreeMap.containsKey:(Ljava/lang/Object;)Z
            ifne 31
        30: .line 3025
            aload 9 /* tree */
            aload 13 /* value */
            aload 14 /* entry */
            invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 14 // jdk.nashorn.internal.codegen.Label entry
        end local 13 // java.lang.Integer value
        end local 12 // jdk.nashorn.internal.ir.Node test
        end local 10 // jdk.nashorn.internal.ir.CaseNode caseNode
        31: .line 3016
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 24
        32: .line 3031
            aload 9 /* tree */
            invokevirtual java.util.TreeMap.size:()I
            istore 10 /* size */
        start local 10 // int size
        33: .line 3032
            aload 9 /* tree */
            invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
            iconst_0
            anewarray java.lang.Integer
            invokeinterface java.util.Set.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.Integer[]
            astore 11 /* values */
        start local 11 // java.lang.Integer[] values
        34: .line 3033
            aload 9 /* tree */
            invokevirtual java.util.TreeMap.values:()Ljava/util/Collection;
            iconst_0
            anewarray jdk.nashorn.internal.codegen.Label
            invokeinterface java.util.Collection.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label[]
            astore 12 /* labels */
        start local 12 // jdk.nashorn.internal.codegen.Label[] labels
        35: .line 3036
            aload 11 /* values */
            iconst_0
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            istore 13 /* lo */
        start local 13 // int lo
        36: .line 3037
            aload 11 /* values */
            iload 10 /* size */
            iconst_1
            isub
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            istore 14 /* hi */
        start local 14 // int hi
        37: .line 3038
            iload 14 /* hi */
            i2l
            iload 13 /* lo */
            i2l
            lsub
            lconst_1
            ladd
            lstore 15 /* range */
        start local 15 // long range
        38: .line 3041
            ldc -2147483648
            istore 17 /* deflt */
        start local 17 // int deflt
        39: .line 3042
            aload 11 /* values */
            dup
            astore 21
            arraylength
            istore 20
            iconst_0
            istore 19
            goto 47
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int top int int java.lang.Integer[]
      StackMap stack:
        40: aload 21
            iload 19
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            istore 18 /* value */
        start local 18 // int value
        41: .line 3043
            iload 17 /* deflt */
            iload 18 /* value */
            if_icmpne 44
        42: .line 3044
            iinc 17 /* deflt */ 1
        43: .line 3045
            goto 46
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int int int int java.lang.Integer[]
      StackMap stack:
        44: iload 17 /* deflt */
            iload 18 /* value */
            if_icmpge 46
        45: .line 3046
            goto 48
        end local 18 // int value
        46: .line 3042
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int top int int java.lang.Integer[]
      StackMap stack:
            iinc 19 1
      StackMap locals:
      StackMap stack:
        47: iload 19
            iload 20
            if_icmplt 40
        48: .line 3051
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        49: .line 3052
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 18 /* type */
        start local 18 // jdk.nashorn.internal.codegen.types.Type type
        50: .line 3055
            aload 18 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isInteger:()Z
            ifne 56
        51: .line 3056
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 17 /* deflt */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        52: .line 3057
            aload 18 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            astore 19 /* exprClass */
        start local 19 // java.lang.Class exprClass
        53: .line 3058
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            ldc Ljdk/nashorn/internal/runtime/ScriptRuntime;
            ldc "switchTagAsInt"
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            aload 19 /* exprClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifeq 54
            aload 19 /* exprClass */
            goto 55
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int jdk.nashorn.internal.codegen.types.Type java.lang.Class
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter java.lang.Class java.lang.String java.lang.Class java.lang.Class[] java.lang.Class[] int
        54: ldc Ljava/lang/Object;
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int java.util.TreeMap int java.lang.Integer[] jdk.nashorn.internal.codegen.Label[] int int long int jdk.nashorn.internal.codegen.types.Type java.lang.Class
      StackMap stack: jdk.nashorn.internal.codegen.MethodEmitter java.lang.Class java.lang.String java.lang.Class java.lang.Class[] java.lang.Class[] int java.lang.Class
        55: aastore
            dup
            iconst_1
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.staticCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 19 // java.lang.Class exprClass
        56: .line 3061
      StackMap locals:
      StackMap stack:
            iload 8 /* hasSkipConversion */
            ifeq 59
        57: .line 3062
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 58
            aload 7 /* defaultLabel */
            aload 5 /* breakLabel */
            if_acmpeq 58
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        58: .line 3063
      StackMap locals:
      StackMap stack:
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "switch_skip"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* defaultLabel */
        59: .line 3067
      StackMap locals:
      StackMap stack:
            lload 15 /* range */
            lconst_1
            ladd
            iload 10 /* size */
            iconst_2
            imul
            i2l
            lcmp
            ifgt 70
            lload 15 /* range */
            ldc 2147483647
            lcmp
            ifgt 70
        60: .line 3068
            lload 15 /* range */
            l2i
            anewarray jdk.nashorn.internal.codegen.Label
            astore 19 /* table */
        start local 19 // jdk.nashorn.internal.codegen.Label[] table
        61: .line 3069
            aload 19 /* table */
            aload 7 /* defaultLabel */
            invokestatic java.util.Arrays.fill:([Ljava/lang/Object;Ljava/lang/Object;)V
        62: .line 3070
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        63: goto 67
        64: .line 3071
      StackMap locals: jdk.nashorn.internal.codegen.Label[] int
      StackMap stack:
            aload 11 /* values */
            iload 20 /* i */
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            istore 21 /* value */
        start local 21 // int value
        65: .line 3072
            aload 19 /* table */
            iload 21 /* value */
            iload 13 /* lo */
            isub
            aload 12 /* labels */
            iload 20 /* i */
            aaload
            aastore
        end local 21 // int value
        66: .line 3070
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        67: iload 20 /* i */
            iload 10 /* size */
            if_icmplt 64
        end local 20 // int i
        68: .line 3075
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 13 /* lo */
            iload 14 /* hi */
            aload 7 /* defaultLabel */
            aload 19 /* table */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.tableswitch:(IILjdk/nashorn/internal/codegen/Label;[Ljdk/nashorn/internal/codegen/Label;)V
        end local 19 // jdk.nashorn.internal.codegen.Label[] table
        69: .line 3076
            goto 77
        70: .line 3077
      StackMap locals:
      StackMap stack:
            iload 10 /* size */
            newarray 10
            astore 19 /* ints */
        start local 19 // int[] ints
        71: .line 3078
            iconst_0
            istore 20 /* i */
        start local 20 // int i
        72: goto 75
        73: .line 3079
      StackMap locals: int[] int
      StackMap stack:
            aload 19 /* ints */
            iload 20 /* i */
            aload 11 /* values */
            iload 20 /* i */
            aaload
            invokevirtual java.lang.Integer.intValue:()I
            iastore
        74: .line 3078
            iinc 20 /* i */ 1
      StackMap locals:
      StackMap stack:
        75: iload 20 /* i */
            iload 10 /* size */
            if_icmplt 73
        end local 20 // int i
        76: .line 3082
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* defaultLabel */
            aload 19 /* ints */
            aload 12 /* labels */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lookupswitch:(Ljdk/nashorn/internal/codegen/Label;[I[Ljdk/nashorn/internal/codegen/Label;)V
        end local 19 // int[] ints
        77: .line 3086
      StackMap locals:
      StackMap stack:
            iload 8 /* hasSkipConversion */
            ifeq 100
        78: .line 3087
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* defaultLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        79: .line 3088
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        80: .line 3089
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 18 // jdk.nashorn.internal.codegen.types.Type type
        end local 17 // int deflt
        end local 15 // long range
        end local 14 // int hi
        end local 13 // int lo
        end local 12 // jdk.nashorn.internal.codegen.Label[] labels
        end local 11 // java.lang.Integer[] values
        end local 10 // int size
        end local 9 // java.util.TreeMap tree
        81: .line 3091
            goto 100
        82: .line 3092
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.ir.SwitchNode.getTag:()Ljdk/nashorn/internal/ir/Symbol;
            astore 9 /* tagSymbol */
        start local 9 // jdk.nashorn.internal.ir.Symbol tagSymbol
        83: .line 3094
            aload 9 /* tagSymbol */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
            istore 10 /* tagSlot */
        start local 10 // int tagSlot
        84: .line 3095
            aload 0 /* this */
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        85: .line 3096
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* tagSymbol */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
        86: .line 3098
            aload 3 /* cases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 12
            goto 94
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Symbol int top java.util.Iterator
      StackMap stack:
        87: aload 12
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CaseNode
            astore 11 /* caseNode */
        start local 11 // jdk.nashorn.internal.ir.CaseNode caseNode
        88: .line 3099
            aload 11 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            astore 13 /* test */
        start local 13 // jdk.nashorn.internal.ir.Expression test
        89: .line 3101
            aload 13 /* test */
            ifnull 94
        90: .line 3102
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            iload 10 /* tagSlot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        91: .line 3103
            aload 0 /* this */
            aload 13 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        92: .line 3104
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.EQ_STRICT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        93: .line 3105
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 13 // jdk.nashorn.internal.ir.Expression test
        end local 11 // jdk.nashorn.internal.ir.CaseNode caseNode
        94: .line 3098
      StackMap locals:
      StackMap stack:
            aload 12
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 87
        95: .line 3109
            aload 4 /* defaultCase */
            ifnull 98
        96: .line 3110
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* defaultLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        97: .line 3111
            goto 100
        98: .line 3112
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Symbol int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* switchNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        99: .line 3113
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 10 // int tagSlot
        end local 9 // jdk.nashorn.internal.ir.Symbol tagSymbol
       100: .line 3118
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 101
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 101
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       101: .line 3120
      StackMap locals:
      StackMap stack:
            aload 3 /* cases */
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 10
            goto 113
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int top java.util.Iterator
      StackMap stack:
       102: aload 10
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CaseNode
            astore 9 /* caseNode */
        start local 9 // jdk.nashorn.internal.ir.CaseNode caseNode
       103: .line 3122
            aload 9 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            ifnull 107
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 107
       104: .line 3123
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "fallthrough"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 11 /* fallThroughLabel */
        start local 11 // jdk.nashorn.internal.codegen.Label fallThroughLabel
       105: .line 3124
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* fallThroughLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
       106: .line 3125
            goto 108
        end local 11 // jdk.nashorn.internal.codegen.Label fallThroughLabel
       107: .line 3126
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.CaseNode java.util.Iterator
      StackMap stack:
            aconst_null
            astore 11 /* fallThroughLabel */
        start local 11 // jdk.nashorn.internal.codegen.Label fallThroughLabel
       108: .line 3128
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getEntry:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
       109: .line 3129
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* caseNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
       110: .line 3130
            aload 11 /* fallThroughLabel */
            ifnull 112
       111: .line 3131
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* fallThroughLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
       112: .line 3133
      StackMap locals:
      StackMap stack:
            aload 9 /* caseNode */
            invokevirtual jdk.nashorn.internal.ir.CaseNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        end local 11 // jdk.nashorn.internal.codegen.Label fallThroughLabel
        end local 9 // jdk.nashorn.internal.ir.CaseNode caseNode
       113: .line 3120
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.SwitchNode jdk.nashorn.internal.ir.Expression java.util.List jdk.nashorn.internal.ir.CaseNode jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.codegen.Label int top java.util.Iterator
      StackMap stack:
            aload 10
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 102
       114: .line 3136
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* breakLabel */
            iload 6 /* liveLocalsOnBreak */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
       115: .line 3138
            iconst_0
            ireturn
        end local 8 // boolean hasSkipConversion
        end local 7 // jdk.nashorn.internal.codegen.Label defaultLabel
        end local 6 // int liveLocalsOnBreak
        end local 5 // jdk.nashorn.internal.codegen.Label breakLabel
        end local 4 // jdk.nashorn.internal.ir.CaseNode defaultCase
        end local 3 // java.util.List cases
        end local 2 // jdk.nashorn.internal.ir.Expression expression
        end local 1 // jdk.nashorn.internal.ir.SwitchNode switchNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0  116     0               this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0  116     1         switchNode  Ljdk/nashorn/internal/ir/SwitchNode;
            4  116     2         expression  Ljdk/nashorn/internal/ir/Expression;
            5  116     3              cases  Ljava/util/List<Ljdk/nashorn/internal/ir/CaseNode;>;
            9  116     4        defaultCase  Ljdk/nashorn/internal/ir/CaseNode;
           10  116     5         breakLabel  Ljdk/nashorn/internal/codegen/Label;
           11  116     6  liveLocalsOnBreak  I
           20  116     7       defaultLabel  Ljdk/nashorn/internal/codegen/Label;
           21  116     8  hasSkipConversion  Z
           23   81     9               tree  Ljava/util/TreeMap<Ljava/lang/Integer;Ljdk/nashorn/internal/codegen/Label;>;
           25   31    10           caseNode  Ljdk/nashorn/internal/ir/CaseNode;
           26   31    12               test  Ljdk/nashorn/internal/ir/Node;
           28   31    13              value  Ljava/lang/Integer;
           29   31    14              entry  Ljdk/nashorn/internal/codegen/Label;
           33   81    10               size  I
           34   81    11             values  [Ljava/lang/Integer;
           35   81    12             labels  [Ljdk/nashorn/internal/codegen/Label;
           36   81    13                 lo  I
           37   81    14                 hi  I
           38   81    15              range  J
           39   81    17              deflt  I
           41   46    18              value  I
           50   81    18               type  Ljdk/nashorn/internal/codegen/types/Type;
           53   56    19          exprClass  Ljava/lang/Class<*>;
           61   69    19              table  [Ljdk/nashorn/internal/codegen/Label;
           63   68    20                  i  I
           65   66    21              value  I
           71   77    19               ints  [I
           72   76    20                  i  I
           83  100     9          tagSymbol  Ljdk/nashorn/internal/ir/Symbol;
           84  100    10            tagSlot  I
           88   94    11           caseNode  Ljdk/nashorn/internal/ir/CaseNode;
           89   94    13               test  Ljdk/nashorn/internal/ir/Expression;
          103  113     9           caseNode  Ljdk/nashorn/internal/ir/CaseNode;
          105  107    11   fallThroughLabel  Ljdk/nashorn/internal/codegen/Label;
          108  113    11   fallThroughLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
            Name  Flags
      switchNode  final

  public boolean enterThrowNode(jdk.nashorn.internal.ir.ThrowNode);
    descriptor: (Ljdk/nashorn/internal/ir/ThrowNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.ThrowNode throwNode
         0: .line 3143
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 3144
            iconst_0
            ireturn
         2: .line 3146
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 3148
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.isSyntheticRethrow:()Z
            ifeq 11
         4: .line 3149
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         5: .line 3152
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 2 /* exceptionExpr */
        start local 2 // jdk.nashorn.internal.ir.IdentNode exceptionExpr
         6: .line 3153
            aload 2 /* exceptionExpr */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 3 /* exceptionSymbol */
        start local 3 // jdk.nashorn.internal.ir.Symbol exceptionSymbol
         7: .line 3154
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* exceptionSymbol */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 3155
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.checkcast:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 3156
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
        10: .line 3157
            iconst_0
            ireturn
        end local 3 // jdk.nashorn.internal.ir.Symbol exceptionSymbol
        end local 2 // jdk.nashorn.internal.ir.IdentNode exceptionExpr
        11: .line 3160
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCurrentSource:()Ljdk/nashorn/internal/runtime/Source;
            astore 2 /* source */
        start local 2 // jdk.nashorn.internal.runtime.Source source
        12: .line 3161
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 3 /* expression */
        start local 3 // jdk.nashorn.internal.ir.Expression expression
        13: .line 3162
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.position:()I
            istore 4 /* position */
        start local 4 // int position
        14: .line 3163
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.ir.ThrowNode.getLineNumber:()I
            istore 5 /* line */
        start local 5 // int line
        15: .line 3164
            aload 2 /* source */
            iload 4 /* position */
            invokevirtual jdk.nashorn.internal.runtime.Source.getColumn:(I)I
            istore 6 /* column */
        start local 6 // int column
        16: .line 3171
            aload 0 /* this */
            aload 3 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        17: .line 3173
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* source */
            invokevirtual jdk.nashorn.internal.runtime.Source.getName:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 3174
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 5 /* line */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 3175
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 6 /* column */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 3176
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ECMAException.CREATE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        21: .line 3178
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* throwNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        22: .line 3179
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
        23: .line 3181
            iconst_0
            ireturn
        end local 6 // int column
        end local 5 // int line
        end local 4 // int position
        end local 3 // jdk.nashorn.internal.ir.Expression expression
        end local 2 // jdk.nashorn.internal.runtime.Source source
        end local 1 // jdk.nashorn.internal.ir.ThrowNode throwNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot             Name  Signature
            0   24     0             this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   24     1        throwNode  Ljdk/nashorn/internal/ir/ThrowNode;
            6   11     2    exceptionExpr  Ljdk/nashorn/internal/ir/IdentNode;
            7   11     3  exceptionSymbol  Ljdk/nashorn/internal/ir/Symbol;
           12   24     2           source  Ljdk/nashorn/internal/runtime/Source;
           13   24     3       expression  Ljdk/nashorn/internal/ir/Expression;
           14   24     4         position  I
           15   24     5             line  I
           16   24     6           column  I
    MethodParameters:
           Name  Flags
      throwNode  final

  private jdk.nashorn.internal.runtime.Source getCurrentSource();
    descriptor: ()Ljdk/nashorn/internal/runtime/Source;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 3185
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getSource:()Ljdk/nashorn/internal/runtime/Source;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  public boolean enterTryNode(jdk.nashorn.internal.ir.TryNode);
    descriptor: (Ljdk/nashorn/internal/ir/TryNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=7, locals=20, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.TryNode tryNode
         0: .line 3190
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 3191
            iconst_0
            ireturn
         2: .line 3193
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 3195
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 2 /* body */
        start local 2 // jdk.nashorn.internal.ir.Block body
         4: .line 3196
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getCatchBlocks:()Ljava/util/List;
            astore 3 /* catchBlocks */
        start local 3 // java.util.List catchBlocks
         5: .line 3197
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getException:()Ljdk/nashorn/internal/ir/Symbol;
            astore 4 /* vmException */
        start local 4 // jdk.nashorn.internal.ir.Symbol vmException
         6: .line 3198
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "try"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 5 /* entry */
        start local 5 // jdk.nashorn.internal.codegen.Label entry
         7: .line 3199
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* recovery */
        start local 6 // jdk.nashorn.internal.codegen.Label recovery
         8: .line 3200
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "end_try"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* exit */
        start local 7 // jdk.nashorn.internal.codegen.Label exit
         9: .line 3201
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "skip"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 8 /* skip */
        start local 8 // jdk.nashorn.internal.codegen.Label skip
        10: .line 3203
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* recovery */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.canThrow:(Ljdk/nashorn/internal/codegen/Label;)V
        11: .line 3208
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* tryNode */
            aload 6 /* recovery */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeTry:(Ljdk/nashorn/internal/ir/TryNode;Ljdk/nashorn/internal/codegen/Label;)V
        12: .line 3209
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* entry */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        13: .line 3210
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            aload 6 /* recovery */
            invokeinterface java.util.Deque.push:(Ljava/lang/Object;)V
        14: .line 3212
            aload 2 /* body */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        15: .line 3213
            goto 20
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack: java.lang.Throwable
        16: astore 9
        17: .line 3214
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 18
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            aload 6 /* recovery */
            if_acmpeq 18
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        18: .line 3215
      StackMap locals: java.lang.Throwable
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            pop
        19: .line 3216
            aload 9
            athrow
        20: .line 3214
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 21
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            aload 6 /* recovery */
            if_acmpeq 21
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        21: .line 3215
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.pop:()Ljava/lang/Object;
            pop
        22: .line 3218
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* exit */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        23: .line 3219
            aload 7 /* exit */
            aload 5 /* entry */
            invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
            istore 9 /* bodyCanThrow */
        start local 9 // boolean bodyCanThrow
        24: .line 3220
            iload 9 /* bodyCanThrow */
            ifne 26
        25: .line 3222
            iconst_0
            ireturn
        26: .line 3225
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* entry */
            aload 7 /* exit */
            aload 6 /* recovery */
            ldc Ljava/lang/Throwable;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljava/lang/Class;)V
        27: .line 3227
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 29
        28: .line 3228
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        29: .line 3231
      StackMap locals:
      StackMap stack:
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getInlinedFinallies:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 11
            goto 33
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int top java.util.Iterator
      StackMap stack:
        30: aload 11
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 10 /* inlinedFinally */
        start local 10 // jdk.nashorn.internal.ir.Block inlinedFinally
        31: .line 3232
            aload 10 /* inlinedFinally */
            invokestatic jdk.nashorn.internal.ir.TryNode.getLabelledInlinedFinallyBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Block;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        32: .line 3234
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 33
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 33
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        end local 10 // jdk.nashorn.internal.ir.Block inlinedFinally
        33: .line 3231
      StackMap locals:
      StackMap stack:
            aload 11
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 30
        34: .line 3238
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* recovery */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
        35: .line 3239
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* vmException */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.EXCEPTION_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
        36: .line 3241
            aload 3 /* catchBlocks */
            invokeinterface java.util.List.size:()I
            istore 10 /* catchBlockCount */
        start local 10 // int catchBlockCount
        37: .line 3242
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "after_catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 11 /* afterCatch */
        start local 11 // jdk.nashorn.internal.codegen.Label afterCatch
        38: .line 3243
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        39: goto 68
        40: .line 3244
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 41
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 41
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        41: .line 3245
      StackMap locals:
      StackMap stack:
            aload 3 /* catchBlocks */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            astore 13 /* catchBlock */
        start local 13 // jdk.nashorn.internal.ir.Block catchBlock
        42: .line 3249
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 13 /* catchBlock */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.push:(Ljdk/nashorn/internal/ir/LexicalContextNode;)Ljdk/nashorn/internal/ir/LexicalContextNode;
            pop
        43: .line 3250
            aload 0 /* this */
            aload 13 /* catchBlock */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterBlock:(Ljdk/nashorn/internal/ir/Block;)Z
            pop
        44: .line 3252
            aload 3 /* catchBlocks */
            iload 12 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Block
            invokevirtual jdk.nashorn.internal.ir.Block.getStatements:()Ljava/util/List;
            iconst_0
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.CatchNode
            astore 14 /* catchNode */
        start local 14 // jdk.nashorn.internal.ir.CatchNode catchNode
        45: .line 3253
            aload 14 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionIdentifier:()Ljdk/nashorn/internal/ir/IdentNode;
            astore 15 /* exception */
        start local 15 // jdk.nashorn.internal.ir.IdentNode exception
        46: .line 3254
            aload 14 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getExceptionCondition:()Ljdk/nashorn/internal/ir/Expression;
            astore 16 /* exceptionCondition */
        start local 16 // jdk.nashorn.internal.ir.Expression exceptionCondition
        47: .line 3255
            aload 14 /* catchNode */
            invokevirtual jdk.nashorn.internal.ir.CatchNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 17 /* catchBody */
        start local 17 // jdk.nashorn.internal.ir.Block catchBody
        48: .line 3257
            new jdk.nashorn.internal.codegen.CodeGenerator$12
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 15 /* exception */
            aload 14 /* catchNode */
            aload 4 /* vmException */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$12.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/ir/CatchNode;Ljdk/nashorn/internal/ir/Symbol;)V
        49: .line 3281
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$12.store:()V
        50: .line 3283
            aload 16 /* exceptionCondition */
            ifnull 51
            iconst_1
            goto 52
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.CatchNode jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block
      StackMap stack:
        51: iconst_0
      StackMap locals:
      StackMap stack: int
        52: istore 18 /* isConditionalCatch */
        start local 18 // boolean isConditionalCatch
        53: .line 3285
            iload 18 /* isConditionalCatch */
            ifeq 59
        54: .line 3286
            aload 0 /* this */
            aload 16 /* exceptionCondition */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        55: .line 3287
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "next_catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 19 /* nextCatch */
        start local 19 // jdk.nashorn.internal.codegen.Label nextCatch
        56: .line 3288
            aload 19 /* nextCatch */
            invokevirtual jdk.nashorn.internal.codegen.Label.markAsBreakTarget:()V
        57: .line 3289
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 19 /* nextCatch */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
        58: .line 3290
            goto 60
        end local 19 // jdk.nashorn.internal.codegen.Label nextCatch
        59: .line 3291
      StackMap locals: int
      StackMap stack:
            aconst_null
            astore 19 /* nextCatch */
        start local 19 // jdk.nashorn.internal.codegen.Label nextCatch
        60: .line 3294
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 17 /* catchBody */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        61: .line 3295
            aload 0 /* this */
            aload 13 /* catchBlock */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.leaveBlock:(Ljdk/nashorn/internal/ir/Block;)Ljdk/nashorn/internal/ir/Node;
            pop
        62: .line 3296
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 13 /* catchBlock */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pop:(Ljdk/nashorn/internal/ir/Node;)Ljdk/nashorn/internal/ir/Node;
            pop
        63: .line 3297
            aload 19 /* nextCatch */
            ifnull 67
        64: .line 3298
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 66
        65: .line 3299
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* afterCatch */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        66: .line 3301
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 19 /* nextCatch */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
        end local 19 // jdk.nashorn.internal.codegen.Label nextCatch
        end local 18 // boolean isConditionalCatch
        end local 17 // jdk.nashorn.internal.ir.Block catchBody
        end local 16 // jdk.nashorn.internal.ir.Expression exceptionCondition
        end local 15 // jdk.nashorn.internal.ir.IdentNode exception
        end local 14 // jdk.nashorn.internal.ir.CatchNode catchNode
        end local 13 // jdk.nashorn.internal.ir.Block catchBlock
        67: .line 3243
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TryNode jdk.nashorn.internal.ir.Block java.util.List jdk.nashorn.internal.ir.Symbol jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int int jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        68: iload 12 /* i */
            iload 10 /* catchBlockCount */
            if_icmplt 40
        end local 12 // int i
        69: .line 3306
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* afterCatch */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        70: .line 3307
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 72
        71: .line 3308
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* vmException */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
        72: .line 3310
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        73: .line 3313
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 74
            aload 1 /* tryNode */
            invokevirtual jdk.nashorn.internal.ir.TryNode.getFinallyBody:()Ljdk/nashorn/internal/ir/Block;
            ifnull 74
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        74: .line 3315
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 11 // jdk.nashorn.internal.codegen.Label afterCatch
        end local 10 // int catchBlockCount
        end local 9 // boolean bodyCanThrow
        end local 8 // jdk.nashorn.internal.codegen.Label skip
        end local 7 // jdk.nashorn.internal.codegen.Label exit
        end local 6 // jdk.nashorn.internal.codegen.Label recovery
        end local 5 // jdk.nashorn.internal.codegen.Label entry
        end local 4 // jdk.nashorn.internal.ir.Symbol vmException
        end local 3 // java.util.List catchBlocks
        end local 2 // jdk.nashorn.internal.ir.Block body
        end local 1 // jdk.nashorn.internal.ir.TryNode tryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0   75     0                this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   75     1             tryNode  Ljdk/nashorn/internal/ir/TryNode;
            4   75     2                body  Ljdk/nashorn/internal/ir/Block;
            5   75     3         catchBlocks  Ljava/util/List<Ljdk/nashorn/internal/ir/Block;>;
            6   75     4         vmException  Ljdk/nashorn/internal/ir/Symbol;
            7   75     5               entry  Ljdk/nashorn/internal/codegen/Label;
            8   75     6            recovery  Ljdk/nashorn/internal/codegen/Label;
            9   75     7                exit  Ljdk/nashorn/internal/codegen/Label;
           10   75     8                skip  Ljdk/nashorn/internal/codegen/Label;
           24   75     9        bodyCanThrow  Z
           31   33    10      inlinedFinally  Ljdk/nashorn/internal/ir/Block;
           37   75    10     catchBlockCount  I
           38   75    11          afterCatch  Ljdk/nashorn/internal/codegen/Label;
           39   69    12                   i  I
           42   67    13          catchBlock  Ljdk/nashorn/internal/ir/Block;
           45   67    14           catchNode  Ljdk/nashorn/internal/ir/CatchNode;
           46   67    15           exception  Ljdk/nashorn/internal/ir/IdentNode;
           47   67    16  exceptionCondition  Ljdk/nashorn/internal/ir/Expression;
           48   67    17           catchBody  Ljdk/nashorn/internal/ir/Block;
           53   67    18  isConditionalCatch  Z
           56   59    19           nextCatch  Ljdk/nashorn/internal/codegen/Label;
           60   67    19           nextCatch  Ljdk/nashorn/internal/codegen/Label;
      Exception table:
        from    to  target  type
          14    16      16  any
    MethodParameters:
         Name  Flags
      tryNode  final

  public boolean enterVarNode(jdk.nashorn.internal.ir.VarNode);
    descriptor: (Ljdk/nashorn/internal/ir/VarNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=7, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.VarNode varNode
         0: .line 3320
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 3321
            iconst_0
            ireturn
         2: .line 3323
      StackMap locals:
      StackMap stack:
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getInit:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* init */
        start local 2 // jdk.nashorn.internal.ir.Expression init
         3: .line 3324
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.getName:()Ljdk/nashorn/internal/ir/IdentNode;
            astore 3 /* identNode */
        start local 3 // jdk.nashorn.internal.ir.IdentNode identNode
         4: .line 3325
            aload 3 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 4 /* identSymbol */
        start local 4 // jdk.nashorn.internal.ir.Symbol identSymbol
         5: .line 3326
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 6
            aload 4 /* identSymbol */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "variable node "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* varNode */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " requires a name with a symbol"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         6: .line 3327
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            aload 4 /* identSymbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            istore 5 /* needsScope */
        start local 5 // boolean needsScope
         7: .line 3329
            aload 2 /* init */
            ifnonnull 15
         8: .line 3333
            iload 5 /* needsScope */
            ifeq 14
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isLet:()Z
            ifeq 14
         9: .line 3334
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        10: .line 3335
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 3336
            aload 0 /* this */
            aload 4 /* identSymbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
            sipush 512
            ior
            istore 6 /* flags */
        start local 6 // int flags
        12: .line 3337
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 13
            aload 0 /* this */
            aload 4 /* identSymbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifne 13
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        13: .line 3338
      StackMap locals: int int
      StackMap stack:
            aload 0 /* this */
            aload 4 /* identSymbol */
            iload 6 /* flags */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeFastScopeVar:(Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 6 // int flags
        14: .line 3340
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        15: .line 3343
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
        16: .line 3344
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 17
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            ifnonnull 17
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        17: .line 3346
      StackMap locals:
      StackMap stack:
            iload 5 /* needsScope */
            ifeq 28
        18: .line 3347
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 3348
            aload 0 /* this */
            aload 2 /* init */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionUnbounded:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 3350
            aload 0 /* this */
            aload 4 /* identSymbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getScopeCallSiteFlags:(Ljdk/nashorn/internal/ir/Symbol;)I
            aload 1 /* varNode */
            invokevirtual jdk.nashorn.internal.ir.VarNode.isBlockScoped:()Z
            ifeq 21
            sipush 512
            goto 22
      StackMap locals:
      StackMap stack: int
        21: iconst_0
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.VarNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol int
      StackMap stack: int int
        22: ior
            istore 6 /* flags */
        start local 6 // int flags
        23: .line 3351
            aload 0 /* this */
            aload 4 /* identSymbol */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isFastScope:(Ljdk/nashorn/internal/ir/Symbol;)Z
            ifeq 26
        24: .line 3352
            aload 0 /* this */
            aload 4 /* identSymbol */
            iload 6 /* flags */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeFastScopeVar:(Ljdk/nashorn/internal/ir/Symbol;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        25: .line 3353
            goto 35
        26: .line 3354
      StackMap locals: int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
            iload 6 /* flags */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicSet:(Ljava/lang/String;IZ)V
        end local 6 // int flags
        27: .line 3356
            goto 35
        28: .line 3357
      StackMap locals:
      StackMap stack:
            aload 3 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* identType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type identType
        29: .line 3358
            aload 6 /* identType */
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 33
        30: .line 3361
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 31
            aload 2 /* init */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 31
            aload 3 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.slotCount:()I
            ifeq 31
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        31: .line 3362
      StackMap locals: jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 0 /* this */
            aload 2 /* init */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        32: .line 3363
            iconst_0
            ireturn
        33: .line 3365
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* init */
            aload 6 /* identType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        34: .line 3366
            aload 0 /* this */
            aload 3 /* identNode */
            aload 6 /* identType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.storeIdentWithCatchConversion:(Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/types/Type;)V
        end local 6 // jdk.nashorn.internal.codegen.types.Type identType
        35: .line 3369
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // boolean needsScope
        end local 4 // jdk.nashorn.internal.ir.Symbol identSymbol
        end local 3 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 2 // jdk.nashorn.internal.ir.Expression init
        end local 1 // jdk.nashorn.internal.ir.VarNode varNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   36     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   36     1      varNode  Ljdk/nashorn/internal/ir/VarNode;
            3   36     2         init  Ljdk/nashorn/internal/ir/Expression;
            4   36     3    identNode  Ljdk/nashorn/internal/ir/IdentNode;
            5   36     4  identSymbol  Ljdk/nashorn/internal/ir/Symbol;
            7   36     5   needsScope  Z
           12   14     6        flags  I
           23   27     6        flags  I
           29   35     6    identType  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
         Name  Flags
      varNode  final

  private void storeIdentWithCatchConversion(jdk.nashorn.internal.ir.IdentNode, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;Ljdk/nashorn/internal/codegen/types/Type;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=9, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        start local 2 // jdk.nashorn.internal.codegen.types.Type type
         0: .line 3375
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getLocalVariableConversion:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            astore 3 /* conversion */
        start local 3 // jdk.nashorn.internal.ir.LocalVariableConversion conversion
         1: .line 3376
            aload 1 /* identNode */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 4 /* symbol */
        start local 4 // jdk.nashorn.internal.ir.Symbol symbol
         2: .line 3377
            aload 3 /* conversion */
            ifnull 21
            aload 3 /* conversion */
            invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.isLive:()Z
            ifeq 21
         3: .line 3378
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 4
            aload 4 /* symbol */
            aload 3 /* conversion */
            invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            if_acmpeq 4
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         4: .line 3379
      StackMap locals: jdk.nashorn.internal.ir.LocalVariableConversion jdk.nashorn.internal.ir.Symbol
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 5
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
            ifne 5
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         5: .line 3381
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 6
            aload 3 /* conversion */
            invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getNext:()Ljdk/nashorn/internal/ir/LocalVariableConversion;
            ifnull 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 3382
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 3 /* conversion */
            invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getFrom:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 2 /* type */
            if_acmpeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3384
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.catchLabels:Ljava/util/Deque;
            invokeinterface java.util.Deque.peek:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label
            astore 5 /* catchLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label catchLabel
         8: .line 3385
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 9
            aload 5 /* catchLabel */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            if_acmpne 9
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         9: .line 3386
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 10
            aload 5 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.isReachable:()Z
            ifne 10
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        10: .line 3387
      StackMap locals:
      StackMap stack:
            aload 3 /* conversion */
            invokevirtual jdk.nashorn.internal.ir.LocalVariableConversion.getTo:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* joinType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type joinType
        11: .line 3388
            aload 5 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
            astore 7 /* catchStack */
        start local 7 // jdk.nashorn.internal.codegen.Label$Stack catchStack
        12: .line 3389
            aload 4 /* symbol */
            aload 6 /* joinType */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getSlot:(Ljdk/nashorn/internal/codegen/types/Type;)I
            istore 8 /* joinSlot */
        start local 8 // int joinSlot
        13: .line 3394
            aload 7 /* catchStack */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getUsedSlotsWithLiveTemporaries:()I
            iload 8 /* joinSlot */
            if_icmple 21
        14: .line 3395
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        15: .line 3396
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* joinType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 3397
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* symbol */
            aload 6 /* joinType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;)V
        17: .line 3398
            aload 5 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
            aload 6 /* joinType */
            iload 8 /* joinSlot */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.onLocalStore:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
        18: .line 3399
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.canThrow:(Ljdk/nashorn/internal/codegen/Label;)V
        19: .line 3401
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* symbol */
            aload 2 /* type */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
        20: .line 3402
            return
        end local 8 // int joinSlot
        end local 7 // jdk.nashorn.internal.codegen.Label$Stack catchStack
        end local 6 // jdk.nashorn.internal.codegen.types.Type joinType
        end local 5 // jdk.nashorn.internal.codegen.Label catchLabel
        21: .line 3406
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* symbol */
            aload 2 /* type */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.store:(Ljdk/nashorn/internal/ir/Symbol;Ljdk/nashorn/internal/codegen/types/Type;Z)V
        22: .line 3407
            return
        end local 4 // jdk.nashorn.internal.ir.Symbol symbol
        end local 3 // jdk.nashorn.internal.ir.LocalVariableConversion conversion
        end local 2 // jdk.nashorn.internal.codegen.types.Type type
        end local 1 // jdk.nashorn.internal.ir.IdentNode identNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   23     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   23     1   identNode  Ljdk/nashorn/internal/ir/IdentNode;
            0   23     2        type  Ljdk/nashorn/internal/codegen/types/Type;
            1   23     3  conversion  Ljdk/nashorn/internal/ir/LocalVariableConversion;
            2   23     4      symbol  Ljdk/nashorn/internal/ir/Symbol;
            8   21     5  catchLabel  Ljdk/nashorn/internal/codegen/Label;
           11   21     6    joinType  Ljdk/nashorn/internal/codegen/types/Type;
           12   21     7  catchStack  Ljdk/nashorn/internal/codegen/Label$Stack;
           13   21     8    joinSlot  I
    MethodParameters:
           Name  Flags
      identNode  final
      type       final

  public boolean enterWhileNode(jdk.nashorn.internal.ir.WhileNode);
    descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
         0: .line 3411
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 3412
            iconst_0
            ireturn
         2: .line 3414
      StackMap locals:
      StackMap stack:
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.isDoWhile:()Z
            ifeq 5
         3: .line 3415
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterDoWhile:(Ljdk/nashorn/internal/ir/WhileNode;)V
         4: .line 3416
            goto 7
         5: .line 3417
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         6: .line 3418
            aload 0 /* this */
            aload 1 /* whileNode */
            aconst_null
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterForOrWhile:(Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
         7: .line 3420
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    8     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    8     1  whileNode  Ljdk/nashorn/internal/ir/WhileNode;
    MethodParameters:
           Name  Flags
      whileNode  final

  private void enterForOrWhile(jdk.nashorn.internal.ir.LoopNode, jdk.nashorn.internal.ir.JoinPredecessorExpression);
    descriptor: (Ljdk/nashorn/internal/ir/LoopNode;Ljdk/nashorn/internal/ir/JoinPredecessorExpression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=11, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.LoopNode loopNode
        start local 2 // jdk.nashorn.internal.ir.JoinPredecessorExpression modify
         0: .line 3432
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
            istore 3 /* liveLocalsOnBreak */
        start local 3 // int liveLocalsOnBreak
         1: .line 3433
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.ir.LoopNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            astore 4 /* test */
        start local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
         2: .line 3434
            aload 4 /* test */
            invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 5
         3: .line 3435
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         4: .line 3436
            return
         5: .line 3439
      StackMap locals: int jdk.nashorn.internal.ir.JoinPredecessorExpression
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         6: .line 3441
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.ir.LoopNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 5 /* continueLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label continueLabel
         7: .line 3442
            aload 2 /* modify */
            ifnull 8
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "for_repeat"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            goto 9
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
         8: aload 5 /* continueLabel */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.Label
         9: astore 6 /* repeatLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label repeatLabel
        10: .line 3443
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* repeatLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        11: .line 3444
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
            istore 7 /* liveLocalsOnContinue */
        start local 7 // int liveLocalsOnContinue
        12: .line 3446
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.ir.LoopNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 8 /* body */
        start local 8 // jdk.nashorn.internal.ir.Block body
        13: .line 3447
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.ir.LoopNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 9 /* breakLabel */
        start local 9 // jdk.nashorn.internal.codegen.Label breakLabel
        14: .line 3448
            aload 4 /* test */
            ifnull 15
            aload 4 /* test */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            ifeq 15
            iconst_1
            goto 16
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.LoopNode jdk.nashorn.internal.ir.JoinPredecessorExpression int jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.codegen.Label
      StackMap stack:
        15: iconst_0
      StackMap locals:
      StackMap stack: int
        16: istore 10 /* testHasLiveConversion */
        start local 10 // boolean testHasLiveConversion
        17: .line 3450
            aload 4 /* test */
            invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysTrue:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 23
        18: .line 3451
            aload 4 /* test */
            ifnull 30
        19: .line 3452
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        20: .line 3453
            iload 10 /* testHasLiveConversion */
            ifeq 30
        21: .line 3454
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        22: .line 3457
            goto 30
      StackMap locals: int
      StackMap stack:
        23: aload 4 /* test */
            ifnull 30
        24: .line 3458
            iload 10 /* testHasLiveConversion */
            ifeq 29
        25: .line 3459
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 8 /* body */
            invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
        26: .line 3460
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        27: .line 3461
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* breakLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        28: .line 3462
            goto 30
        29: .line 3463
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 9 /* breakLabel */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
        30: .line 3467
      StackMap locals:
      StackMap stack:
            aload 8 /* body */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        31: .line 3468
            aload 6 /* repeatLabel */
            aload 5 /* continueLabel */
            if_acmpeq 33
        32: .line 3469
            aload 0 /* this */
            aload 5 /* continueLabel */
            iload 7 /* liveLocalsOnContinue */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitContinueLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
        33: .line 3472
      StackMap locals:
      StackMap stack:
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.ir.LoopNode.hasPerIterationScope:()Z
            ifeq 37
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentBlock:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.Block.needsScope:()Z
            ifeq 37
        34: .line 3474
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        35: .line 3475
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            ldc "copy"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_0
            anewarray java.lang.Class
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.virtualCallNoLookup:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        36: .line 3476
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        37: .line 3479
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 43
        38: .line 3480
            aload 2 /* modify */
            ifnull 42
        39: .line 3481
            aload 0 /* this */
            aload 1 /* loopNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
        40: .line 3482
            aload 0 /* this */
            aload 2 /* modify */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        41: .line 3483
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* modify */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        42: .line 3485
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* repeatLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        43: .line 3488
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* breakLabel */
            iload 3 /* liveLocalsOnBreak */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
        44: .line 3489
            return
        end local 10 // boolean testHasLiveConversion
        end local 9 // jdk.nashorn.internal.codegen.Label breakLabel
        end local 8 // jdk.nashorn.internal.ir.Block body
        end local 7 // int liveLocalsOnContinue
        end local 6 // jdk.nashorn.internal.codegen.Label repeatLabel
        end local 5 // jdk.nashorn.internal.codegen.Label continueLabel
        end local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
        end local 3 // int liveLocalsOnBreak
        end local 2 // jdk.nashorn.internal.ir.JoinPredecessorExpression modify
        end local 1 // jdk.nashorn.internal.ir.LoopNode loopNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                   Name  Signature
            0   45     0                   this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   45     1               loopNode  Ljdk/nashorn/internal/ir/LoopNode;
            0   45     2                 modify  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            1   45     3      liveLocalsOnBreak  I
            2   45     4                   test  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            7   45     5          continueLabel  Ljdk/nashorn/internal/codegen/Label;
           10   45     6            repeatLabel  Ljdk/nashorn/internal/codegen/Label;
           12   45     7   liveLocalsOnContinue  I
           13   45     8                   body  Ljdk/nashorn/internal/ir/Block;
           14   45     9             breakLabel  Ljdk/nashorn/internal/codegen/Label;
           17   45    10  testHasLiveConversion  Z
    MethodParameters:
          Name  Flags
      loopNode  final
      modify    final

  private void emitContinueLabel(jdk.nashorn.internal.codegen.Label, int);
    descriptor: (Ljdk/nashorn/internal/codegen/Label;I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.Label continueLabel
        start local 2 // int liveLocals
         0: .line 3492
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            istore 3 /* reachable */
        start local 3 // boolean reachable
         1: .line 3493
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* continueLabel */
            iload 2 /* liveLocals */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
         2: .line 3497
            iload 3 /* reachable */
            ifne 4
         3: .line 3498
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.undefineLocalVariables:(IZ)V
         4: .line 3500
      StackMap locals: int
      StackMap stack:
            return
        end local 3 // boolean reachable
        end local 2 // int liveLocals
        end local 1 // jdk.nashorn.internal.codegen.Label continueLabel
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    5     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    5     1  continueLabel  Ljdk/nashorn/internal/codegen/Label;
            0    5     2     liveLocals  I
            1    5     3      reachable  Z
    MethodParameters:
               Name  Flags
      continueLabel  final
      liveLocals     final

  private void enterDoWhile(jdk.nashorn.internal.ir.WhileNode);
    descriptor: (Ljdk/nashorn/internal/ir/WhileNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
         0: .line 3503
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.getUsedSlotsWithLiveTemporaries:()I
            istore 2 /* liveLocalsOnContinueOrBreak */
        start local 2 // int liveLocalsOnContinueOrBreak
         1: .line 3504
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
         2: .line 3506
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 3 /* body */
        start local 3 // jdk.nashorn.internal.ir.Block body
         3: .line 3507
            aload 3 /* body */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
         4: .line 3509
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getContinueLabel:()Ljdk/nashorn/internal/codegen/Label;
            iload 2 /* liveLocalsOnContinueOrBreak */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitContinueLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
         5: .line 3510
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 24
         6: .line 3511
            aload 0 /* this */
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.lineNumber:(Ljdk/nashorn/internal/ir/Statement;)V
         7: .line 3512
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getTest:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            astore 4 /* test */
        start local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
         8: .line 3513
            aload 3 /* body */
            invokevirtual jdk.nashorn.internal.ir.Block.getEntryLabel:()Ljdk/nashorn/internal/codegen/Label;
            astore 5 /* bodyEntryLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label bodyEntryLabel
         9: .line 3514
            aload 4 /* test */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            istore 6 /* testHasLiveConversion */
        start local 6 // boolean testHasLiveConversion
        10: .line 3515
            aload 4 /* test */
            invokestatic jdk.nashorn.internal.ir.Expression.isAlwaysFalse:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 15
        11: .line 3516
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
        12: .line 3517
            iload 6 /* testHasLiveConversion */
            ifeq 24
        13: .line 3518
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        14: .line 3520
            goto 24
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WhileNode int jdk.nashorn.internal.ir.Block jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label int
      StackMap stack:
        15: iload 6 /* testHasLiveConversion */
            ifeq 23
        16: .line 3522
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "do_while_preexit"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* beforeExit */
        start local 7 // jdk.nashorn.internal.codegen.Label beforeExit
        17: .line 3523
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 7 /* beforeExit */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
        18: .line 3524
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        19: .line 3525
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* bodyEntryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        20: .line 3526
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* beforeExit */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        21: .line 3527
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        end local 7 // jdk.nashorn.internal.codegen.Label beforeExit
        22: .line 3528
            goto 24
        23: .line 3529
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 4 /* test */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 5 /* bodyEntryLabel */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
        end local 6 // boolean testHasLiveConversion
        end local 5 // jdk.nashorn.internal.codegen.Label bodyEntryLabel
        end local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression test
        24: .line 3532
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* whileNode */
            invokevirtual jdk.nashorn.internal.ir.WhileNode.getBreakLabel:()Ljdk/nashorn/internal/codegen/Label;
            iload 2 /* liveLocalsOnContinueOrBreak */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.breakLabel:(Ljdk/nashorn/internal/codegen/Label;I)V
        25: .line 3533
            return
        end local 3 // jdk.nashorn.internal.ir.Block body
        end local 2 // int liveLocalsOnContinueOrBreak
        end local 1 // jdk.nashorn.internal.ir.WhileNode whileNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0   26     0                         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   26     1                    whileNode  Ljdk/nashorn/internal/ir/WhileNode;
            1   26     2  liveLocalsOnContinueOrBreak  I
            3   26     3                         body  Ljdk/nashorn/internal/ir/Block;
            8   24     4                         test  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            9   24     5               bodyEntryLabel  Ljdk/nashorn/internal/codegen/Label;
           10   24     6        testHasLiveConversion  Z
           17   22     7                   beforeExit  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
           Name  Flags
      whileNode  final

  public boolean enterWithNode(jdk.nashorn.internal.ir.WithNode);
    descriptor: (Ljdk/nashorn/internal/ir/WithNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=11, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.WithNode withNode
         0: .line 3538
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifne 2
         1: .line 3539
            iconst_0
            ireturn
         2: .line 3541
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.enterStatement:(Ljdk/nashorn/internal/ir/Statement;)V
         3: .line 3542
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.ir.WithNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* expression */
        start local 2 // jdk.nashorn.internal.ir.Expression expression
         4: .line 3543
            aload 1 /* withNode */
            invokevirtual jdk.nashorn.internal.ir.WithNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            astore 3 /* body */
        start local 3 // jdk.nashorn.internal.ir.Block body
         5: .line 3549
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.hasScope:()Z
            istore 4 /* hasScope */
        start local 4 // boolean hasScope
         6: .line 3551
            iload 4 /* hasScope */
            ifeq 8
         7: .line 3552
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 3555
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expression */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         9: .line 3558
            iload 4 /* hasScope */
            ifeq 15
        10: .line 3560
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.OPEN_WITH:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 3561
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)V
        12: .line 3562
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "with_try"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 5 /* tryLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label tryLabel
        13: .line 3563
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* tryLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        14: .line 3564
            goto 17
        end local 5 // jdk.nashorn.internal.codegen.Label tryLabel
        15: .line 3567
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.globalCheckObjectCoercible:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 3568
            aconst_null
            astore 5 /* tryLabel */
        start local 5 // jdk.nashorn.internal.codegen.Label tryLabel
        17: .line 3572
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 3 /* body */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.ir.Block.accept:(Ljdk/nashorn/internal/ir/visitor/NodeVisitor;)Ljdk/nashorn/internal/ir/Node;
            pop
        18: .line 3574
            iload 4 /* hasScope */
            ifeq 37
        19: .line 3576
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "with_end"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* endLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label endLabel
        20: .line 3577
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "with_catch"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* catchLabel */
        start local 7 // jdk.nashorn.internal.codegen.Label catchLabel
        21: .line 3578
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "with_exit"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 8 /* exitLabel */
        start local 8 // jdk.nashorn.internal.codegen.Label exitLabel
        22: .line 3580
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* endLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        23: .line 3583
            aload 6 /* endLabel */
            aload 5 /* tryLabel */
            invokevirtual jdk.nashorn.internal.codegen.Label.isAfter:(Ljdk/nashorn/internal/codegen/Label;)Z
            istore 9 /* bodyCanThrow */
        start local 9 // boolean bodyCanThrow
        24: .line 3584
            iload 9 /* bodyCanThrow */
            ifeq 26
        25: .line 3585
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* tryLabel */
            aload 6 /* endLabel */
            aload 7 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
        26: .line 3588
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WithNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            istore 10 /* reachable */
        start local 10 // boolean reachable
        27: .line 3589
            iload 10 /* reachable */
            ifeq 31
        28: .line 3590
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScope:()V
        29: .line 3591
            iload 9 /* bodyCanThrow */
            ifeq 31
        30: .line 3592
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* exitLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        31: .line 3596
      StackMap locals: int
      StackMap stack:
            iload 9 /* bodyCanThrow */
            ifeq 37
        32: .line 3597
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
        33: .line 3598
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopeException:()V
        34: .line 3599
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
        35: .line 3600
            iload 10 /* reachable */
            ifeq 37
        36: .line 3601
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* exitLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 10 // boolean reachable
        end local 9 // boolean bodyCanThrow
        end local 8 // jdk.nashorn.internal.codegen.Label exitLabel
        end local 7 // jdk.nashorn.internal.codegen.Label catchLabel
        end local 6 // jdk.nashorn.internal.codegen.Label endLabel
        37: .line 3605
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.WithNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Block int jdk.nashorn.internal.codegen.Label
      StackMap stack:
            iconst_0
            ireturn
        end local 5 // jdk.nashorn.internal.codegen.Label tryLabel
        end local 4 // boolean hasScope
        end local 3 // jdk.nashorn.internal.ir.Block body
        end local 2 // jdk.nashorn.internal.ir.Expression expression
        end local 1 // jdk.nashorn.internal.ir.WithNode withNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   38     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   38     1      withNode  Ljdk/nashorn/internal/ir/WithNode;
            4   38     2    expression  Ljdk/nashorn/internal/ir/Expression;
            5   38     3          body  Ljdk/nashorn/internal/ir/Block;
            6   38     4      hasScope  Z
           13   15     5      tryLabel  Ljdk/nashorn/internal/codegen/Label;
           17   38     5      tryLabel  Ljdk/nashorn/internal/codegen/Label;
           20   37     6      endLabel  Ljdk/nashorn/internal/codegen/Label;
           21   37     7    catchLabel  Ljdk/nashorn/internal/codegen/Label;
           22   37     8     exitLabel  Ljdk/nashorn/internal/codegen/Label;
           24   37     9  bodyCanThrow  Z
           27   37    10     reachable  Z
    MethodParameters:
          Name  Flags
      withNode  final

  private void loadADD(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3609
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.booleanToInt:()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notWiderThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 3610
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 3
         2: .line 3612
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 3614
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    4     1     unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            0    4     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      unaryNode     final
      resultBounds  final

  private void loadBIT_NOT(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 3617
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.INT:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_m1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.xor:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 3618
            return
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
    MethodParameters:
           Name  Flags
      unaryNode  final

  private void loadDECINC(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=12, locals=8, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 3621
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* operand */
        start local 2 // jdk.nashorn.internal.ir.Expression operand
         1: .line 3622
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 3 /* type */
        start local 3 // jdk.nashorn.internal.codegen.types.Type type
         2: .line 3623
            new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
            dup
            aload 3 /* type */
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
            astore 4 /* typeBounds */
        start local 4 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds typeBounds
         3: .line 3624
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.tokenType:()Ljdk/nashorn/internal/parser/TokenType;
            astore 5 /* tokenType */
        start local 5 // jdk.nashorn.internal.parser.TokenType tokenType
         4: .line 3625
            aload 5 /* tokenType */
            getstatic jdk.nashorn.internal.parser.TokenType.DECPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpeq 5
            aload 5 /* tokenType */
            getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpeq 5
            iconst_0
            goto 6
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.UnaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.parser.TokenType
      StackMap stack:
         5: iconst_1
      StackMap locals:
      StackMap stack: int
         6: istore 6 /* isPostfix */
        start local 6 // boolean isPostfix
         7: .line 3626
            aload 5 /* tokenType */
            getstatic jdk.nashorn.internal.parser.TokenType.INCPREFIX:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpeq 8
            aload 5 /* tokenType */
            getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
            if_acmpeq 8
            iconst_0
            goto 9
      StackMap locals: int
      StackMap stack:
         8: iconst_1
      StackMap locals:
      StackMap stack: int
         9: istore 7 /* isIncrement */
        start local 7 // boolean isIncrement
        10: .line 3628
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 11
            aload 3 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isObject:()Z
            ifeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 3630
      StackMap locals: int
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$13
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* unaryNode */
            aload 2 /* operand */
            aload 2 /* operand */
            aload 4 /* typeBounds */
            iload 6 /* isPostfix */
            aload 1 /* unaryNode */
            aload 3 /* type */
            iload 7 /* isIncrement */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$13.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;ZLjdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/types/Type;Z)V
        12: .line 3683
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$13.store:()V
        13: .line 3684
            return
        end local 7 // boolean isIncrement
        end local 6 // boolean isPostfix
        end local 5 // jdk.nashorn.internal.parser.TokenType tokenType
        end local 4 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds typeBounds
        end local 3 // jdk.nashorn.internal.codegen.types.Type type
        end local 2 // jdk.nashorn.internal.ir.Expression operand
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0   14     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   14     1    unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            1   14     2      operand  Ljdk/nashorn/internal/ir/Expression;
            2   14     3         type  Ljdk/nashorn/internal/codegen/types/Type;
            3   14     4   typeBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            4   14     5    tokenType  Ljdk/nashorn/internal/parser/TokenType;
            7   14     6    isPostfix  Z
           10   14     7  isIncrement  Z
    MethodParameters:
           Name  Flags
      unaryNode  final

  private static int getOptimisticIgnoreCountForSelfModifyingExpression(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.Expression target
         0: .line 3687
            aload 0 /* target */
            instanceof jdk.nashorn.internal.ir.AccessNode
            ifeq 1
            iconst_1
            goto 3
      StackMap locals:
      StackMap stack:
         1: aload 0 /* target */
            instanceof jdk.nashorn.internal.ir.IndexNode
            ifeq 2
            iconst_2
            goto 3
      StackMap locals:
      StackMap stack:
         2: iconst_0
      StackMap locals:
      StackMap stack: int
         3: ireturn
        end local 0 // jdk.nashorn.internal.ir.Expression target
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0  target  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
        Name  Flags
      target  final

  private void loadAndDiscard(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         0: .line 3693
            aload 1 /* expr */
            instanceof jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode
            aload 1 /* expr */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isLocalVariable:(Ljdk/nashorn/internal/ir/Expression;)Z
            ior
            ifeq 3
         1: .line 3694
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.isCurrentDiscard:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3697
      StackMap locals:
      StackMap stack:
            return
         3: .line 3700
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.pushDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         4: .line 3701
            aload 0 /* this */
            aload 1 /* expr */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.UNBOUNDED:Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 3702
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 8
         6: .line 3703
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 7
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.Expression.isAssignment:()Z
            ifeq 7
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         7: .line 3705
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 3707
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    9     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    9     1  expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      expr  final

  private void loadMaybeDiscard(jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Expression parent
        start local 2 // jdk.nashorn.internal.ir.Expression expr
        start local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3717
            aload 0 /* this */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* parent */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            aload 2 /* expr */
            aload 3 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         1: .line 3718
            return
        end local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 2 // jdk.nashorn.internal.ir.Expression expr
        end local 1 // jdk.nashorn.internal.ir.Expression parent
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    2     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1        parent  Ljdk/nashorn/internal/ir/Expression;
            0    2     2          expr  Ljdk/nashorn/internal/ir/Expression;
            0    2     3  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      parent        final
      expr          final
      resultBounds  final

  private void loadMaybeDiscard(boolean, jdk.nashorn.internal.ir.Expression, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // boolean discard
        start local 2 // jdk.nashorn.internal.ir.Expression expr
        start local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3729
            iload 1 /* discard */
            ifeq 3
         1: .line 3730
            aload 0 /* this */
            aload 2 /* expr */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         2: .line 3731
            goto 4
         3: .line 3732
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* expr */
            aload 3 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 3734
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 2 // jdk.nashorn.internal.ir.Expression expr
        end local 1 // boolean discard
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    5     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    5     1       discard  Z
            0    5     2          expr  Ljdk/nashorn/internal/ir/Expression;
            0    5     3  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      discard       final
      expr          final
      resultBounds  final

  private void loadNEW(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 3737
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.CallNode
            astore 2 /* callNode */
        start local 2 // jdk.nashorn.internal.ir.CallNode callNode
         1: .line 3738
            aload 2 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getArgs:()Ljava/util/List;
            astore 3 /* args */
        start local 3 // java.util.List args
         2: .line 3740
            aload 2 /* callNode */
            invokevirtual jdk.nashorn.internal.ir.CallNode.getFunction:()Ljdk/nashorn/internal/ir/Expression;
            astore 4 /* func */
        start local 4 // jdk.nashorn.internal.ir.Expression func
         3: .line 3742
            aload 0 /* this */
            aload 4 /* func */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 3744
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            aload 0 /* this */
            aload 3 /* args */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadArgs:(Ljava/util/List;)I
            iadd
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
            aload 4 /* func */
            iconst_0
            invokevirtual jdk.nashorn.internal.ir.Expression.toString:(Z)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicNew:(IILjava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 3745
            return
        end local 4 // jdk.nashorn.internal.ir.Expression func
        end local 3 // java.util.List args
        end local 2 // jdk.nashorn.internal.ir.CallNode callNode
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    6     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1  unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            1    6     2   callNode  Ljdk/nashorn/internal/ir/CallNode;
            2    6     3       args  Ljava/util/List<Ljdk/nashorn/internal/ir/Expression;>;
            3    6     4       func  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
           Name  Flags
      unaryNode  final

  private void loadNOT(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 3748
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* expr */
        start local 2 // jdk.nashorn.internal.ir.Expression expr
         1: .line 3749
            aload 2 /* expr */
            instanceof jdk.nashorn.internal.ir.UnaryNode
            ifeq 4
            aload 2 /* expr */
            getstatic jdk.nashorn.internal.parser.TokenType.NOT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.ir.Expression.isTokenType:(Ljdk/nashorn/internal/parser/TokenType;)Z
            ifeq 4
         2: .line 3751
            aload 0 /* this */
            aload 2 /* expr */
            checkcast jdk.nashorn.internal.ir.UnaryNode
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsBoolean:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 3752
            goto 12
         4: .line 3753
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "true"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 3 /* trueLabel */
        start local 3 // jdk.nashorn.internal.codegen.Label trueLabel
         5: .line 3754
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "after"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* afterLabel */
        start local 4 // jdk.nashorn.internal.codegen.Label afterLabel
         6: .line 3756
            aload 0 /* this */
            aload 2 /* expr */
            aload 3 /* trueLabel */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
         7: .line 3757
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 3758
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
         9: .line 3759
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        10: .line 3760
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 3761
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 4 // jdk.nashorn.internal.codegen.Label afterLabel
        end local 3 // jdk.nashorn.internal.codegen.Label trueLabel
        12: .line 3763
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.ir.Expression expr
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   13     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   13     1   unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            1   13     2        expr  Ljdk/nashorn/internal/ir/Expression;
            5   12     3   trueLabel  Ljdk/nashorn/internal/codegen/Label;
            6   12     4  afterLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
           Name  Flags
      unaryNode  final

  private void loadSUB(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3766
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 3 /* type */
        start local 3 // jdk.nashorn.internal.codegen.types.Type type
         1: .line 3767
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 2
            aload 3 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isNumeric:()Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 3768
      StackMap locals: jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.booleanToInt:()Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 4 /* numericBounds */
        start local 4 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds numericBounds
         3: .line 3769
            new jdk.nashorn.internal.codegen.CodeGenerator$14
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* unaryNode */
            aload 4 /* numericBounds */
            aload 1 /* unaryNode */
            aload 4 /* numericBounds */
            aload 3 /* type */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$14.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/codegen/types/Type;)V
         4: .line 3785
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$14.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 3786
            return
        end local 4 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds numericBounds
        end local 3 // jdk.nashorn.internal.codegen.types.Type type
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    6     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1      unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            0    6     2   resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            1    6     3           type  Ljdk/nashorn/internal/codegen/types/Type;
            3    6     4  numericBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      unaryNode     final
      resultBounds  final

  public void loadVOID(jdk.nashorn.internal.ir.UnaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3789
            aload 0 /* this */
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         1: .line 3790
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifne 3
         2: .line 3791
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* resultBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         3: .line 3793
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    4     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    4     1     unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            0    4     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      unaryNode     final
      resultBounds  final

  public void loadDELETE(jdk.nashorn.internal.ir.UnaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/UnaryNode;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=4, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
         0: .line 3796
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.ir.UnaryNode.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* expression */
        start local 2 // jdk.nashorn.internal.ir.Expression expression
         1: .line 3797
            aload 2 /* expression */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 26
         2: .line 3798
            aload 2 /* expression */
            checkcast jdk.nashorn.internal.ir.IdentNode
            astore 3 /* ident */
        start local 3 // jdk.nashorn.internal.ir.IdentNode ident
         3: .line 3799
            aload 3 /* ident */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 4 /* symbol */
        start local 4 // jdk.nashorn.internal.ir.Symbol symbol
         4: .line 3800
            aload 3 /* ident */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getName:()Ljava/lang/String;
            astore 5 /* name */
        start local 5 // java.lang.String name
         5: .line 3802
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isThis:()Z
            ifeq 9
         6: .line 3804
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifne 38
         7: .line 3805
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 3807
            goto 38
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.UnaryNode jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.IdentNode jdk.nashorn.internal.ir.Symbol java.lang.String
      StackMap stack:
         9: aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getCurrentFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isStrict:()Z
            ifeq 13
        10: .line 3809
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* name */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 3810
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.STRICT_FAIL_DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        12: .line 3811
            goto 38
      StackMap locals:
      StackMap stack:
        13: aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 17
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
            ifne 14
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isVar:()Z
            ifeq 17
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isProgramLevel:()Z
            ifne 17
        14: .line 3813
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* unaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifne 38
        15: .line 3814
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        16: .line 3816
            goto 38
        17: .line 3817
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        18: .line 3818
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* name */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        19: .line 3819
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isGlobal:()Z
            ifeq 20
            aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isFunctionDeclaration:()Z
            ifeq 21
      StackMap locals:
      StackMap stack:
        20: aload 4 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isProgramLevel:()Z
            ifeq 23
        21: .line 3820
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptRuntime.SLOW_DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 3821
            goto 38
        23: .line 3822
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        24: .line 3823
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.DELETE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 5 // java.lang.String name
        end local 4 // jdk.nashorn.internal.ir.Symbol symbol
        end local 3 // jdk.nashorn.internal.ir.IdentNode ident
        25: .line 3826
            goto 38
      StackMap locals:
      StackMap stack:
        26: aload 2 /* expression */
            instanceof jdk.nashorn.internal.ir.BaseNode
            ifeq 37
        27: .line 3827
            aload 0 /* this */
            aload 2 /* expression */
            checkcast jdk.nashorn.internal.ir.BaseNode
            invokevirtual jdk.nashorn.internal.ir.BaseNode.getBase:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        28: .line 3828
            aload 2 /* expression */
            instanceof jdk.nashorn.internal.ir.AccessNode
            ifeq 32
        29: .line 3829
            aload 2 /* expression */
            checkcast jdk.nashorn.internal.ir.AccessNode
            astore 3 /* accessNode */
        start local 3 // jdk.nashorn.internal.ir.AccessNode accessNode
        30: .line 3830
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* accessNode */
            invokevirtual jdk.nashorn.internal.ir.AccessNode.getProperty:()Ljava/lang/String;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
            aload 3 /* accessNode */
            invokevirtual jdk.nashorn.internal.ir.AccessNode.isIndex:()Z
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicRemove:(Ljava/lang/String;IZ)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        end local 3 // jdk.nashorn.internal.ir.AccessNode accessNode
        31: .line 3831
            goto 38
      StackMap locals:
      StackMap stack:
        32: aload 2 /* expression */
            instanceof jdk.nashorn.internal.ir.IndexNode
            ifeq 36
        33: .line 3832
            aload 0 /* this */
            aload 2 /* expression */
            checkcast jdk.nashorn.internal.ir.IndexNode
            invokevirtual jdk.nashorn.internal.ir.IndexNode.getIndex:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsObject:(Ljdk/nashorn/internal/ir/Expression;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        34: .line 3833
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getCallSiteFlags:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicRemoveIndex:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        35: .line 3834
            goto 38
        36: .line 3835
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            aload 2 /* expression */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        37: .line 3838
      StackMap locals:
      StackMap stack:
            new java.lang.AssertionError
            dup
            aload 2 /* expression */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        38: .line 3840
      StackMap locals:
      StackMap stack:
            return
        end local 2 // jdk.nashorn.internal.ir.Expression expression
        end local 1 // jdk.nashorn.internal.ir.UnaryNode unaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   39     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   39     1   unaryNode  Ljdk/nashorn/internal/ir/UnaryNode;
            1   39     2  expression  Ljdk/nashorn/internal/ir/Expression;
            3   25     3       ident  Ljdk/nashorn/internal/ir/IdentNode;
            4   25     4      symbol  Ljdk/nashorn/internal/ir/Symbol;
            5   25     5        name  Ljava/lang/String;
           30   31     3  accessNode  Ljdk/nashorn/internal/ir/AccessNode;
    MethodParameters:
           Name  Flags
      unaryNode  final

  public void loadADD(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=8, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 3843
            new jdk.nashorn.internal.codegen.CodeGenerator$15
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$15.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         1: .line 3864
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$15.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 3865
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  private void loadAND_OR(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=12, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        start local 3 // boolean isAnd
         0: .line 3868
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.widestReturnType:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 4 /* narrowestOperandType */
        start local 4 // jdk.nashorn.internal.codegen.types.Type narrowestOperandType
         1: .line 3870
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            istore 5 /* isCurrentDiscard */
        start local 5 // boolean isCurrentDiscard
         2: .line 3872
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "skip"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* skip */
        start local 6 // jdk.nashorn.internal.codegen.Label skip
         3: .line 3873
            aload 4 /* narrowestOperandType */
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 15
         4: .line 3875
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "andor_true"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* onTrue */
        start local 7 // jdk.nashorn.internal.codegen.Label onTrue
         5: .line 3876
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 7 /* onTrue */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
         6: .line 3877
            iload 5 /* isCurrentDiscard */
            ifeq 9
         7: .line 3878
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* onTrue */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         8: .line 3879
            goto 14
         9: .line 3880
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.BinaryNode jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        10: .line 3881
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        11: .line 3882
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* onTrue */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        12: .line 3883
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        13: .line 3884
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        14: .line 3886
      StackMap locals:
      StackMap stack:
            return
        end local 7 // jdk.nashorn.internal.codegen.Label onTrue
        15: .line 3889
      StackMap locals:
      StackMap stack:
            aload 2 /* resultBounds */
            aload 4 /* narrowestOperandType */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 7 /* outBounds */
        start local 7 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds outBounds
        16: .line 3890
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.JoinPredecessorExpression
            astore 8 /* lhs */
        start local 8 // jdk.nashorn.internal.ir.JoinPredecessorExpression lhs
        17: .line 3891
            aload 8 /* lhs */
            invokestatic jdk.nashorn.internal.ir.LocalVariableConversion.hasLiveConversion:(Ljdk/nashorn/internal/ir/JoinPredecessor;)Z
            istore 9 /* lhsConvert */
        start local 9 // boolean lhsConvert
        18: .line 3892
            iload 9 /* lhsConvert */
            ifeq 19
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "eval_rhs"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            goto 20
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.ir.JoinPredecessorExpression int
      StackMap stack:
        19: aconst_null
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.Label
        20: astore 10 /* evalRhs */
        start local 10 // jdk.nashorn.internal.codegen.Label evalRhs
        21: .line 3894
            aload 0 /* this */
            aload 8 /* lhs */
            aload 7 /* outBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpression:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 3895
            iload 5 /* isCurrentDiscard */
            ifne 24
        23: .line 3896
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        24: .line 3898
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.BOOLEAN:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        25: .line 3899
            iload 3 /* isAnd */
            ifeq 31
        26: .line 3900
            iload 9 /* lhsConvert */
            ifeq 29
        27: .line 3901
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 10 /* evalRhs */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
        28: .line 3902
            goto 35
        29: .line 3903
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
        30: .line 3905
            goto 35
      StackMap locals:
      StackMap stack:
        31: iload 9 /* lhsConvert */
            ifeq 34
        32: .line 3906
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 10 /* evalRhs */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifeq:(Ljdk/nashorn/internal/codegen/Label;)V
        33: .line 3907
            goto 35
        34: .line 3908
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.ifne:(Ljdk/nashorn/internal/codegen/Label;)V
        35: .line 3911
      StackMap locals:
      StackMap stack:
            iload 9 /* lhsConvert */
            ifeq 39
        36: .line 3912
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 8 /* lhs */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        37: .line 3913
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        38: .line 3914
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 10 /* evalRhs */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        39: .line 3917
      StackMap locals:
      StackMap stack:
            iload 5 /* isCurrentDiscard */
            ifne 41
        40: .line 3918
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        41: .line 3920
      StackMap locals:
      StackMap stack:
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            checkcast jdk.nashorn.internal.ir.JoinPredecessorExpression
            astore 11 /* rhs */
        start local 11 // jdk.nashorn.internal.ir.JoinPredecessorExpression rhs
        42: .line 3921
            aload 0 /* this */
            iload 5 /* isCurrentDiscard */
            aload 11 /* rhs */
            aload 7 /* outBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
        43: .line 3922
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 11 /* rhs */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        44: .line 3923
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* skip */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        45: .line 3924
            return
        end local 11 // jdk.nashorn.internal.ir.JoinPredecessorExpression rhs
        end local 10 // jdk.nashorn.internal.codegen.Label evalRhs
        end local 9 // boolean lhsConvert
        end local 8 // jdk.nashorn.internal.ir.JoinPredecessorExpression lhs
        end local 7 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds outBounds
        end local 6 // jdk.nashorn.internal.codegen.Label skip
        end local 5 // boolean isCurrentDiscard
        end local 4 // jdk.nashorn.internal.codegen.types.Type narrowestOperandType
        end local 3 // boolean isAnd
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                  Name  Signature
            0   46     0                  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   46     1            binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0   46     2          resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            0   46     3                 isAnd  Z
            1   46     4  narrowestOperandType  Ljdk/nashorn/internal/codegen/types/Type;
            2   46     5      isCurrentDiscard  Z
            3   46     6                  skip  Ljdk/nashorn/internal/codegen/Label;
            5   15     7                onTrue  Ljdk/nashorn/internal/codegen/Label;
           16   46     7             outBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
           17   46     8                   lhs  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
           18   46     9            lhsConvert  Z
           21   46    10               evalRhs  Ljdk/nashorn/internal/codegen/Label;
           42   46    11                   rhs  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final
      isAnd         final

  private static boolean isLocalVariable(jdk.nashorn.internal.ir.Expression);
    descriptor: (Ljdk/nashorn/internal/ir/Expression;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.Expression lhs
         0: .line 3927
            aload 0 /* lhs */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 1
            aload 0 /* lhs */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isLocalVariable:(Ljdk/nashorn/internal/ir/IdentNode;)Z
            ifeq 1
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_0
            ireturn
        end local 0 // jdk.nashorn.internal.ir.Expression lhs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0   lhs  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
      Name  Flags
      lhs   final

  private static boolean isLocalVariable(jdk.nashorn.internal.ir.IdentNode);
    descriptor: (Ljdk/nashorn/internal/ir/IdentNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.ir.IdentNode lhs
         0: .line 3931
            aload 0 /* lhs */
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            invokevirtual jdk.nashorn.internal.ir.Symbol.isBytecodeLocal:()Z
            ireturn
        end local 0 // jdk.nashorn.internal.ir.IdentNode lhs
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0   lhs  Ljdk/nashorn/internal/ir/IdentNode;
    MethodParameters:
      Name  Flags
      lhs   final

  private void loadASSIGN(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=6, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 3936
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            astore 2 /* lhs */
        start local 2 // jdk.nashorn.internal.ir.Expression lhs
         1: .line 3937
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            astore 3 /* rhs */
        start local 3 // jdk.nashorn.internal.ir.Expression rhs
         2: .line 3939
            aload 3 /* rhs */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 4 /* rhsType */
        start local 4 // jdk.nashorn.internal.codegen.types.Type rhsType
         3: .line 3941
            aload 2 /* lhs */
            instanceof jdk.nashorn.internal.ir.IdentNode
            ifeq 9
         4: .line 3942
            aload 2 /* lhs */
            checkcast jdk.nashorn.internal.ir.IdentNode
            invokevirtual jdk.nashorn.internal.ir.IdentNode.getSymbol:()Ljdk/nashorn/internal/ir/Symbol;
            astore 5 /* symbol */
        start local 5 // jdk.nashorn.internal.ir.Symbol symbol
         5: .line 3943
            aload 5 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifne 9
            aload 5 /* symbol */
            aload 4 /* rhsType */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlotFor:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ifne 9
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            ifeq 9
         6: .line 3944
            aload 0 /* this */
            aload 3 /* rhs */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         7: .line 3945
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* symbol */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadLocalVariable:(Ljdk/nashorn/internal/ir/Symbol;)V
         8: .line 3946
            return
        end local 5 // jdk.nashorn.internal.ir.Symbol symbol
         9: .line 3950
      StackMap locals: jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
            new jdk.nashorn.internal.codegen.CodeGenerator$16
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 2 /* lhs */
            aload 3 /* rhs */
            aload 4 /* rhsType */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$16.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)V
        10: .line 3957
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$16.store:()V
        11: .line 3958
            return
        end local 4 // jdk.nashorn.internal.codegen.types.Type rhsType
        end local 3 // jdk.nashorn.internal.ir.Expression rhs
        end local 2 // jdk.nashorn.internal.ir.Expression lhs
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   12     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   12     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            1   12     2         lhs  Ljdk/nashorn/internal/ir/Expression;
            2   12     3         rhs  Ljdk/nashorn/internal/ir/Expression;
            3   12     4     rhsType  Ljdk/nashorn/internal/codegen/types/Type;
            5    9     5      symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_ADD(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4021
            new jdk.nashorn.internal.codegen.CodeGenerator$17
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$17.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4027
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$17.store:()V
         2: .line 4028
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_BIT_AND(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4031
            new jdk.nashorn.internal.codegen.CodeGenerator$18
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$18.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4036
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$18.store:()V
         2: .line 4037
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_BIT_OR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4040
            new jdk.nashorn.internal.codegen.CodeGenerator$19
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$19.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4045
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$19.store:()V
         2: .line 4046
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_BIT_XOR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4049
            new jdk.nashorn.internal.codegen.CodeGenerator$20
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$20.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4054
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$20.store:()V
         2: .line 4055
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_DIV(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4058
            new jdk.nashorn.internal.codegen.CodeGenerator$21
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$21.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4063
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$21.store:()V
         2: .line 4064
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_MOD(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4067
            new jdk.nashorn.internal.codegen.CodeGenerator$22
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$22.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4072
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$22.store:()V
         2: .line 4073
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_MUL(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4076
            new jdk.nashorn.internal.codegen.CodeGenerator$23
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$23.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4081
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$23.store:()V
         2: .line 4082
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_SAR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4085
            new jdk.nashorn.internal.codegen.CodeGenerator$24
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$24.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4090
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$24.store:()V
         2: .line 4091
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_SHL(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4094
            new jdk.nashorn.internal.codegen.CodeGenerator$25
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$25.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4099
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$25.store:()V
         2: .line 4100
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadASSIGN_SHR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=7, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4103
            new jdk.nashorn.internal.codegen.CodeGenerator$26
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$26.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4129
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$26.store:()V
         2: .line 4130
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void doSHR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=9, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4133
            new jdk.nashorn.internal.codegen.CodeGenerator$27
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            new jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
            dup
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            getstatic jdk.nashorn.internal.codegen.types.Type.NUMBER:Ljdk/nashorn/internal/codegen/types/NumericType;
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.<init>:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)V
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$27.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/Optimistic;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4152
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$27.emit:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4154
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void toUint32Optimistic(int);
    descriptor: (I)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // int programPoint
         0: .line 4157
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 1 /* programPoint */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4158
            getstatic jdk.nashorn.internal.runtime.JSType.TO_UINT32_OPTIMISTIC:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4159
            return
        end local 1 // int programPoint
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  programPoint  I
    MethodParameters:
              Name  Flags
      programPoint  final

  private void toUint32Double();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4162
            getstatic jdk.nashorn.internal.runtime.JSType.TO_UINT32_DOUBLE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants$Call.invoke:(Ljdk/nashorn/internal/codegen/MethodEmitter;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4163
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private void loadASSIGN_SUB(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4166
            new jdk.nashorn.internal.codegen.CodeGenerator$28
            dup
            aload 0 /* this */
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$28.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4171
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$28.store:()V
         2: .line 4172
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadBIT_AND(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4215
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4216
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.and:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4217
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadBIT_OR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4221
            aload 1 /* binaryNode */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.isRhsZero:(Ljdk/nashorn/internal/ir/BinaryNode;)Z
            ifeq 3
         1: .line 4222
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            getstatic jdk.nashorn.internal.codegen.types.Type.INT:Ljdk/nashorn/internal/codegen/types/BitwiseType;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadExpressionAsType:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4223
            goto 5
         3: .line 4224
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         4: .line 4225
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.or:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 4227
      StackMap locals:
      StackMap stack:
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    6     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    6     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private static boolean isRhsZero(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4230
            aload 0 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            astore 1 /* rhs */
        start local 1 // jdk.nashorn.internal.ir.Expression rhs
         1: .line 4231
            aload 1 /* rhs */
            instanceof jdk.nashorn.internal.ir.LiteralNode
            ifeq 2
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.INT_ZERO:Ljava/lang/Integer;
            aload 1 /* rhs */
            checkcast jdk.nashorn.internal.ir.LiteralNode
            invokevirtual jdk.nashorn.internal.ir.LiteralNode.getValue:()Ljava/lang/Object;
            invokevirtual java.lang.Integer.equals:(Ljava/lang/Object;)Z
            ifeq 2
            iconst_1
            ireturn
      StackMap locals: jdk.nashorn.internal.ir.Expression
      StackMap stack:
         2: iconst_0
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Expression rhs
        end local 0 // jdk.nashorn.internal.ir.BinaryNode binaryNode
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            1    3     1         rhs  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadBIT_XOR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4235
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4236
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.xor:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4237
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadCOMMARIGHT(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4240
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.lhs:()Ljdk/nashorn/internal/ir/Expression;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadAndDiscard:(Ljdk/nashorn/internal/ir/Expression;)V
         1: .line 4241
            aload 0 /* this */
            aload 1 /* binaryNode */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.ir.BinaryNode.rhs:()Ljdk/nashorn/internal/ir/Expression;
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         2: .line 4242
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  private void loadDIV(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4245
            new jdk.nashorn.internal.codegen.CodeGenerator$29
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$29.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
         1: .line 4250
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$29.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         2: .line 4251
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  private void loadCmp(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.Condition);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/Condition;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.Condition cond
         0: .line 4254
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadComparisonOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4256
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "trueLabel"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 3 /* trueLabel */
        start local 3 // jdk.nashorn.internal.codegen.Label trueLabel
         2: .line 4257
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "skip"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 4 /* afterLabel */
        start local 4 // jdk.nashorn.internal.codegen.Label afterLabel
         3: .line 4259
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* cond */
            aload 3 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.conditionalJump:(Ljdk/nashorn/internal/codegen/Condition;Ljdk/nashorn/internal/codegen/Label;)V
         4: .line 4261
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic java.lang.Boolean.FALSE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         5: .line 4262
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
         6: .line 4263
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* trueLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         7: .line 4264
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic java.lang.Boolean.TRUE:Ljava/lang/Boolean;
            invokevirtual java.lang.Boolean.booleanValue:()Z
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Z)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         8: .line 4265
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* afterLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         9: .line 4266
            return
        end local 4 // jdk.nashorn.internal.codegen.Label afterLabel
        end local 3 // jdk.nashorn.internal.codegen.Label trueLabel
        end local 2 // jdk.nashorn.internal.codegen.Condition cond
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0   10     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   10     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0   10     2        cond  Ljdk/nashorn/internal/codegen/Condition;
            2   10     3   trueLabel  Ljdk/nashorn/internal/codegen/Label;
            3   10     4  afterLabel  Ljdk/nashorn/internal/codegen/Label;
    MethodParameters:
            Name  Flags
      binaryNode  final
      cond        final

  private void loadMOD(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4269
            new jdk.nashorn.internal.codegen.CodeGenerator$30
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$30.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
         1: .line 4274
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$30.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         2: .line 4275
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  private void loadMUL(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4278
            new jdk.nashorn.internal.codegen.CodeGenerator$31
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$31.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
         1: .line 4283
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$31.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         2: .line 4284
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  private void loadSAR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4287
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4288
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.sar:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4289
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadSHL(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4292
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadBinaryOperands:(Ljdk/nashorn/internal/ir/BinaryNode;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         1: .line 4293
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.shl:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
         2: .line 4294
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    3     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadSHR(jdk.nashorn.internal.ir.BinaryNode);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
         0: .line 4297
            aload 0 /* this */
            aload 1 /* binaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.doSHR:(Ljdk/nashorn/internal/ir/BinaryNode;)V
         1: .line 4298
            return
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    2     0        this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
    MethodParameters:
            Name  Flags
      binaryNode  final

  private void loadSUB(jdk.nashorn.internal.ir.BinaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4301
            new jdk.nashorn.internal.codegen.CodeGenerator$32
            dup
            aload 0 /* this */
            aload 0 /* this */
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$32.<init>:(Ljdk/nashorn/internal/codegen/CodeGenerator;Ljdk/nashorn/internal/codegen/CodeGenerator;)V
         1: .line 4306
            aload 1 /* binaryNode */
            aload 2 /* resultBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$32.evaluate:(Ljdk/nashorn/internal/ir/BinaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
         2: .line 4307
            return
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.BinaryNode binaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0    3     0          this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    3     1    binaryNode  Ljdk/nashorn/internal/ir/BinaryNode;
            0    3     2  resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
    MethodParameters:
              Name  Flags
      binaryNode    final
      resultBounds  final

  public boolean enterLabelNode(jdk.nashorn.internal.ir.LabelNode);
    descriptor: (Ljdk/nashorn/internal/ir/LabelNode;)Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.LabelNode labelNode
         0: .line 4311
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.labeledBlockBreakLiveLocals:Ljdk/nashorn/internal/IntDeque;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getUsedSlotCount:()I
            invokevirtual jdk.nashorn.internal.IntDeque.push:(I)V
         1: .line 4312
            iconst_1
            ireturn
        end local 1 // jdk.nashorn.internal.ir.LabelNode labelNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot       Name  Signature
            0    2     0       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    2     1  labelNode  Ljdk/nashorn/internal/ir/LabelNode;
    MethodParameters:
           Name  Flags
      labelNode  final

  protected boolean enterDefault(jdk.nashorn.internal.ir.Node);
    descriptor: (Ljdk/nashorn/internal/ir/Node;)Z
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Node node
         0: .line 4317
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Code generator entered node of type "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* node */
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.getName:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 1 // jdk.nashorn.internal.ir.Node node
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  node  Ljdk/nashorn/internal/ir/Node;
    MethodParameters:
      Name  Flags
      node  final

  private void loadTernaryNode(jdk.nashorn.internal.ir.TernaryNode, jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds);
    descriptor: (Ljdk/nashorn/internal/ir/TernaryNode;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=11, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.TernaryNode ternaryNode
        start local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
         0: .line 4321
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTest:()Ljdk/nashorn/internal/ir/Expression;
            astore 3 /* test */
        start local 3 // jdk.nashorn.internal.ir.Expression test
         1: .line 4322
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getTrueExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            astore 4 /* trueExpr */
        start local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression trueExpr
         2: .line 4323
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.ir.TernaryNode.getFalseExpression:()Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            astore 5 /* falseExpr */
        start local 5 // jdk.nashorn.internal.ir.JoinPredecessorExpression falseExpr
         3: .line 4325
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "ternary_false"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 6 /* falseLabel */
        start local 6 // jdk.nashorn.internal.codegen.Label falseLabel
         4: .line 4326
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc "ternary_exit"
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 7 /* exitLabel */
        start local 7 // jdk.nashorn.internal.codegen.Label exitLabel
         5: .line 4328
            aload 2 /* resultBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.widest:Ljdk/nashorn/internal/codegen/types/Type;
            aload 4 /* trueExpr */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 5 /* falseExpr */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.widestReturnType:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.narrowest:(Ljdk/nashorn/internal/codegen/types/Type;Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 8 /* outNarrowest */
        start local 8 // jdk.nashorn.internal.codegen.types.Type outNarrowest
         6: .line 4329
            aload 2 /* resultBounds */
            aload 8 /* outNarrowest */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.notNarrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            astore 9 /* outBounds */
        start local 9 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds outBounds
         7: .line 4331
            aload 0 /* this */
            aload 3 /* test */
            aload 6 /* falseLabel */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.emitBranch:(Ljdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/Label;Z)V
         8: .line 4333
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            aload 1 /* ternaryNode */
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popDiscardIfCurrent:(Ljdk/nashorn/internal/ir/Expression;)Z
            istore 10 /* isCurrentDiscard */
        start local 10 // boolean isCurrentDiscard
         9: .line 4334
            aload 0 /* this */
            iload 10 /* isCurrentDiscard */
            aload 4 /* trueExpr */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 9 /* outBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
        10: .line 4335
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 11
            iload 10 /* isCurrentDiscard */
            ifne 11
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 9 /* outBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 11
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        11: .line 4336
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.TernaryNode jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds jdk.nashorn.internal.ir.Expression jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.ir.JoinPredecessorExpression jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.types.Type jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds int
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* trueExpr */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        12: .line 4337
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* exitLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        13: .line 4338
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* falseLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        14: .line 4339
            aload 0 /* this */
            iload 10 /* isCurrentDiscard */
            aload 5 /* falseExpr */
            invokevirtual jdk.nashorn.internal.ir.JoinPredecessorExpression.getExpression:()Ljdk/nashorn/internal/ir/Expression;
            aload 9 /* outBounds */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadMaybeDiscard:(ZLjdk/nashorn/internal/ir/Expression;Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;)V
        15: .line 4340
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 16
            iload 10 /* isCurrentDiscard */
            ifne 16
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokestatic jdk.nashorn.internal.codegen.types.Type.generic:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/types/Type;
            aload 9 /* outBounds */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds.narrowest:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpeq 16
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        16: .line 4341
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 5 /* falseExpr */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.beforeJoinPoint:(Ljdk/nashorn/internal/ir/JoinPredecessor;)V
        17: .line 4342
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* exitLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        18: .line 4343
            return
        end local 10 // boolean isCurrentDiscard
        end local 9 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds outBounds
        end local 8 // jdk.nashorn.internal.codegen.types.Type outNarrowest
        end local 7 // jdk.nashorn.internal.codegen.Label exitLabel
        end local 6 // jdk.nashorn.internal.codegen.Label falseLabel
        end local 5 // jdk.nashorn.internal.ir.JoinPredecessorExpression falseExpr
        end local 4 // jdk.nashorn.internal.ir.JoinPredecessorExpression trueExpr
        end local 3 // jdk.nashorn.internal.ir.Expression test
        end local 2 // jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds resultBounds
        end local 1 // jdk.nashorn.internal.ir.TernaryNode ternaryNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot              Name  Signature
            0   19     0              this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   19     1       ternaryNode  Ljdk/nashorn/internal/ir/TernaryNode;
            0   19     2      resultBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            1   19     3              test  Ljdk/nashorn/internal/ir/Expression;
            2   19     4          trueExpr  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            3   19     5         falseExpr  Ljdk/nashorn/internal/ir/JoinPredecessorExpression;
            4   19     6        falseLabel  Ljdk/nashorn/internal/codegen/Label;
            5   19     7         exitLabel  Ljdk/nashorn/internal/codegen/Label;
            6   19     8      outNarrowest  Ljdk/nashorn/internal/codegen/types/Type;
            7   19     9         outBounds  Ljdk/nashorn/internal/codegen/CodeGenerator$TypeBounds;
            9   19    10  isCurrentDiscard  Z
    MethodParameters:
              Name  Flags
      ternaryNode   final
      resultBounds  final

  void generateScopeCalls();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=3, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4349
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getScopeCalls:()Ljava/util/Collection;
            invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
            astore 2
            goto 3
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator top java.util.Iterator
      StackMap stack:
         1: aload 2
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.SharedScopeCall
            astore 1 /* scopeAccess */
        start local 1 // jdk.nashorn.internal.codegen.SharedScopeCall scopeAccess
         2: .line 4350
            aload 1 /* scopeAccess */
            invokevirtual jdk.nashorn.internal.codegen.SharedScopeCall.generateScopeCall:()V
        end local 1 // jdk.nashorn.internal.codegen.SharedScopeCall scopeAccess
         3: .line 4349
      StackMap locals:
      StackMap stack:
            aload 2
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 1
         4: .line 4352
            return
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot         Name  Signature
            0    5     0         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            2    3     1  scopeAccess  Ljdk/nashorn/internal/codegen/SharedScopeCall;

  private void printSymbols(jdk.nashorn.internal.ir.Block, jdk.nashorn.internal.ir.FunctionNode, java.lang.String);
    descriptor: (Ljdk/nashorn/internal/ir/Block;Ljdk/nashorn/internal/ir/FunctionNode;Ljava/lang/String;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.Block block
        start local 2 // jdk.nashorn.internal.ir.FunctionNode function
        start local 3 // java.lang.String ident
         0: .line 4362
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            getfield jdk.nashorn.internal.runtime.ScriptEnvironment._print_symbols:Z
            ifne 1
            aload 2 /* function */
            bipush 16
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getDebugFlag:(I)Z
            ifeq 6
         1: .line 4363
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptEnvironment:()Ljdk/nashorn/internal/runtime/ScriptEnvironment;
            invokevirtual jdk.nashorn.internal.runtime.ScriptEnvironment.getErr:()Ljava/io/PrintWriter;
            astore 4 /* out */
        start local 4 // java.io.PrintWriter out
         2: .line 4364
            aload 4 /* out */
            new java.lang.StringBuilder
            dup
            ldc "[BLOCK in '"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* ident */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "']"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         3: .line 4365
            aload 1 /* block */
            aload 4 /* out */
            invokevirtual jdk.nashorn.internal.ir.Block.printSymbols:(Ljava/io/PrintWriter;)Z
            ifne 5
         4: .line 4366
            aload 4 /* out */
            ldc "<no symbols>"
            invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
         5: .line 4368
      StackMap locals: java.io.PrintWriter
      StackMap stack:
            aload 4 /* out */
            invokevirtual java.io.PrintWriter.println:()V
        end local 4 // java.io.PrintWriter out
         6: .line 4370
      StackMap locals:
      StackMap stack:
            return
        end local 3 // java.lang.String ident
        end local 2 // jdk.nashorn.internal.ir.FunctionNode function
        end local 1 // jdk.nashorn.internal.ir.Block block
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot      Name  Signature
            0    7     0      this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1     block  Ljdk/nashorn/internal/ir/Block;
            0    7     2  function  Ljdk/nashorn/internal/ir/FunctionNode;
            0    7     3     ident  Ljava/lang/String;
            2    6     4       out  Ljava/io/PrintWriter;
    MethodParameters:
          Name  Flags
      block     final
      function  final
      ident     final

  private void newFunctionObject(jdk.nashorn.internal.ir.FunctionNode, boolean);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;Z)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=5, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        start local 2 // boolean addInitializer
         0: .line 4614
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.peek:()Ljdk/nashorn/internal/ir/LexicalContextNode;
            aload 1 /* functionNode */
            if_acmpeq 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 4616
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getId:()I
            invokevirtual jdk.nashorn.internal.codegen.Compiler.getScriptFunctionData:(I)Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            astore 3 /* data */
        start local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
         2: .line 4618
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.isProgram:()Z
            ifeq 13
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
            ifne 13
         3: .line 4619
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.getClassEmitter:()Ljdk/nashorn/internal/codegen/ClassEmitter;
         4: .line 4620
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.PUBLIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            getstatic jdk.nashorn.internal.codegen.ClassEmitter$Flag.STATIC:Ljdk/nashorn/internal/codegen/ClassEmitter$Flag;
            invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.CREATE_PROGRAM_FUNCTION:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.CompilerConstants.symbolName:()Ljava/lang/String;
         5: .line 4621
            ldc Ljdk/nashorn/internal/runtime/ScriptFunction;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aastore
         6: .line 4619
            invokevirtual jdk.nashorn.internal.codegen.ClassEmitter.method:(Ljava/util/EnumSet;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            astore 4 /* createFunction */
        start local 4 // jdk.nashorn.internal.codegen.MethodEmitter createFunction
         7: .line 4622
            aload 4 /* createFunction */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.begin:()V
         8: .line 4623
            aload 0 /* this */
            aload 3 /* data */
            aload 4 /* createFunction */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstantsAndIndex:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
         9: .line 4624
            aload 4 /* createFunction */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.SCOPE_TYPE:Ljdk/nashorn/internal/codegen/types/Type;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        10: .line 4625
            aload 4 /* createFunction */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 4626
            aload 4 /* createFunction */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._return:()V
        12: .line 4627
            aload 4 /* createFunction */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.end:()V
        end local 4 // jdk.nashorn.internal.codegen.MethodEmitter createFunction
        13: .line 4630
      StackMap locals: jdk.nashorn.internal.runtime.RecompilableScriptFunctionData
      StackMap stack:
            iload 2 /* addInitializer */
            ifeq 15
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.compiler:Ljdk/nashorn/internal/codegen/Compiler;
            invokevirtual jdk.nashorn.internal.codegen.Compiler.isOnDemandCompilation:()Z
            ifne 15
        14: .line 4631
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getCompileUnit:()Ljdk/nashorn/internal/codegen/CompileUnit;
            aload 3 /* data */
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.codegen.CompileUnit.addFunctionInitializer:(Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;Ljdk/nashorn/internal/ir/FunctionNode;)V
        15: .line 4636
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getOutermostFunction:()Ljdk/nashorn/internal/ir/FunctionNode;
            aload 1 /* functionNode */
            if_acmpne 17
        16: .line 4637
            return
        17: .line 4640
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 3 /* data */
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstantsAndIndex:(Ljava/lang/Object;Ljdk/nashorn/internal/codegen/MethodEmitter;)V
        18: .line 4642
            aload 1 /* functionNode */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.needsParentScope:()Z
            ifeq 22
        19: .line 4643
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CompilerConstants.SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadCompilerConstant:(Ljdk/nashorn/internal/codegen/CompilerConstants;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 4644
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        21: .line 4645
            goto 23
        22: .line 4646
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_FUNCTION_OBJECT_NO_SCOPE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        23: .line 4648
      StackMap locals:
      StackMap stack:
            return
        end local 3 // jdk.nashorn.internal.runtime.RecompilableScriptFunctionData data
        end local 2 // boolean addInitializer
        end local 1 // jdk.nashorn.internal.ir.FunctionNode functionNode
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   24     0            this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0   24     1    functionNode  Ljdk/nashorn/internal/ir/FunctionNode;
            0   24     2  addInitializer  Z
            2   24     3            data  Ljdk/nashorn/internal/runtime/RecompilableScriptFunctionData;
            7   13     4  createFunction  Ljdk/nashorn/internal/codegen/MethodEmitter;
    MethodParameters:
                Name  Flags
      functionNode    final
      addInitializer  final

  private jdk.nashorn.internal.codegen.MethodEmitter globalInstance();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4652
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "instance"
            new java.lang.StringBuilder
            dup
            ldc "()L"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            bipush 59
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalAllocateArguments();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4656
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "allocateArguments"
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            iconst_3
            anewarray java.lang.Class
            dup
            iconst_0
            ldc [Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalNewRegExp();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4660
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "newRegExp"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/String;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/String;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalRegExpCopy();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4664
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "regExpCopy"
            ldc Ljava/lang/Object;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalAllocateArray(jdk.nashorn.internal.codegen.types.ArrayType);
    descriptor: (Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.codegen.types.ArrayType type
         0: .line 4669
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "allocate"
            new java.lang.StringBuilder
            dup
            ldc "("
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* type */
            invokevirtual jdk.nashorn.internal.codegen.types.ArrayType.getDescriptor:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc ")Ljdk/nashorn/internal/objects/NativeArray;"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 1 // jdk.nashorn.internal.codegen.types.ArrayType type
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    1     1  type  Ljdk/nashorn/internal/codegen/types/ArrayType;
    MethodParameters:
      Name  Flags
      type  final

  private jdk.nashorn.internal.codegen.MethodEmitter globalIsEval();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4673
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "isEval"
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalReplaceLocationPropertyPlaceholder();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4677
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "replaceLocationPropertyPlaceholder"
            ldc Ljava/lang/Object;
            iconst_2
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalCheckObjectCoercible();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4681
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "checkObjectCoercible"
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            iconst_1
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private jdk.nashorn.internal.codegen.MethodEmitter globalDirectEval();
    descriptor: ()Ljdk/nashorn/internal/codegen/MethodEmitter;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=8, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 4685
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.GLOBAL_OBJECT:Ljava/lang/String;
            ldc "directEval"
         1: .line 4686
            ldc Ljava/lang/Object;
            iconst_5
            anewarray java.lang.Class
            dup
            iconst_0
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_1
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_2
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_3
            ldc Ljava/lang/Object;
            aastore
            dup
            iconst_4
            getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
            aastore
            invokestatic jdk.nashorn.internal.codegen.CompilerConstants.methodDescriptor:(Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/String;
         2: .line 4685
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invokestatic:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    3     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private static boolean isOptimistic(jdk.nashorn.internal.ir.Optimistic);
    descriptor: (Ljdk/nashorn/internal/ir/Optimistic;)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=1
        start local 0 // jdk.nashorn.internal.ir.Optimistic optimistic
         0: .line 5023
            aload 0 /* optimistic */
            invokeinterface jdk.nashorn.internal.ir.Optimistic.canBeOptimistic:()Z
            ifne 2
         1: .line 5024
            iconst_0
            ireturn
         2: .line 5026
      StackMap locals:
      StackMap stack:
            aload 0 /* optimistic */
            checkcast jdk.nashorn.internal.ir.Expression
            astore 1 /* expr */
        start local 1 // jdk.nashorn.internal.ir.Expression expr
         3: .line 5027
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.Expression.getType:()Ljdk/nashorn/internal/codegen/types/Type;
            aload 1 /* expr */
            invokevirtual jdk.nashorn.internal.ir.Expression.getWidestOperationType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.narrowerThan:(Ljdk/nashorn/internal/codegen/types/Type;)Z
            ireturn
        end local 1 // jdk.nashorn.internal.ir.Expression expr
        end local 0 // jdk.nashorn.internal.ir.Optimistic optimistic
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    4     0  optimistic  Ljdk/nashorn/internal/ir/Optimistic;
            3    4     1        expr  Ljdk/nashorn/internal/ir/Expression;
    MethodParameters:
            Name  Flags
      optimistic  final

  private static boolean everyLocalLoadIsValid(int[], int);
    descriptor: ([II)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=2
        start local 0 // int[] loads
        start local 1 // int localCount
         0: .line 5031
            aload 0 /* loads */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: int[] int top int int int[]
      StackMap stack:
         1: aload 5
            iload 3
            iaload
            istore 2 /* load */
        start local 2 // int load
         2: .line 5032
            iload 2 /* load */
            iflt 3
            iload 2 /* load */
            iload 1 /* localCount */
            if_icmplt 4
         3: .line 5033
      StackMap locals: int[] int int int int int[]
      StackMap stack:
            iconst_0
            ireturn
        end local 2 // int load
         4: .line 5031
      StackMap locals: int[] int top int int int[]
      StackMap stack:
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 1
         6: .line 5036
            iconst_1
            ireturn
        end local 1 // int localCount
        end local 0 // int[] loads
      LocalVariableTable:
        Start  End  Slot        Name  Signature
            0    7     0       loads  [I
            0    7     1  localCount  I
            2    4     2        load  I
    MethodParameters:
            Name  Flags
      loads       final
      localCount  final

  private static boolean everyStackValueIsLocalLoad(int[]);
    descriptor: ([I)Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=1
        start local 0 // int[] loads
         0: .line 5040
            aload 0 /* loads */
            dup
            astore 4
            arraylength
            istore 3
            iconst_0
            istore 2
            goto 5
      StackMap locals: int[] top int int int[]
      StackMap stack:
         1: aload 4
            iload 2
            iaload
            istore 1 /* load */
        start local 1 // int load
         2: .line 5041
            iload 1 /* load */
            iconst_m1
            if_icmpne 4
         3: .line 5042
            iconst_0
            ireturn
        end local 1 // int load
         4: .line 5040
      StackMap locals:
      StackMap stack:
            iinc 2 1
      StackMap locals:
      StackMap stack:
         5: iload 2
            iload 3
            if_icmplt 1
         6: .line 5045
            iconst_1
            ireturn
        end local 0 // int[] loads
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    7     0  loads  [I
            2    4     1   load  I
    MethodParameters:
       Name  Flags
      loads  final

  private java.lang.String getLvarTypesDescriptor(java.util.List<jdk.nashorn.internal.codegen.types.Type>);
    descriptor: (Ljava/util/List;)Ljava/lang/String;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // java.util.List localVarTypes
         0: .line 5049
            aload 1 /* localVarTypes */
            invokeinterface java.util.List.size:()I
            istore 2 /* count */
        start local 2 // int count
         1: .line 5050
            new java.lang.StringBuilder
            dup
            iload 2 /* count */
            invokespecial java.lang.StringBuilder.<init>:(I)V
            astore 3 /* desc */
        start local 3 // java.lang.StringBuilder desc
         2: .line 5051
            iconst_0
            istore 4 /* i */
        start local 4 // int i
         3: goto 5
         4: .line 5052
      StackMap locals: int java.lang.StringBuilder int
      StackMap stack:
            iload 4 /* i */
            aload 3 /* desc */
            aload 1 /* localVarTypes */
            iload 4 /* i */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.appendType:(Ljava/lang/StringBuilder;Ljdk/nashorn/internal/codegen/types/Type;)I
            iadd
            istore 4 /* i */
         5: .line 5051
      StackMap locals:
      StackMap stack:
            iload 4 /* i */
            iload 2 /* count */
            if_icmplt 4
        end local 4 // int i
         6: .line 5054
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* desc */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markSymbolBoundariesInLvarTypesDescriptor:(Ljava/lang/String;)Ljava/lang/String;
            areturn
        end local 3 // java.lang.StringBuilder desc
        end local 2 // int count
        end local 1 // java.util.List localVarTypes
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            0    7     0           this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0    7     1  localVarTypes  Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
            1    7     2          count  I
            2    7     3           desc  Ljava/lang/StringBuilder;
            3    6     4              i  I
    Signature: (Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;)Ljava/lang/String;
    MethodParameters:
               Name  Flags
      localVarTypes  final

  private static int appendType(java.lang.StringBuilder, jdk.nashorn.internal.codegen.types.Type);
    descriptor: (Ljava/lang/StringBuilder;Ljdk/nashorn/internal/codegen/types/Type;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // java.lang.StringBuilder b
        start local 1 // jdk.nashorn.internal.codegen.types.Type t
         0: .line 5058
            aload 0 /* b */
            aload 1 /* t */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getBytecodeStackType:()C
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
         1: .line 5059
            aload 1 /* t */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            ireturn
        end local 1 // jdk.nashorn.internal.codegen.types.Type t
        end local 0 // java.lang.StringBuilder b
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0     b  Ljava/lang/StringBuilder;
            0    2     1     t  Ljdk/nashorn/internal/codegen/types/Type;
    MethodParameters:
      Name  Flags
      b     final
      t     final

  private static int countSymbolsInLvarTypeDescriptor(java.lang.String);
    descriptor: (Ljava/lang/String;)I
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=1
        start local 0 // java.lang.String lvarTypeDescriptor
         0: .line 5063
            iconst_0
            istore 1 /* count */
        start local 1 // int count
         1: .line 5064
            iconst_0
            istore 2 /* i */
        start local 2 // int i
         2: goto 6
         3: .line 5065
      StackMap locals: int int
      StackMap stack:
            aload 0 /* lvarTypeDescriptor */
            iload 2 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 5
         4: .line 5066
            iinc 1 /* count */ 1
         5: .line 5064
      StackMap locals:
      StackMap stack:
            iinc 2 /* i */ 1
      StackMap locals:
      StackMap stack:
         6: iload 2 /* i */
            aload 0 /* lvarTypeDescriptor */
            invokevirtual java.lang.String.length:()I
            if_icmplt 3
        end local 2 // int i
         7: .line 5069
            iload 1 /* count */
            ireturn
        end local 1 // int count
        end local 0 // java.lang.String lvarTypeDescriptor
      LocalVariableTable:
        Start  End  Slot                Name  Signature
            0    8     0  lvarTypeDescriptor  Ljava/lang/String;
            1    8     1               count  I
            2    7     2                   i  I
    MethodParameters:
                    Name  Flags
      lvarTypeDescriptor  final

  private boolean generateUnwarrantedOptimismExceptionHandlers(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)Z
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=6, locals=20, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
        start local 1 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 5083
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.useOptimisticTypes:()Z
            ifne 2
         1: .line 5084
            iconst_0
            ireturn
         2: .line 5089
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            checkcast jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext
            invokevirtual jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.popUnwarrantedOptimismHandlers:()Ljava/util/Map;
            astore 2 /* unwarrantedOptimismHandlers */
        start local 2 // java.util.Map unwarrantedOptimismHandlers
         3: .line 5090
            aload 2 /* unwarrantedOptimismHandlers */
            invokeinterface java.util.Map.isEmpty:()Z
            ifeq 5
         4: .line 5091
            iconst_0
            ireturn
         5: .line 5094
      StackMap locals: java.util.Map
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
         6: .line 5096
            new java.util.ArrayList
            dup
            aload 2 /* unwarrantedOptimismHandlers */
            invokeinterface java.util.Map.size:()I
            iconst_4
            imul
            iconst_3
            idiv
            invokespecial java.util.ArrayList.<init>:(I)V
            astore 3 /* handlerSpecs */
        start local 3 // java.util.List handlerSpecs
         7: .line 5097
            aload 2 /* unwarrantedOptimismHandlers */
            invokeinterface java.util.Map.keySet:()Ljava/util/Set;
            invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
            astore 5
            goto 10
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List top java.util.Iterator
      StackMap stack:
         8: aload 5
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast java.lang.String
            astore 4 /* spec */
        start local 4 // java.lang.String spec
         9: .line 5098
            aload 3 /* handlerSpecs */
            new jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            dup
            aload 4 /* spec */
            iconst_1
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.<init>:(Ljava/lang/String;Z)V
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 4 // java.lang.String spec
        10: .line 5097
      StackMap locals:
      StackMap stack:
            aload 5
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 8
        11: .line 5100
            aload 3 /* handlerSpecs */
            invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
            invokestatic java.util.Collections.sort:(Ljava/util/List;Ljava/util/Comparator;)V
        12: .line 5103
            new java.util.HashMap
            dup
            invokespecial java.util.HashMap.<init>:()V
            astore 4 /* delegationLabels */
        start local 4 // java.util.Map delegationLabels
        13: .line 5107
            iconst_0
            istore 5 /* handlerIndex */
        start local 5 // int handlerIndex
        14: goto 108
        15: .line 5108
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int
      StackMap stack:
            aload 3 /* handlerSpecs */
            iload 5 /* handlerIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            astore 6 /* spec */
        start local 6 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec spec
        16: .line 5109
            aload 6 /* spec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
            astore 7 /* lvarSpec */
        start local 7 // java.lang.String lvarSpec
        17: .line 5110
            aload 6 /* spec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.catchTarget:Z
            ifeq 22
        18: .line 5111
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 19
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.isReachable:()Z
            ifeq 19
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        19: .line 5113
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 2 /* unwarrantedOptimismHandlers */
            aload 7 /* lvarSpec */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast java.util.Collection
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljava/util/Collection;)V
        20: .line 5116
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 7 /* lvarSpec */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.countSymbolsInLvarTypeDescriptor:(Ljava/lang/String;)I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        21: .line 5117
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/types/ArrayType;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.newarray:(Ljdk/nashorn/internal/codegen/types/ArrayType;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        22: .line 5119
      StackMap locals:
      StackMap stack:
            aload 6 /* spec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.delegationTarget:Z
            ifeq 24
        23: .line 5122
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 4 /* delegationLabels */
            aload 7 /* lvarSpec */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        24: .line 5125
      StackMap locals:
      StackMap stack:
            iload 5 /* handlerIndex */
            aload 3 /* handlerSpecs */
            invokeinterface java.util.List.size:()I
            iconst_1
            isub
            if_icmpne 25
            iconst_1
            goto 26
      StackMap locals:
      StackMap stack:
        25: iconst_0
      StackMap locals:
      StackMap stack: int
        26: istore 8 /* lastHandler */
        start local 8 // boolean lastHandler
        27: .line 5132
            iload 8 /* lastHandler */
            ifeq 34
        28: .line 5134
            iconst_0
            istore 9 /* lvarIndex */
        start local 9 // int lvarIndex
        29: .line 5135
            iconst_0
            istore 11 /* firstLvarIndex */
        start local 11 // int firstLvarIndex
        30: .line 5136
            iconst_0
            istore 10 /* firstArrayIndex */
        start local 10 // int firstArrayIndex
        31: .line 5137
            aconst_null
            astore 12 /* delegationLabel */
        start local 12 // jdk.nashorn.internal.codegen.Label delegationLabel
        32: .line 5138
            aconst_null
            astore 13 /* commonLvarSpec */
        start local 13 // java.lang.String commonLvarSpec
        33: .line 5139
            goto 65
        end local 13 // java.lang.String commonLvarSpec
        end local 12 // jdk.nashorn.internal.codegen.Label delegationLabel
        end local 11 // int firstLvarIndex
        end local 10 // int firstArrayIndex
        end local 9 // int lvarIndex
        34: .line 5146
      StackMap locals: int
      StackMap stack:
            iload 5 /* handlerIndex */
            iconst_1
            iadd
            istore 14 /* nextHandlerIndex */
        start local 14 // int nextHandlerIndex
        35: .line 5147
            aload 3 /* handlerSpecs */
            iload 14 /* nextHandlerIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
            astore 15 /* nextLvarSpec */
        start local 15 // java.lang.String nextLvarSpec
        36: .line 5148
            aload 7 /* lvarSpec */
            aload 15 /* nextLvarSpec */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.commonPrefix:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
            astore 13 /* commonLvarSpec */
        start local 13 // java.lang.String commonLvarSpec
        37: .line 5150
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 38
            aload 13 /* commonLvarSpec */
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.length:()I
            iconst_1
            isub
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifne 38
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        38: .line 5154
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int top top top top java.lang.String int java.lang.String
      StackMap stack:
            iconst_1
            istore 16 /* addNewHandler */
        start local 16 // boolean addNewHandler
        39: .line 5155
            iload 14 /* nextHandlerIndex */
            istore 17 /* commonHandlerIndex */
        start local 17 // int commonHandlerIndex
        40: .line 5156
            goto 50
        41: .line 5157
      StackMap locals: int int
      StackMap stack:
            aload 3 /* handlerSpecs */
            iload 17 /* commonHandlerIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            astore 18 /* forwardHandlerSpec */
        start local 18 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec forwardHandlerSpec
        42: .line 5158
            aload 18 /* forwardHandlerSpec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
            astore 19 /* forwardLvarSpec */
        start local 19 // java.lang.String forwardLvarSpec
        43: .line 5159
            aload 19 /* forwardLvarSpec */
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 47
        44: .line 5161
            iconst_0
            istore 16 /* addNewHandler */
        45: .line 5163
            aload 18 /* forwardHandlerSpec */
            iconst_1
            putfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.delegationTarget:Z
        46: .line 5164
            goto 51
        47: .line 5165
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String
      StackMap stack:
            aload 19 /* forwardLvarSpec */
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
            ifne 49
        48: .line 5166
            goto 51
        end local 19 // java.lang.String forwardLvarSpec
        end local 18 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec forwardHandlerSpec
        49: .line 5156
      StackMap locals:
      StackMap stack:
            iinc 17 /* commonHandlerIndex */ 1
      StackMap locals:
      StackMap stack:
        50: iload 17 /* commonHandlerIndex */
            aload 3 /* handlerSpecs */
            invokeinterface java.util.List.size:()I
            if_icmplt 41
        51: .line 5169
      StackMap locals:
      StackMap stack:
            iload 16 /* addNewHandler */
            ifeq 53
        52: .line 5173
            aload 3 /* handlerSpecs */
            iload 17 /* commonHandlerIndex */
            new jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            dup
            aload 13 /* commonLvarSpec */
            iconst_0
            invokespecial jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.<init>:(Ljava/lang/String;Z)V
            invokeinterface java.util.List.add:(ILjava/lang/Object;)V
        end local 17 // int commonHandlerIndex
        end local 16 // boolean addNewHandler
        53: .line 5177
      StackMap locals:
      StackMap stack:
            aload 13 /* commonLvarSpec */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.countSymbolsInLvarTypeDescriptor:(Ljava/lang/String;)I
            istore 10 /* firstArrayIndex */
        start local 10 // int firstArrayIndex
        54: .line 5178
            iconst_0
            istore 9 /* lvarIndex */
        start local 9 // int lvarIndex
        55: .line 5179
            iconst_0
            istore 16 /* j */
        start local 16 // int j
        56: goto 59
        57: .line 5180
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int int int top top java.lang.String int java.lang.String int
      StackMap stack:
            iload 9 /* lvarIndex */
            aload 13 /* commonLvarSpec */
            iload 16 /* j */
            invokevirtual java.lang.String.charAt:(I)C
            invokestatic jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getTypeForSlotDescriptor:(C)Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 9 /* lvarIndex */
        58: .line 5179
            iinc 16 /* j */ 1
      StackMap locals:
      StackMap stack:
        59: iload 16 /* j */
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.length:()I
            if_icmplt 57
        end local 16 // int j
        60: .line 5182
            iload 9 /* lvarIndex */
            istore 11 /* firstLvarIndex */
        start local 11 // int firstLvarIndex
        61: .line 5185
            aload 4 /* delegationLabels */
            aload 13 /* commonLvarSpec */
            invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.Label
            astore 12 /* delegationLabel */
        start local 12 // jdk.nashorn.internal.codegen.Label delegationLabel
        62: .line 5186
            aload 12 /* delegationLabel */
            ifnonnull 65
        63: .line 5188
            new jdk.nashorn.internal.codegen.Label
            dup
            new java.lang.StringBuilder
            dup
            ldc "uo_pa_"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 12 /* delegationLabel */
        64: .line 5189
            aload 4 /* delegationLabels */
            aload 13 /* commonLvarSpec */
            aload 12 /* delegationLabel */
            invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
            pop
        end local 15 // java.lang.String nextLvarSpec
        end local 14 // int nextHandlerIndex
        65: .line 5194
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec java.lang.String int int int int jdk.nashorn.internal.codegen.Label java.lang.String
      StackMap stack:
            iconst_0
            istore 14 /* args */
        start local 14 // int args
        66: .line 5195
            iconst_0
            istore 15 /* symbolHadValue */
        start local 15 // boolean symbolHadValue
        67: .line 5196
            aload 13 /* commonLvarSpec */
            ifnonnull 68
            iconst_0
            goto 69
      StackMap locals: int int
      StackMap stack:
        68: aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.length:()I
      StackMap locals:
      StackMap stack: int
        69: istore 16 /* typeIndex */
        start local 16 // int typeIndex
        70: goto 88
        71: .line 5197
      StackMap locals: int
      StackMap stack:
            aload 7 /* lvarSpec */
            iload 16 /* typeIndex */
            invokevirtual java.lang.String.charAt:(I)C
            istore 17 /* typeDesc */
        start local 17 // char typeDesc
        72: .line 5198
            iload 17 /* typeDesc */
            invokestatic jdk.nashorn.internal.codegen.CodeGeneratorLexicalContext.getTypeForSlotDescriptor:(C)Ljdk/nashorn/internal/codegen/types/Type;
            astore 18 /* lvarType */
        start local 18 // jdk.nashorn.internal.codegen.types.Type lvarType
        73: .line 5199
            aload 18 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
            ifne 78
        74: .line 5200
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 18 /* lvarType */
            iload 9 /* lvarIndex */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        75: .line 5201
            iconst_1
            istore 15 /* symbolHadValue */
        76: .line 5202
            iinc 14 /* args */ 1
        77: .line 5203
            goto 84
      StackMap locals: int jdk.nashorn.internal.codegen.types.Type
      StackMap stack:
        78: iload 17 /* typeDesc */
            bipush 85
            if_icmpne 84
            iload 15 /* symbolHadValue */
            ifne 84
        79: .line 5215
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            getstatic jdk.nashorn.internal.codegen.types.Type.UNDEFINED:Ljdk/nashorn/internal/codegen/types/Type;
            if_acmpne 82
        80: .line 5216
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        81: .line 5217
            goto 83
        82: .line 5218
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadUndefined:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        83: .line 5220
      StackMap locals:
      StackMap stack:
            iinc 14 /* args */ 1
        84: .line 5222
      StackMap locals:
      StackMap stack:
            iload 17 /* typeDesc */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 86
        85: .line 5224
            iconst_0
            istore 15 /* symbolHadValue */
        86: .line 5226
      StackMap locals:
      StackMap stack:
            iload 9 /* lvarIndex */
            aload 18 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 9 /* lvarIndex */
        end local 18 // jdk.nashorn.internal.codegen.types.Type lvarType
        end local 17 // char typeDesc
        87: .line 5196
            iinc 16 /* typeIndex */ 1
      StackMap locals:
      StackMap stack:
        88: iload 16 /* typeIndex */
            aload 7 /* lvarSpec */
            invokevirtual java.lang.String.length:()I
            if_icmplt 71
        end local 16 // int typeIndex
        89: .line 5228
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 90
            iload 14 /* args */
            ifgt 90
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        90: .line 5234
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 14 /* args */
            iconst_1
            iadd
            iload 10 /* firstArrayIndex */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dynamicArrayPopulatorCall:(II)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        91: .line 5235
            aload 12 /* delegationLabel */
            ifnull 99
        92: .line 5238
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 93
            iload 8 /* lastHandler */
            ifeq 93
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        93: .line 5239
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 94
            aload 13 /* commonLvarSpec */
            ifnonnull 94
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        94: .line 5242
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 11 /* firstLvarIndex */
            iconst_1
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.undefineLocalVariables:(IZ)V
        95: .line 5243
            aload 3 /* handlerSpecs */
            iload 5 /* handlerIndex */
            iconst_1
            iadd
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
            astore 16 /* nextSpec */
        start local 16 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec nextSpec
        96: .line 5246
            aload 16 /* nextSpec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.lvarSpec:Ljava/lang/String;
            aload 13 /* commonLvarSpec */
            invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
            ifeq 97
            aload 16 /* nextSpec */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec.catchTarget:Z
            ifeq 107
        97: .line 5247
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 12 /* delegationLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        end local 16 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec nextSpec
        98: .line 5249
            goto 107
        99: .line 5250
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 100
            iload 8 /* lastHandler */
            ifne 100
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       100: .line 5255
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* fn */
            invokestatic jdk.nashorn.internal.codegen.CodeGenerator.getByteCodeSymbolNames:(Ljdk/nashorn/internal/ir/FunctionNode;)[Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
       101: .line 5256
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifeq 105
       102: .line 5257
            aload 0 /* this */
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationEntryPoints:()[I
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
       103: .line 5258
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION_REST_OF:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
       104: .line 5259
            goto 106
       105: .line 5260
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.CREATE_REWRITE_EXCEPTION:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
       106: .line 5262
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.athrow:()V
        end local 15 // boolean symbolHadValue
        end local 14 // int args
        end local 13 // java.lang.String commonLvarSpec
        end local 12 // jdk.nashorn.internal.codegen.Label delegationLabel
        end local 11 // int firstLvarIndex
        end local 10 // int firstArrayIndex
        end local 9 // int lvarIndex
        end local 8 // boolean lastHandler
        end local 7 // java.lang.String lvarSpec
        end local 6 // jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec spec
       107: .line 5107
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.ir.FunctionNode java.util.Map java.util.List java.util.Map int
      StackMap stack:
            iinc 5 /* handlerIndex */ 1
      StackMap locals:
      StackMap stack:
       108: iload 5 /* handlerIndex */
            aload 3 /* handlerSpecs */
            invokeinterface java.util.List.size:()I
            if_icmplt 15
        end local 5 // int handlerIndex
       109: .line 5265
            iconst_1
            ireturn
        end local 4 // java.util.Map delegationLabels
        end local 3 // java.util.List handlerSpecs
        end local 2 // java.util.Map unwarrantedOptimismHandlers
        end local 1 // jdk.nashorn.internal.ir.FunctionNode fn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                         Name  Signature
            0  110     0                         this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            0  110     1                           fn  Ljdk/nashorn/internal/ir/FunctionNode;
            3  110     2  unwarrantedOptimismHandlers  Ljava/util/Map<Ljava/lang/String;Ljava/util/Collection<Ljdk/nashorn/internal/codegen/Label;>;>;
            7  110     3                 handlerSpecs  Ljava/util/List<Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;>;
            9   10     4                         spec  Ljava/lang/String;
           13  110     4             delegationLabels  Ljava/util/Map<Ljava/lang/String;Ljdk/nashorn/internal/codegen/Label;>;
           14  109     5                 handlerIndex  I
           16  107     6                         spec  Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
           17  107     7                     lvarSpec  Ljava/lang/String;
           27  107     8                  lastHandler  Z
           29   34     9                    lvarIndex  I
           55  107     9                    lvarIndex  I
           31   34    10              firstArrayIndex  I
           54  107    10              firstArrayIndex  I
           30   34    11               firstLvarIndex  I
           61  107    11               firstLvarIndex  I
           32   34    12              delegationLabel  Ljdk/nashorn/internal/codegen/Label;
           62  107    12              delegationLabel  Ljdk/nashorn/internal/codegen/Label;
           33   34    13               commonLvarSpec  Ljava/lang/String;
           37  107    13               commonLvarSpec  Ljava/lang/String;
           35   65    14             nextHandlerIndex  I
           36   65    15                 nextLvarSpec  Ljava/lang/String;
           39   53    16                addNewHandler  Z
           40   53    17           commonHandlerIndex  I
           42   49    18           forwardHandlerSpec  Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
           43   49    19              forwardLvarSpec  Ljava/lang/String;
           56   60    16                            j  I
           66  107    14                         args  I
           67  107    15               symbolHadValue  Z
           70   89    16                    typeIndex  I
           72   87    17                     typeDesc  C
           73   87    18                     lvarType  Ljdk/nashorn/internal/codegen/types/Type;
           96   98    16                     nextSpec  Ljdk/nashorn/internal/codegen/CodeGenerator$OptimismExceptionHandlerSpec;
    MethodParameters:
      Name  Flags
      fn    final

  private static java.lang.String[] getByteCodeSymbolNames(jdk.nashorn.internal.ir.FunctionNode);
    descriptor: (Ljdk/nashorn/internal/ir/FunctionNode;)[Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=4, args_size=1
        start local 0 // jdk.nashorn.internal.ir.FunctionNode fn
         0: .line 5273
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* names */
        start local 1 // java.util.List names
         1: .line 5274
            aload 0 /* fn */
            invokevirtual jdk.nashorn.internal.ir.FunctionNode.getBody:()Ljdk/nashorn/internal/ir/Block;
            invokevirtual jdk.nashorn.internal.ir.Block.getSymbols:()Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 3
            goto 9
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List top java.util.Iterator
      StackMap stack:
         2: aload 3
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.ir.Symbol
            astore 2 /* symbol */
        start local 2 // jdk.nashorn.internal.ir.Symbol symbol
         3: .line 5275
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.hasSlot:()Z
            ifeq 9
         4: .line 5276
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isScope:()Z
            ifeq 8
         5: .line 5278
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 6
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.isParam:()Z
            ifne 6
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         6: .line 5279
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List jdk.nashorn.internal.ir.Symbol java.util.Iterator
      StackMap stack:
            aload 1 /* names */
            aconst_null
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
         7: .line 5280
            goto 9
         8: .line 5281
      StackMap locals:
      StackMap stack:
            aload 1 /* names */
            aload 2 /* symbol */
            invokevirtual jdk.nashorn.internal.ir.Symbol.getName:()Ljava/lang/String;
            invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
            pop
        end local 2 // jdk.nashorn.internal.ir.Symbol symbol
         9: .line 5274
      StackMap locals: jdk.nashorn.internal.ir.FunctionNode java.util.List top java.util.Iterator
      StackMap stack:
            aload 3
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
        10: .line 5285
            aload 1 /* names */
            iconst_0
            anewarray java.lang.String
            invokeinterface java.util.List.toArray:([Ljava/lang/Object;)[Ljava/lang/Object;
            checkcast java.lang.String[]
            areturn
        end local 1 // java.util.List names
        end local 0 // jdk.nashorn.internal.ir.FunctionNode fn
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0   11     0      fn  Ljdk/nashorn/internal/ir/FunctionNode;
            1   11     1   names  Ljava/util/List<Ljava/lang/String;>;
            3    9     2  symbol  Ljdk/nashorn/internal/ir/Symbol;
    MethodParameters:
      Name  Flags
      fn    final

  private static java.lang.String commonPrefix(java.lang.String, java.lang.String);
    descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=7, args_size=2
        start local 0 // java.lang.String s1
        start local 1 // java.lang.String s2
         0: .line 5289
            aload 0 /* s1 */
            invokevirtual java.lang.String.length:()I
            istore 2 /* l1 */
        start local 2 // int l1
         1: .line 5290
            iload 2 /* l1 */
            aload 1 /* s2 */
            invokevirtual java.lang.String.length:()I
            invokestatic java.lang.Math.min:(II)I
            istore 3 /* l */
        start local 3 // int l
         2: .line 5291
            iconst_m1
            istore 4 /* lms */
        start local 4 // int lms
         3: .line 5292
            iconst_0
            istore 5 /* i */
        start local 5 // int i
         4: goto 11
         5: .line 5293
      StackMap locals: java.lang.String java.lang.String int int int int
      StackMap stack:
            aload 0 /* s1 */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            istore 6 /* c1 */
        start local 6 // char c1
         6: .line 5294
            iload 6 /* c1 */
            aload 1 /* s2 */
            iload 5 /* i */
            invokevirtual java.lang.String.charAt:(I)C
            if_icmpeq 8
         7: .line 5295
            aload 0 /* s1 */
            iconst_0
            iload 4 /* lms */
            iconst_1
            iadd
            invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
            areturn
         8: .line 5296
      StackMap locals: int
      StackMap stack:
            iload 6 /* c1 */
            invokestatic java.lang.Character.isUpperCase:(C)Z
            ifeq 10
         9: .line 5297
            iload 5 /* i */
            istore 4 /* lms */
        end local 6 // char c1
        10: .line 5292
      StackMap locals:
      StackMap stack:
            iinc 5 /* i */ 1
      StackMap locals:
      StackMap stack:
        11: iload 5 /* i */
            iload 3 /* l */
            if_icmplt 5
        end local 5 // int i
        12: .line 5300
            iload 3 /* l */
            iload 2 /* l1 */
            if_icmpne 13
            aload 0 /* s1 */
            goto 14
      StackMap locals:
      StackMap stack:
        13: aload 1 /* s2 */
      StackMap locals:
      StackMap stack: java.lang.String
        14: areturn
        end local 4 // int lms
        end local 3 // int l
        end local 2 // int l1
        end local 1 // java.lang.String s2
        end local 0 // java.lang.String s1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0   15     0    s1  Ljava/lang/String;
            0   15     1    s2  Ljava/lang/String;
            1   15     2    l1  I
            2   15     3     l  I
            3   15     4   lms  I
            4   12     5     i  I
            6   10     6    c1  C
    MethodParameters:
      Name  Flags
      s1    final
      s2    final

  private jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo getContinuationInfo();
    descriptor: ()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 5416
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.continuationInfo:Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/CodeGenerator;

  private void generateContinuationHandler();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=19, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
         0: .line 5420
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.isRestOf:()Z
            ifne 2
         1: .line 5421
            return
         2: .line 5424
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.getContinuationInfo:()Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            astore 1 /* ci */
        start local 1 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
         3: .line 5425
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getHandlerLabel:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
         4: .line 5429
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
         5: .line 5431
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getTargetLabel:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.Label.getStack:()Ljdk/nashorn/internal/codegen/Label$Stack;
            astore 2 /* stack */
        start local 2 // jdk.nashorn.internal.codegen.Label$Stack stack
         6: .line 5432
            aload 2 /* stack */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getLocalVariableTypesCopy:()Ljava/util/List;
            astore 3 /* lvarTypes */
        start local 3 // java.util.List lvarTypes
         7: .line 5433
            aload 2 /* stack */
            invokevirtual jdk.nashorn.internal.codegen.Label$Stack.getSymbolBoundaryCopy:()Ljava/util/BitSet;
            astore 4 /* symbolBoundary */
        start local 4 // java.util.BitSet symbolBoundary
         8: .line 5434
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.lvarCount:I
            istore 5 /* lvarCount */
        start local 5 // int lvarCount
         9: .line 5436
            ldc Ljdk/nashorn/internal/runtime/RewriteException;
            invokestatic jdk.nashorn.internal.codegen.types.Type.typeFor:(Ljava/lang/Class;)Ljdk/nashorn/internal/codegen/types/Type;
            astore 6 /* rewriteExceptionType */
        start local 6 // jdk.nashorn.internal.codegen.types.Type rewriteExceptionType
        10: .line 5438
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        11: .line 5439
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeTemp:(Ljdk/nashorn/internal/codegen/types/Type;I)V
        12: .line 5441
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        13: .line 5442
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.GET_BYTECODE_SLOTS:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        14: .line 5448
            iconst_0
            istore 7 /* arrayIndex */
        start local 7 // int arrayIndex
        15: .line 5449
            iconst_0
            istore 8 /* lvarIndex */
        start local 8 // int lvarIndex
        16: goto 43
        17: .line 5450
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo jdk.nashorn.internal.codegen.Label$Stack java.util.List java.util.BitSet int jdk.nashorn.internal.codegen.types.Type int int
      StackMap stack:
            aload 3 /* lvarTypes */
            iload 8 /* lvarIndex */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            astore 9 /* lvarType */
        start local 9 // jdk.nashorn.internal.codegen.types.Type lvarType
        18: .line 5451
            aload 9 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isUnknown:()Z
            ifne 39
        19: .line 5452
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        20: .line 5453
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 7 /* arrayIndex */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.arrayload:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        21: .line 5454
            aload 9 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            astore 10 /* typeClass */
        start local 10 // java.lang.Class typeClass
        22: .line 5456
            aload 10 /* typeClass */
            ldc [J
            if_acmpne 26
        23: .line 5457
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        24: .line 5458
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.TO_LONG_ARRAY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        25: .line 5459
            goto 38
      StackMap locals: jdk.nashorn.internal.codegen.types.Type java.lang.Class
      StackMap stack:
        26: aload 10 /* typeClass */
            ldc [D
            if_acmpne 30
        27: .line 5460
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        28: .line 5461
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.TO_DOUBLE_ARRAY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        29: .line 5462
            goto 38
      StackMap locals:
      StackMap stack:
        30: aload 10 /* typeClass */
            ldc [Ljava/lang/Object;
            if_acmpne 34
        31: .line 5463
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        32: .line 5464
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.TO_OBJECT_ARRAY:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        33: .line 5465
            goto 38
        34: .line 5466
      StackMap locals:
      StackMap stack:
            aload 10 /* typeClass */
            invokevirtual java.lang.Class.isPrimitive:()Z
            ifne 37
            aload 10 /* typeClass */
            ldc Ljava/lang/Object;
            if_acmpeq 37
        35: .line 5472
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 10 /* typeClass */
            invokestatic jdk.nashorn.internal.codegen.types.Type.getInternalName:(Ljava/lang/Class;)Ljava/lang/String;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadType:(Ljava/lang/String;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        36: .line 5473
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.INSTANCE_OR_NULL:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        37: .line 5475
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        38: .line 5477
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* lvarType */
            iload 8 /* lvarIndex */
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;IZ)V
        end local 10 // java.lang.Class typeClass
        39: .line 5479
      StackMap locals:
      StackMap stack:
            iload 8 /* lvarIndex */
            aload 9 /* lvarType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            iadd
            istore 10 /* nextLvarIndex */
        start local 10 // int nextLvarIndex
        40: .line 5480
            aload 4 /* symbolBoundary */
            iload 10 /* nextLvarIndex */
            iconst_1
            isub
            invokevirtual java.util.BitSet.get:(I)Z
            ifeq 42
        41: .line 5481
            iinc 7 /* arrayIndex */ 1
        42: .line 5483
      StackMap locals: int
      StackMap stack:
            iload 10 /* nextLvarIndex */
            istore 8 /* lvarIndex */
        end local 10 // int nextLvarIndex
        end local 9 // jdk.nashorn.internal.codegen.types.Type lvarType
        43: .line 5449
      StackMap locals:
      StackMap stack:
            iload 8 /* lvarIndex */
            iload 5 /* lvarCount */
            if_icmplt 17
        end local 8 // int lvarIndex
        44: .line 5485
            invokestatic jdk.nashorn.internal.AssertsEnabled.assertsEnabled:()Z
            ifeq 48
        45: .line 5486
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 7 /* arrayIndex */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        46: .line 5487
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.ASSERT_ARRAY_LENGTH:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        47: .line 5488
            goto 49
        48: .line 5489
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.pop:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        49: .line 5492
      StackMap locals:
      StackMap stack:
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getStackStoreSpec:()[I
            astore 8 /* stackStoreSpec */
        start local 8 // int[] stackStoreSpec
        50: .line 5493
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getStackTypes:()[Ljdk/nashorn/internal/codegen/types/Type;
            astore 9 /* stackTypes */
        start local 9 // jdk.nashorn.internal.codegen.types.Type[] stackTypes
        51: .line 5494
            aload 8 /* stackStoreSpec */
            arraylength
            ifne 52
            iconst_1
            goto 53
      StackMap locals: int[] jdk.nashorn.internal.codegen.types.Type[]
      StackMap stack:
        52: iconst_0
      StackMap locals:
      StackMap stack: int
        53: istore 10 /* isStackEmpty */
        start local 10 // boolean isStackEmpty
        54: .line 5495
            iconst_0
            istore 11 /* replacedObjectLiteralMaps */
        start local 11 // int replacedObjectLiteralMaps
        55: .line 5496
            iload 10 /* isStackEmpty */
            ifne 70
        56: .line 5498
            iconst_0
            istore 12 /* i */
        start local 12 // int i
        57: goto 69
        58: .line 5499
      StackMap locals: int int int
      StackMap stack:
            aload 8 /* stackStoreSpec */
            iload 12 /* i */
            iaload
            istore 13 /* slot */
        start local 13 // int slot
        59: .line 5500
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 3 /* lvarTypes */
            iload 13 /* slot */
            invokeinterface java.util.List.get:(I)Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.types.Type
            iload 13 /* slot */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        60: .line 5501
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 9 /* stackTypes */
            iload 12 /* i */
            aaload
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        61: .line 5505
            aload 1 /* ci */
            iload 12 /* i */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getObjectLiteralMap:(I)Ljdk/nashorn/internal/runtime/PropertyMap;
            astore 14 /* map */
        start local 14 // jdk.nashorn.internal.runtime.PropertyMap map
        62: .line 5506
            aload 14 /* map */
            ifnull 68
        63: .line 5507
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.dup:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        64: .line 5508
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 65
            ldc Ljdk/nashorn/internal/runtime/ScriptObject;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            invokevirtual java.lang.Class.isAssignableFrom:(Ljava/lang/Class;)Z
            ifne 65
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.peekType:()Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getTypeClass:()Ljava/lang/Class;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " is not a script object"
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        65: .line 5509
      StackMap locals: int jdk.nashorn.internal.runtime.PropertyMap
      StackMap stack:
            aload 0 /* this */
            aload 14 /* map */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.loadConstant:(Ljava/lang/Object;)V
        66: .line 5510
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.ScriptObject.SET_MAP:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        67: .line 5511
            iinc 11 /* replacedObjectLiteralMaps */ 1
        end local 14 // jdk.nashorn.internal.runtime.PropertyMap map
        end local 13 // int slot
        68: .line 5498
      StackMap locals:
      StackMap stack:
            iinc 12 /* i */ 1
      StackMap locals:
      StackMap stack:
        69: iload 12 /* i */
            aload 8 /* stackStoreSpec */
            arraylength
            if_icmplt 58
        end local 12 // int i
        70: .line 5516
      StackMap locals:
      StackMap stack:
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 71
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.objectLiteralMaps:Ljava/util/Map;
            ifnull 71
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.objectLiteralMaps:Ljava/util/Map;
            invokeinterface java.util.Map.size:()I
            iload 11 /* replacedObjectLiteralMaps */
            if_icmpeq 71
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        71: .line 5518
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 6 /* rewriteExceptionType */
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.load:(Ljdk/nashorn/internal/codegen/types/Type;I)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        72: .line 5520
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.loadNull:()Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        73: .line 5521
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            iload 5 /* lvarCount */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.storeHidden:(Ljdk/nashorn/internal/codegen/types/Type;I)V
        74: .line 5523
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iload 5 /* lvarCount */
            getstatic jdk.nashorn.internal.codegen.types.Type.OBJECT:Ljdk/nashorn/internal/codegen/types/Type;
            invokevirtual jdk.nashorn.internal.codegen.types.Type.getSlots:()I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.markDeadSlots:(II)V
        75: .line 5526
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            getstatic jdk.nashorn.internal.runtime.RewriteException.GET_RETURN_VALUE:Ljdk/nashorn/internal/codegen/CompilerConstants$Call;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.invoke:(Ljdk/nashorn/internal/codegen/CompilerConstants$Call;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        76: .line 5528
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getReturnValueType:()Ljdk/nashorn/internal/codegen/types/Type;
            astore 12 /* returnValueType */
        start local 12 // jdk.nashorn.internal.codegen.types.Type returnValueType
        77: .line 5531
            iconst_0
            istore 13 /* needsCatch */
        start local 13 // boolean needsCatch
        78: .line 5532
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.catchLabel:Ljdk/nashorn/internal/codegen/Label;
            astore 14 /* targetCatchLabel */
        start local 14 // jdk.nashorn.internal.codegen.Label targetCatchLabel
        79: .line 5533
            aconst_null
            astore 15 /* _try */
        start local 15 // jdk.nashorn.internal.codegen.Label _try
        80: .line 5534
            aload 12 /* returnValueType */
            invokevirtual jdk.nashorn.internal.codegen.types.Type.isPrimitive:()Z
            ifeq 86
        81: .line 5536
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.lineNumber:I
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
        82: .line 5538
            aload 14 /* targetCatchLabel */
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.METHOD_BOUNDARY:Ljdk/nashorn/internal/codegen/Label;
            if_acmpeq 86
        83: .line 5539
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc ""
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 15 /* _try */
        84: .line 5540
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 15 /* _try */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        85: .line 5541
            iconst_1
            istore 13 /* needsCatch */
        86: .line 5546
      StackMap locals: jdk.nashorn.internal.codegen.CodeGenerator jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo jdk.nashorn.internal.codegen.Label$Stack java.util.List java.util.BitSet int jdk.nashorn.internal.codegen.types.Type int int[] jdk.nashorn.internal.codegen.types.Type[] int int jdk.nashorn.internal.codegen.types.Type int jdk.nashorn.internal.codegen.Label jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 12 /* returnValueType */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.convert:(Ljdk/nashorn/internal/codegen/types/Type;)Ljdk/nashorn/internal/codegen/MethodEmitter;
            pop
        87: .line 5548
            iload 13 /* needsCatch */
            ifeq 88
            aload 1 /* ci */
            getfield jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.exceptionScopePops:I
            goto 89
      StackMap locals:
      StackMap stack:
        88: iconst_0
      StackMap locals:
      StackMap stack: int
        89: istore 16 /* scopePopCount */
        start local 16 // int scopePopCount
        90: .line 5552
            iload 16 /* scopePopCount */
            ifle 91
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc ""
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            goto 92
      StackMap locals: int
      StackMap stack:
        91: aload 14 /* targetCatchLabel */
      StackMap locals:
      StackMap stack: jdk.nashorn.internal.codegen.Label
        92: astore 17 /* catchLabel */
        start local 17 // jdk.nashorn.internal.codegen.Label catchLabel
        93: .line 5553
            iload 13 /* needsCatch */
            ifeq 97
        94: .line 5554
            new jdk.nashorn.internal.codegen.Label
            dup
            ldc ""
            invokespecial jdk.nashorn.internal.codegen.Label.<init>:(Ljava/lang/String;)V
            astore 18 /* _end_try */
        start local 18 // jdk.nashorn.internal.codegen.Label _end_try
        95: .line 5555
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 18 /* _end_try */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.label:(Ljdk/nashorn/internal/codegen/Label;)V
        96: .line 5556
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 15 /* _try */
            aload 18 /* _end_try */
            aload 17 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._try:(Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;Ljdk/nashorn/internal/codegen/Label;)V
        end local 18 // jdk.nashorn.internal.codegen.Label _end_try
        97: .line 5560
      StackMap locals: jdk.nashorn.internal.codegen.Label
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 1 /* ci */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo.getTargetLabel:()Ljdk/nashorn/internal/codegen/Label;
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._goto:(Ljdk/nashorn/internal/codegen/Label;)V
        98: .line 5563
            aload 17 /* catchLabel */
            aload 14 /* targetCatchLabel */
            if_acmpeq 104
        99: .line 5564
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            iconst_0
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.lineNumber:(I)V
       100: .line 5565
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$assertionsDisabled:Z
            ifne 101
            iload 16 /* scopePopCount */
            ifgt 101
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
       101: .line 5566
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 17 /* catchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter._catch:(Ljdk/nashorn/internal/codegen/Label;)V
       102: .line 5567
            aload 0 /* this */
            iload 16 /* scopePopCount */
            invokevirtual jdk.nashorn.internal.codegen.CodeGenerator.popScopes:(I)V
       103: .line 5568
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.CodeGenerator.method:Ljdk/nashorn/internal/codegen/MethodEmitter;
            aload 14 /* targetCatchLabel */
            invokevirtual jdk.nashorn.internal.codegen.MethodEmitter.uncheckedGoto:(Ljdk/nashorn/internal/codegen/Label;)V
       104: .line 5570
      StackMap locals:
      StackMap stack:
            return
        end local 17 // jdk.nashorn.internal.codegen.Label catchLabel
        end local 16 // int scopePopCount
        end local 15 // jdk.nashorn.internal.codegen.Label _try
        end local 14 // jdk.nashorn.internal.codegen.Label targetCatchLabel
        end local 13 // boolean needsCatch
        end local 12 // jdk.nashorn.internal.codegen.types.Type returnValueType
        end local 11 // int replacedObjectLiteralMaps
        end local 10 // boolean isStackEmpty
        end local 9 // jdk.nashorn.internal.codegen.types.Type[] stackTypes
        end local 8 // int[] stackStoreSpec
        end local 7 // int arrayIndex
        end local 6 // jdk.nashorn.internal.codegen.types.Type rewriteExceptionType
        end local 5 // int lvarCount
        end local 4 // java.util.BitSet symbolBoundary
        end local 3 // java.util.List lvarTypes
        end local 2 // jdk.nashorn.internal.codegen.Label$Stack stack
        end local 1 // jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo ci
        end local 0 // jdk.nashorn.internal.codegen.CodeGenerator this
      LocalVariableTable:
        Start  End  Slot                       Name  Signature
            0  105     0                       this  Ljdk/nashorn/internal/codegen/CodeGenerator;
            3  105     1                         ci  Ljdk/nashorn/internal/codegen/CodeGenerator$ContinuationInfo;
            6  105     2                      stack  Ljdk/nashorn/internal/codegen/Label$Stack;
            7  105     3                  lvarTypes  Ljava/util/List<Ljdk/nashorn/internal/codegen/types/Type;>;
            8  105     4             symbolBoundary  Ljava/util/BitSet;
            9  105     5                  lvarCount  I
           10  105     6       rewriteExceptionType  Ljdk/nashorn/internal/codegen/types/Type;
           15  105     7                 arrayIndex  I
           16   44     8                  lvarIndex  I
           18   43     9                   lvarType  Ljdk/nashorn/internal/codegen/types/Type;
           22   39    10                  typeClass  Ljava/lang/Class<*>;
           40   43    10              nextLvarIndex  I
           50  105     8             stackStoreSpec  [I
           51  105     9                 stackTypes  [Ljdk/nashorn/internal/codegen/types/Type;
           54  105    10               isStackEmpty  Z
           55  105    11  replacedObjectLiteralMaps  I
           57   70    12                          i  I
           59   68    13                       slot  I
           62   68    14                        map  Ljdk/nashorn/internal/runtime/PropertyMap;
           77  105    12            returnValueType  Ljdk/nashorn/internal/codegen/types/Type;
           78  105    13                 needsCatch  Z
           79  105    14           targetCatchLabel  Ljdk/nashorn/internal/codegen/Label;
           80  105    15                       _try  Ljdk/nashorn/internal/codegen/Label;
           90  105    16              scopePopCount  I
           93  105    17                 catchLabel  Ljdk/nashorn/internal/codegen/Label;
           95   97    18                   _end_try  Ljdk/nashorn/internal/codegen/Label;

  static jdk.nashorn.internal.ir.LexicalContext access$0(jdk.nashorn.internal.codegen.CodeGenerator);
    descriptor: (Ljdk/nashorn/internal/codegen/CodeGenerator;)Ljdk/nashorn/internal/ir/LexicalContext;
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=1, args_size=1
         0: .line 179
            aload 0
            getfield jdk.nashorn.internal.codegen.CodeGenerator.lc:Ljdk/nashorn/internal/ir/LexicalContext;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  static int[] $SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType();
    descriptor: ()[I
    flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=3, locals=1, args_size=0
         0: .line 179
            getstatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:[I
            dup
            ifnull 1
            areturn
      StackMap locals:
      StackMap stack: int[]
         1: pop
            invokestatic jdk.nashorn.internal.parser.TokenType.values:()[Ljdk/nashorn/internal/parser/TokenType;
            arraylength
            newarray 10
            astore 0
         2: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ADD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 19
            iastore
         3: goto 5
      StackMap locals: int[]
      StackMap stack: java.lang.NoSuchFieldError
         4: pop
      StackMap locals:
      StackMap stack:
         5: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.AND:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 12
            iastore
         6: goto 8
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
         7: pop
      StackMap locals:
      StackMap stack:
         8: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ARRAY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 116
            iastore
         9: goto 11
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        10: pop
      StackMap locals:
      StackMap stack:
        11: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ARROW:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 39
            iastore
        12: goto 14
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        13: pop
      StackMap locals:
      StackMap stack:
        14: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 36
            iastore
        15: goto 17
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        16: pop
      StackMap locals:
      StackMap stack:
        17: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_ADD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 21
            iastore
        18: goto 20
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        19: pop
      StackMap locals:
      StackMap stack:
        20: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_AND:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 13
            iastore
        21: goto 23
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        22: pop
      StackMap locals:
      StackMap stack:
        23: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_OR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 53
            iastore
        24: goto 26
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        25: pop
      StackMap locals:
      StackMap stack:
        26: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_BIT_XOR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 50
            iastore
        27: goto 29
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        28: pop
      StackMap locals:
      StackMap stack:
        29: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_DIV:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 29
            iastore
        30: goto 32
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        31: pop
      StackMap locals:
      StackMap stack:
        32: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_MOD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 10
            iastore
        33: goto 35
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        34: pop
      StackMap locals:
      StackMap stack:
        35: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_MUL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 17
            iastore
        36: goto 38
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        37: pop
      StackMap locals:
      StackMap stack:
        38: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SAR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 43
            iastore
        39: goto 41
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        40: pop
      StackMap locals:
      StackMap stack:
        41: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SHL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 34
            iastore
        42: goto 44
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        43: pop
      StackMap locals:
      StackMap stack:
        44: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SHR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 45
            iastore
        45: goto 47
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        46: pop
      StackMap locals:
      StackMap stack:
        47: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ASSIGN_SUB:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 26
            iastore
        48: goto 50
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        49: pop
      StackMap locals:
      StackMap stack:
        50: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BINARY_NUMBER:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 107
            iastore
        51: goto 53
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        52: pop
      StackMap locals:
      StackMap stack:
        53: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BIT_AND:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 11
            iastore
        54: goto 56
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        55: pop
      StackMap locals:
      StackMap stack:
        56: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BIT_NOT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 56
            iastore
        57: goto 59
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        58: pop
      StackMap locals:
      StackMap stack:
        59: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BIT_OR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 52
            iastore
        60: goto 62
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        61: pop
      StackMap locals:
      StackMap stack:
        62: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BIT_XOR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 49
            iastore
        63: goto 65
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        64: pop
      StackMap locals:
      StackMap stack:
        65: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.BREAK:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 58
            iastore
        66: goto 68
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        67: pop
      StackMap locals:
      StackMap stack:
        68: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.CASE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 59
            iastore
        69: goto 71
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        70: pop
      StackMap locals:
      StackMap stack:
        71: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.CATCH:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 60
            iastore
        72: goto 74
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        73: pop
      StackMap locals:
      StackMap stack:
        74: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.CLASS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 61
            iastore
        75: goto 77
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        76: pop
      StackMap locals:
      StackMap stack:
        77: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.COLON:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 30
            iastore
        78: goto 80
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        79: pop
      StackMap locals:
      StackMap stack:
        80: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.COMMARIGHT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 22
            iastore
        81: goto 83
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        82: pop
      StackMap locals:
      StackMap stack:
        83: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.COMMENT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iconst_4
            iastore
        84: goto 86
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        85: pop
      StackMap locals:
      StackMap stack:
        86: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.CONST:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 62
            iastore
        87: goto 89
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        88: pop
      StackMap locals:
      StackMap stack:
        89: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.CONTINUE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 63
            iastore
        90: goto 92
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        91: pop
      StackMap locals:
      StackMap stack:
        92: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DEBUGGER:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 64
            iastore
        93: goto 95
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        94: pop
      StackMap locals:
      StackMap stack:
        95: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DECIMAL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 103
            iastore
        96: goto 98
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
        97: pop
      StackMap locals:
      StackMap stack:
        98: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DECPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 121
            iastore
        99: goto 101
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       100: pop
      StackMap locals:
      StackMap stack:
       101: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DECPREFIX:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 25
            iastore
       102: goto 104
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       103: pop
      StackMap locals:
      StackMap stack:
       104: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DEFAULT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 65
            iastore
       105: goto 107
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       106: pop
      StackMap locals:
      StackMap stack:
       107: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DELETE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 66
            iastore
       108: goto 110
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       109: pop
      StackMap locals:
      StackMap stack:
       110: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DIRECTIVE_COMMENT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iconst_5
            iastore
       111: goto 113
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       112: pop
      StackMap locals:
      StackMap stack:
       113: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DIV:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 28
            iastore
       114: goto 116
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       115: pop
      StackMap locals:
      StackMap stack:
       116: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.DO:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 67
            iastore
       117: goto 119
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       118: pop
      StackMap locals:
      StackMap stack:
       119: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ELLIPSIS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 57
            iastore
       120: goto 122
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       121: pop
      StackMap locals:
      StackMap stack:
       122: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ELSE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 68
            iastore
       123: goto 125
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       124: pop
      StackMap locals:
      StackMap stack:
       125: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ENUM:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 69
            iastore
       126: goto 128
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       127: pop
      StackMap locals:
      StackMap stack:
       128: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EOF:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iconst_2
            iastore
       129: goto 131
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       130: pop
      StackMap locals:
      StackMap stack:
       131: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EOL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iconst_3
            iastore
       132: goto 134
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       133: pop
      StackMap locals:
      StackMap stack:
       134: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EQ:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 37
            iastore
       135: goto 137
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       136: pop
      StackMap locals:
      StackMap stack:
       137: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EQ_STRICT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 38
            iastore
       138: goto 140
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       139: pop
      StackMap locals:
      StackMap stack:
       140: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ERROR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            iconst_1
            iastore
       141: goto 143
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       142: pop
      StackMap locals:
      StackMap stack:
       143: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.ESCSTRING:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 110
            iastore
       144: goto 146
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       145: pop
      StackMap locals:
      StackMap stack:
       146: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EXECSTRING:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 111
            iastore
       147: goto 149
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       148: pop
      StackMap locals:
      StackMap stack:
       149: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EXPORT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 70
            iastore
       150: goto 152
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       151: pop
      StackMap locals:
      StackMap stack:
       152: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.EXTENDS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 71
            iastore
       153: goto 155
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       154: pop
      StackMap locals:
      StackMap stack:
       155: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.FALSE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 72
            iastore
       156: goto 158
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       157: pop
      StackMap locals:
      StackMap stack:
       158: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.FINALLY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 73
            iastore
       159: goto 161
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       160: pop
      StackMap locals:
      StackMap stack:
       161: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.FLOATING:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 108
            iastore
       162: goto 164
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       163: pop
      StackMap locals:
      StackMap stack:
       164: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.FOR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 74
            iastore
       165: goto 167
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       166: pop
      StackMap locals:
      StackMap stack:
       167: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.FUNCTION:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 75
            iastore
       168: goto 170
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       169: pop
      StackMap locals:
      StackMap stack:
       170: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.GE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 41
            iastore
       171: goto 173
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       172: pop
      StackMap locals:
      StackMap stack:
       173: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.GT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 40
            iastore
       174: goto 176
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       175: pop
      StackMap locals:
      StackMap stack:
       176: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.HEXADECIMAL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 104
            iastore
       177: goto 179
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       178: pop
      StackMap locals:
      StackMap stack:
       179: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.IDENT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 112
            iastore
       180: goto 182
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       181: pop
      StackMap locals:
      StackMap stack:
       182: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.IF:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 76
            iastore
       183: goto 185
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       184: pop
      StackMap locals:
      StackMap stack:
       185: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.IMPLEMENTS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 77
            iastore
       186: goto 188
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       187: pop
      StackMap locals:
      StackMap stack:
       188: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.IMPORT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 78
            iastore
       189: goto 191
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       190: pop
      StackMap locals:
      StackMap stack:
       191: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.IN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 79
            iastore
       192: goto 194
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       193: pop
      StackMap locals:
      StackMap stack:
       194: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.INCPOSTFIX:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 122
            iastore
       195: goto 197
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       196: pop
      StackMap locals:
      StackMap stack:
       197: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.INCPREFIX:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 20
            iastore
       198: goto 200
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       199: pop
      StackMap locals:
      StackMap stack:
       200: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.INSTANCEOF:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 80
            iastore
       201: goto 203
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       202: pop
      StackMap locals:
      StackMap stack:
       203: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.INTERFACE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 81
            iastore
       204: goto 206
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       205: pop
      StackMap locals:
      StackMap stack:
       206: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LBRACE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 51
            iastore
       207: goto 209
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       208: pop
      StackMap locals:
      StackMap stack:
       209: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LBRACKET:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 47
            iastore
       210: goto 212
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       211: pop
      StackMap locals:
      StackMap stack:
       212: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 35
            iastore
       213: goto 215
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       214: pop
      StackMap locals:
      StackMap stack:
       215: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LET:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 82
            iastore
       216: goto 218
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       217: pop
      StackMap locals:
      StackMap stack:
       218: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LPAREN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 14
            iastore
       219: goto 221
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       220: pop
      StackMap locals:
      StackMap stack:
       221: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.LT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 32
            iastore
       222: goto 224
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       223: pop
      StackMap locals:
      StackMap stack:
       224: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.MOD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 9
            iastore
       225: goto 227
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       226: pop
      StackMap locals:
      StackMap stack:
       227: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.MUL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 16
            iastore
       228: goto 230
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       229: pop
      StackMap locals:
      StackMap stack:
       230: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 7
            iastore
       231: goto 233
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       232: pop
      StackMap locals:
      StackMap stack:
       233: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NEG:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 23
            iastore
       234: goto 236
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       235: pop
      StackMap locals:
      StackMap stack:
       236: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NEW:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 83
            iastore
       237: goto 239
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       238: pop
      StackMap locals:
      StackMap stack:
       239: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NE_STRICT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 8
            iastore
       240: goto 242
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       241: pop
      StackMap locals:
      StackMap stack:
       242: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NOT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 6
            iastore
       243: goto 245
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       244: pop
      StackMap locals:
      StackMap stack:
       245: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.NULL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 84
            iastore
       246: goto 248
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       247: pop
      StackMap locals:
      StackMap stack:
       248: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.OBJECT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 115
            iastore
       249: goto 251
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       250: pop
      StackMap locals:
      StackMap stack:
       251: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.OCTAL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 106
            iastore
       252: goto 254
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       253: pop
      StackMap locals:
      StackMap stack:
       254: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.OCTAL_LEGACY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 105
            iastore
       255: goto 257
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       256: pop
      StackMap locals:
      StackMap stack:
       257: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.OR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 54
            iastore
       258: goto 260
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       259: pop
      StackMap locals:
      StackMap stack:
       260: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.PACKAGE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 85
            iastore
       261: goto 263
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       262: pop
      StackMap locals:
      StackMap stack:
       263: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.PERIOD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 27
            iastore
       264: goto 266
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       265: pop
      StackMap locals:
      StackMap stack:
       266: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.POS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 18
            iastore
       267: goto 269
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       268: pop
      StackMap locals:
      StackMap stack:
       269: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.PRIVATE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 86
            iastore
       270: goto 272
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       271: pop
      StackMap locals:
      StackMap stack:
       272: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.PROTECTED:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 87
            iastore
       273: goto 275
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       274: pop
      StackMap locals:
      StackMap stack:
       275: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.PUBLIC:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 88
            iastore
       276: goto 278
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       277: pop
      StackMap locals:
      StackMap stack:
       278: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.RBRACE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 55
            iastore
       279: goto 281
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       280: pop
      StackMap locals:
      StackMap stack:
       281: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.RBRACKET:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 48
            iastore
       282: goto 284
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       283: pop
      StackMap locals:
      StackMap stack:
       284: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.REGEX:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 113
            iastore
       285: goto 287
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       286: pop
      StackMap locals:
      StackMap stack:
       287: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.RETURN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 89
            iastore
       288: goto 290
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       289: pop
      StackMap locals:
      StackMap stack:
       290: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.RPAREN:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 15
            iastore
       291: goto 293
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       292: pop
      StackMap locals:
      StackMap stack:
       293: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SAR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 42
            iastore
       294: goto 296
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       295: pop
      StackMap locals:
      StackMap stack:
       296: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SEMICOLON:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 31
            iastore
       297: goto 299
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       298: pop
      StackMap locals:
      StackMap stack:
       299: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SHL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 33
            iastore
       300: goto 302
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       301: pop
      StackMap locals:
      StackMap stack:
       302: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SHR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 44
            iastore
       303: goto 305
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       304: pop
      StackMap locals:
      StackMap stack:
       305: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARGUMENT:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 123
            iastore
       306: goto 308
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       307: pop
      StackMap locals:
      StackMap stack:
       308: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SPREAD_ARRAY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 124
            iastore
       309: goto 311
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       310: pop
      StackMap locals:
      StackMap stack:
       311: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.STATIC:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 90
            iastore
       312: goto 314
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       313: pop
      StackMap locals:
      StackMap stack:
       314: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.STRING:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 109
            iastore
       315: goto 317
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       316: pop
      StackMap locals:
      StackMap stack:
       317: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SUB:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 24
            iastore
       318: goto 320
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       319: pop
      StackMap locals:
      StackMap stack:
       320: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SUPER:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 91
            iastore
       321: goto 323
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       322: pop
      StackMap locals:
      StackMap stack:
       323: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.SWITCH:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 92
            iastore
       324: goto 326
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       325: pop
      StackMap locals:
      StackMap stack:
       326: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 117
            iastore
       327: goto 329
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       328: pop
      StackMap locals:
      StackMap stack:
       329: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_HEAD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 118
            iastore
       330: goto 332
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       331: pop
      StackMap locals:
      StackMap stack:
       332: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_MIDDLE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 119
            iastore
       333: goto 335
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       334: pop
      StackMap locals:
      StackMap stack:
       335: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TEMPLATE_TAIL:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 120
            iastore
       336: goto 338
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       337: pop
      StackMap locals:
      StackMap stack:
       338: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TERNARY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 46
            iastore
       339: goto 341
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       340: pop
      StackMap locals:
      StackMap stack:
       341: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.THIS:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 93
            iastore
       342: goto 344
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       343: pop
      StackMap locals:
      StackMap stack:
       344: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.THROW:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 94
            iastore
       345: goto 347
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       346: pop
      StackMap locals:
      StackMap stack:
       347: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TRUE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 95
            iastore
       348: goto 350
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       349: pop
      StackMap locals:
      StackMap stack:
       350: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TRY:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 96
            iastore
       351: goto 353
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       352: pop
      StackMap locals:
      StackMap stack:
       353: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.TYPEOF:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 97
            iastore
       354: goto 356
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       355: pop
      StackMap locals:
      StackMap stack:
       356: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.VAR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 98
            iastore
       357: goto 359
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       358: pop
      StackMap locals:
      StackMap stack:
       359: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.VOID:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 99
            iastore
       360: goto 362
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       361: pop
      StackMap locals:
      StackMap stack:
       362: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.WHILE:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 100
            iastore
       363: goto 365
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       364: pop
      StackMap locals:
      StackMap stack:
       365: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.WITH:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 101
            iastore
       366: goto 368
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       367: pop
      StackMap locals:
      StackMap stack:
       368: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.XML:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 114
            iastore
       369: goto 371
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       370: pop
      StackMap locals:
      StackMap stack:
       371: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.YIELD:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 102
            iastore
       372: goto 374
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       373: pop
      StackMap locals:
      StackMap stack:
       374: aload 0
            getstatic jdk.nashorn.internal.parser.TokenType.YIELD_STAR:Ljdk/nashorn/internal/parser/TokenType;
            invokevirtual jdk.nashorn.internal.parser.TokenType.ordinal:()I
            bipush 125
            iastore
       375: goto 377
      StackMap locals:
      StackMap stack: java.lang.NoSuchFieldError
       376: pop
      StackMap locals:
      StackMap stack:
       377: aload 0
            dup
            putstatic jdk.nashorn.internal.codegen.CodeGenerator.$SWITCH_TABLE$jdk$nashorn$internal$parser$TokenType:[I
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
      Exception table:
        from    to  target  type
           2     3       4  Class java.lang.NoSuchFieldError
           5     6       7  Class java.lang.NoSuchFieldError
           8     9      10  Class java.lang.NoSuchFieldError
          11    12      13  Class java.lang.NoSuchFieldError
          14    15      16  Class java.lang.NoSuchFieldError
          17    18      19  Class java.lang.NoSuchFieldError
          20    21      22  Class java.lang.NoSuchFieldError
          23    24      25  Class java.lang.NoSuchFieldError
          26    27      28  Class java.lang.NoSuchFieldError
          29    30      31  Class java.lang.NoSuchFieldError
          32    33      34  Class java.lang.NoSuchFieldError
          35    36      37  Class java.lang.NoSuchFieldError
          38    39      40  Class java.lang.NoSuchFieldError
          41    42      43  Class java.lang.NoSuchFieldError
          44    45      46  Class java.lang.NoSuchFieldError
          47    48      49  Class java.lang.NoSuchFieldError
          50    51      52  Class java.lang.NoSuchFieldError
          53    54      55  Class java.lang.NoSuchFieldError
          56    57      58  Class java.lang.NoSuchFieldError
          59    60      61  Class java.lang.NoSuchFieldError
          62    63      64  Class java.lang.NoSuchFieldError
          65    66      67  Class java.lang.NoSuchFieldError
          68    69      70  Class java.lang.NoSuchFieldError
          71    72      73  Class java.lang.NoSuchFieldError
          74    75      76  Class java.lang.NoSuchFieldError
          77    78      79  Class java.lang.NoSuchFieldError
          80    81      82  Class java.lang.NoSuchFieldError
          83    84      85  Class java.lang.NoSuchFieldError
          86    87      88  Class java.lang.NoSuchFieldError
          89    90      91  Class java.lang.NoSuchFieldError
          92    93      94  Class java.lang.NoSuchFieldError
          95    96      97  Class java.lang.NoSuchFieldError
          98    99     100  Class java.lang.NoSuchFieldError
         101   102     103  Class java.lang.NoSuchFieldError
         104   105     106  Class java.lang.NoSuchFieldError
         107   108     109  Class java.lang.NoSuchFieldError
         110   111     112  Class java.lang.NoSuchFieldError
         113   114     115  Class java.lang.NoSuchFieldError
         116   117     118  Class java.lang.NoSuchFieldError
         119   120     121  Class java.lang.NoSuchFieldError
         122   123     124  Class java.lang.NoSuchFieldError
         125   126     127  Class java.lang.NoSuchFieldError
         128   129     130  Class java.lang.NoSuchFieldError
         131   132     133  Class java.lang.NoSuchFieldError
         134   135     136  Class java.lang.NoSuchFieldError
         137   138     139  Class java.lang.NoSuchFieldError
         140   141     142  Class java.lang.NoSuchFieldError
         143   144     145  Class java.lang.NoSuchFieldError
         146   147     148  Class java.lang.NoSuchFieldError
         149   150     151  Class java.lang.NoSuchFieldError
         152   153     154  Class java.lang.NoSuchFieldError
         155   156     157  Class java.lang.NoSuchFieldError
         158   159     160  Class java.lang.NoSuchFieldError
         161   162     163  Class java.lang.NoSuchFieldError
         164   165     166  Class java.lang.NoSuchFieldError
         167   168     169  Class java.lang.NoSuchFieldError
         170   171     172  Class java.lang.NoSuchFieldError
         173   174     175  Class java.lang.NoSuchFieldError
         176   177     178  Class java.lang.NoSuchFieldError
         179   180     181  Class java.lang.NoSuchFieldError
         182   183     184  Class java.lang.NoSuchFieldError
         185   186     187  Class java.lang.NoSuchFieldError
         188   189     190  Class java.lang.NoSuchFieldError
         191   192     193  Class java.lang.NoSuchFieldError
         194   195     196  Class java.lang.NoSuchFieldError
         197   198     199  Class java.lang.NoSuchFieldError
         200   201     202  Class java.lang.NoSuchFieldError
         203   204     205  Class java.lang.NoSuchFieldError
         206   207     208  Class java.lang.NoSuchFieldError
         209   210     211  Class java.lang.NoSuchFieldError
         212   213     214  Class java.lang.NoSuchFieldError
         215   216     217  Class java.lang.NoSuchFieldError
         218   219     220  Class java.lang.NoSuchFieldError
         221   222     223  Class java.lang.NoSuchFieldError
         224   225     226  Class java.lang.NoSuchFieldError
         227   228     229  Class java.lang.NoSuchFieldError
         230   231     232  Class java.lang.NoSuchFieldError
         233   234     235  Class java.lang.NoSuchFieldError
         236   237     238  Class java.lang.NoSuchFieldError
         239   240     241  Class java.lang.NoSuchFieldError
         242   243     244  Class java.lang.NoSuchFieldError
         245   246     247  Class java.lang.NoSuchFieldError
         248   249     250  Class java.lang.NoSuchFieldError
         251   252     253  Class java.lang.NoSuchFieldError
         254   255     256  Class java.lang.NoSuchFieldError
         257   258     259  Class java.lang.NoSuchFieldError
         260   261     262  Class java.lang.NoSuchFieldError
         263   264     265  Class java.lang.NoSuchFieldError
         266   267     268  Class java.lang.NoSuchFieldError
         269   270     271  Class java.lang.NoSuchFieldError
         272   273     274  Class java.lang.NoSuchFieldError
         275   276     277  Class java.lang.NoSuchFieldError
         278   279     280  Class java.lang.NoSuchFieldError
         281   282     283  Class java.lang.NoSuchFieldError
         284   285     286  Class java.lang.NoSuchFieldError
         287   288     289  Class java.lang.NoSuchFieldError
         290   291     292  Class java.lang.NoSuchFieldError
         293   294     295  Class java.lang.NoSuchFieldError
         296   297     298  Class java.lang.NoSuchFieldError
         299   300     301  Class java.lang.NoSuchFieldError
         302   303     304  Class java.lang.NoSuchFieldError
         305   306     307  Class java.lang.NoSuchFieldError
         308   309     310  Class java.lang.NoSuchFieldError
         311   312     313  Class java.lang.NoSuchFieldError
         314   315     316  Class java.lang.NoSuchFieldError
         317   318     319  Class java.lang.NoSuchFieldError
         320   321     322  Class java.lang.NoSuchFieldError
         323   324     325  Class java.lang.NoSuchFieldError
         326   327     328  Class java.lang.NoSuchFieldError
         329   330     331  Class java.lang.NoSuchFieldError
         332   333     334  Class java.lang.NoSuchFieldError
         335   336     337  Class java.lang.NoSuchFieldError
         338   339     340  Class java.lang.NoSuchFieldError
         341   342     343  Class java.lang.NoSuchFieldError
         344   345     346  Class java.lang.NoSuchFieldError
         347   348     349  Class java.lang.NoSuchFieldError
         350   351     352  Class java.lang.NoSuchFieldError
         353   354     355  Class java.lang.NoSuchFieldError
         356   357     358  Class java.lang.NoSuchFieldError
         359   360     361  Class java.lang.NoSuchFieldError
         362   363     364  Class java.lang.NoSuchFieldError
         365   366     367  Class java.lang.NoSuchFieldError
         368   369     370  Class java.lang.NoSuchFieldError
         371   372     373  Class java.lang.NoSuchFieldError
         374   375     376  Class java.lang.NoSuchFieldError
}
Signature: Ljdk/nashorn/internal/ir/visitor/NodeOperatorVisitor<Ljdk/nashorn/internal/codegen/CodeGeneratorLexicalContext;>;Ljdk/nashorn/internal/runtime/logging/Loggable;
SourceFile: "CodeGenerator.java"
NestMembers:
  jdk.nashorn.internal.codegen.CodeGenerator$1  jdk.nashorn.internal.codegen.CodeGenerator$10  jdk.nashorn.internal.codegen.CodeGenerator$11  jdk.nashorn.internal.codegen.CodeGenerator$11$1  jdk.nashorn.internal.codegen.CodeGenerator$12  jdk.nashorn.internal.codegen.CodeGenerator$13  jdk.nashorn.internal.codegen.CodeGenerator$13$1  jdk.nashorn.internal.codegen.CodeGenerator$13$2  jdk.nashorn.internal.codegen.CodeGenerator$14  jdk.nashorn.internal.codegen.CodeGenerator$15  jdk.nashorn.internal.codegen.CodeGenerator$16  jdk.nashorn.internal.codegen.CodeGenerator$17  jdk.nashorn.internal.codegen.CodeGenerator$18  jdk.nashorn.internal.codegen.CodeGenerator$19  jdk.nashorn.internal.codegen.CodeGenerator$2  jdk.nashorn.internal.codegen.CodeGenerator$2$1  jdk.nashorn.internal.codegen.CodeGenerator$2$2  jdk.nashorn.internal.codegen.CodeGenerator$20  jdk.nashorn.internal.codegen.CodeGenerator$21  jdk.nashorn.internal.codegen.CodeGenerator$22  jdk.nashorn.internal.codegen.CodeGenerator$23  jdk.nashorn.internal.codegen.CodeGenerator$24  jdk.nashorn.internal.codegen.CodeGenerator$25  jdk.nashorn.internal.codegen.CodeGenerator$26  jdk.nashorn.internal.codegen.CodeGenerator$26$1  jdk.nashorn.internal.codegen.CodeGenerator$27  jdk.nashorn.internal.codegen.CodeGenerator$28  jdk.nashorn.internal.codegen.CodeGenerator$29  jdk.nashorn.internal.codegen.CodeGenerator$3  jdk.nashorn.internal.codegen.CodeGenerator$3$1  jdk.nashorn.internal.codegen.CodeGenerator$3$2  jdk.nashorn.internal.codegen.CodeGenerator$3$3  jdk.nashorn.internal.codegen.CodeGenerator$3$4  jdk.nashorn.internal.codegen.CodeGenerator$3$5  jdk.nashorn.internal.codegen.CodeGenerator$3$6  jdk.nashorn.internal.codegen.CodeGenerator$3$7  jdk.nashorn.internal.codegen.CodeGenerator$30  jdk.nashorn.internal.codegen.CodeGenerator$31  jdk.nashorn.internal.codegen.CodeGenerator$32  jdk.nashorn.internal.codegen.CodeGenerator$4  jdk.nashorn.internal.codegen.CodeGenerator$4$1  jdk.nashorn.internal.codegen.CodeGenerator$5  jdk.nashorn.internal.codegen.CodeGenerator$6  jdk.nashorn.internal.codegen.CodeGenerator$7  jdk.nashorn.internal.codegen.CodeGenerator$8  jdk.nashorn.internal.codegen.CodeGenerator$8$1  jdk.nashorn.internal.codegen.CodeGenerator$9  jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith  jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith$1  jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment  jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment$1  jdk.nashorn.internal.codegen.CodeGenerator$BinarySelfAssignment  jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo  jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar  jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar  jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec  jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation  jdk.nashorn.internal.codegen.CodeGenerator$SelfModifyingStore  jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator  jdk.nashorn.internal.codegen.CodeGenerator$Store  jdk.nashorn.internal.codegen.CodeGenerator$Store$1  jdk.nashorn.internal.codegen.CodeGenerator$Store$2  jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds
InnerClasses:
  final Flag = jdk.nashorn.internal.codegen.ClassEmitter$Flag of jdk.nashorn.internal.codegen.ClassEmitter
  jdk.nashorn.internal.codegen.CodeGenerator$1
  jdk.nashorn.internal.codegen.CodeGenerator$10
  jdk.nashorn.internal.codegen.CodeGenerator$11
  jdk.nashorn.internal.codegen.CodeGenerator$12
  jdk.nashorn.internal.codegen.CodeGenerator$13
  jdk.nashorn.internal.codegen.CodeGenerator$14
  jdk.nashorn.internal.codegen.CodeGenerator$15
  jdk.nashorn.internal.codegen.CodeGenerator$16
  jdk.nashorn.internal.codegen.CodeGenerator$17
  jdk.nashorn.internal.codegen.CodeGenerator$18
  jdk.nashorn.internal.codegen.CodeGenerator$19
  jdk.nashorn.internal.codegen.CodeGenerator$2
  jdk.nashorn.internal.codegen.CodeGenerator$20
  jdk.nashorn.internal.codegen.CodeGenerator$21
  jdk.nashorn.internal.codegen.CodeGenerator$22
  jdk.nashorn.internal.codegen.CodeGenerator$23
  jdk.nashorn.internal.codegen.CodeGenerator$24
  jdk.nashorn.internal.codegen.CodeGenerator$25
  jdk.nashorn.internal.codegen.CodeGenerator$26
  jdk.nashorn.internal.codegen.CodeGenerator$27
  jdk.nashorn.internal.codegen.CodeGenerator$28
  jdk.nashorn.internal.codegen.CodeGenerator$29
  jdk.nashorn.internal.codegen.CodeGenerator$3
  jdk.nashorn.internal.codegen.CodeGenerator$30
  jdk.nashorn.internal.codegen.CodeGenerator$31
  jdk.nashorn.internal.codegen.CodeGenerator$32
  jdk.nashorn.internal.codegen.CodeGenerator$4
  jdk.nashorn.internal.codegen.CodeGenerator$5
  jdk.nashorn.internal.codegen.CodeGenerator$6
  jdk.nashorn.internal.codegen.CodeGenerator$7
  jdk.nashorn.internal.codegen.CodeGenerator$8
  jdk.nashorn.internal.codegen.CodeGenerator$9
  private abstract BinaryArith = jdk.nashorn.internal.codegen.CodeGenerator$BinaryArith of jdk.nashorn.internal.codegen.CodeGenerator
  private abstract BinaryOptimisticSelfAssignment = jdk.nashorn.internal.codegen.CodeGenerator$BinaryOptimisticSelfAssignment of jdk.nashorn.internal.codegen.CodeGenerator
  private abstract BinarySelfAssignment = jdk.nashorn.internal.codegen.CodeGenerator$BinarySelfAssignment of jdk.nashorn.internal.codegen.CodeGenerator
  private ContinuationInfo = jdk.nashorn.internal.codegen.CodeGenerator$ContinuationInfo of jdk.nashorn.internal.codegen.CodeGenerator
  private LoadFastScopeVar = jdk.nashorn.internal.codegen.CodeGenerator$LoadFastScopeVar of jdk.nashorn.internal.codegen.CodeGenerator
  private LoadScopeVar = jdk.nashorn.internal.codegen.CodeGenerator$LoadScopeVar of jdk.nashorn.internal.codegen.CodeGenerator
  private OptimismExceptionHandlerSpec = jdk.nashorn.internal.codegen.CodeGenerator$OptimismExceptionHandlerSpec of jdk.nashorn.internal.codegen.CodeGenerator
  private abstract OptimisticOperation = jdk.nashorn.internal.codegen.CodeGenerator$OptimisticOperation of jdk.nashorn.internal.codegen.CodeGenerator
  private abstract SelfModifyingStore = jdk.nashorn.internal.codegen.CodeGenerator$SelfModifyingStore of jdk.nashorn.internal.codegen.CodeGenerator
  abstract SplitLiteralCreator = jdk.nashorn.internal.codegen.CodeGenerator$SplitLiteralCreator of jdk.nashorn.internal.codegen.CodeGenerator
  private abstract Store = jdk.nashorn.internal.codegen.CodeGenerator$Store of jdk.nashorn.internal.codegen.CodeGenerator
  private final TypeBounds = jdk.nashorn.internal.codegen.CodeGenerator$TypeBounds of jdk.nashorn.internal.codegen.CodeGenerator
  public abstract Call = jdk.nashorn.internal.codegen.CompilerConstants$Call of jdk.nashorn.internal.codegen.CompilerConstants
  final Stack = jdk.nashorn.internal.codegen.Label$Stack of jdk.nashorn.internal.codegen.Label
  public final ArrayLiteralNode = jdk.nashorn.internal.ir.LiteralNode$ArrayLiteralNode of jdk.nashorn.internal.ir.LiteralNode
  public PrimitiveLiteralNode = jdk.nashorn.internal.ir.LiteralNode$PrimitiveLiteralNode of jdk.nashorn.internal.ir.LiteralNode
  public final Request = jdk.nashorn.internal.ir.RuntimeNode$Request of jdk.nashorn.internal.ir.RuntimeNode
  public final SplitRange = jdk.nashorn.internal.ir.Splittable$SplitRange of jdk.nashorn.internal.ir.Splittable
  public RegexToken = jdk.nashorn.internal.parser.Lexer$RegexToken of jdk.nashorn.internal.parser.Lexer
    RuntimeVisibleAnnotations: 
      jdk.nashorn.internal.runtime.logging.Logger(name = "codegen")