public class jdk.nashorn.internal.codegen.Compiler$CompilationPhases implements java.lang.Iterable<jdk.nashorn.internal.codegen.CompilationPhase>
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: jdk.nashorn.internal.codegen.Compiler$CompilationPhases
  super_class: java.lang.Object
{
  private static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_UPTO_CACHED;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  private static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_CACHED_UPTO_BYTECODE;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases RECOMPILE_CACHED_UPTO_BYTECODE;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases GENERATE_BYTECODE_AND_INSTALL;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_UPTO_BYTECODE;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_ALL_NO_INSTALL;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_ALL;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_ALL_CACHED;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases GENERATE_BYTECODE_AND_INSTALL_RESTOF;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_ALL_RESTOF;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

  public static final jdk.nashorn.internal.codegen.Compiler$CompilationPhases COMPILE_CACHED_RESTOF;
    descriptor: Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL

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

  private final java.lang.String desc;
    descriptor: Ljava/lang/String;
    flags: (0x0012) ACC_PRIVATE, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 169
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
         1: .line 170
            ldc "Common initial phases"
            bipush 8
            anewarray jdk.nashorn.internal.codegen.CompilationPhase
            dup
            iconst_0
         2: .line 171
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.CONSTANT_FOLDING_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_1
         3: .line 172
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.LOWERING_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_2
         4: .line 173
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.APPLY_SPECIALIZATION_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_3
         5: .line 174
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.SPLITTING_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_4
         6: .line 175
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.PROGRAM_POINT_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_5
         7: .line 176
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.SYMBOL_ASSIGNMENT_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            bipush 6
         8: .line 177
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.SCOPE_DEPTH_COMPUTATION_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            bipush 7
         9: .line 178
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.CACHE_AST_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
        10: .line 169
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_CACHED:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        11: .line 181
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        12: .line 182
            ldc "After common phases, before bytecode generator"
            iconst_3
            anewarray jdk.nashorn.internal.codegen.CompilationPhase
            dup
            iconst_0
        13: .line 183
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.DECLARE_LOCAL_SYMBOLS_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_1
        14: .line 184
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.OPTIMISTIC_TYPE_ASSIGNMENT_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_2
        15: .line 185
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.LOCAL_VARIABLE_TYPE_CALCULATION_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
        16: .line 181
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        17: .line 192
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        18: .line 193
            ldc "Recompile cached function up to bytecode"
        19: .line 194
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.REINITIALIZE_CACHED:Ljdk/nashorn/internal/codegen/CompilationPhase;
        20: .line 195
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        21: .line 192
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/codegen/CompilationPhase;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.RECOMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        22: .line 202
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        23: .line 203
            ldc "Generate bytecode and install"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.CompilationPhase
            dup
            iconst_0
        24: .line 204
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.BYTECODE_GENERATION_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
            aastore
            dup
            iconst_1
        25: .line 205
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.INSTALL_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
        26: .line 202
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        27: .line 209
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        28: .line 210
            ldc "Compile upto bytecode"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
            iconst_0
        29: .line 211
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_CACHED:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            aastore
            dup
            iconst_1
        30: .line 212
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        31: .line 209
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        32: .line 215
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        33: .line 216
            ldc "Compile without install"
        34: .line 217
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            iconst_1
            anewarray jdk.nashorn.internal.codegen.CompilationPhase
            dup
            iconst_0
        35: .line 218
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.BYTECODE_GENERATION_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
        36: .line 215
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL_NO_INSTALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        37: .line 221
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        38: .line 222
            ldc "Full eager compilation"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
            iconst_0
        39: .line 223
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            aastore
            dup
            iconst_1
        40: .line 224
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        41: .line 221
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        42: .line 227
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        43: .line 228
            ldc "Eager compilation from serializaed state"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
            iconst_0
        44: .line 229
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.RECOMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            aastore
            dup
            iconst_1
        45: .line 230
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        46: .line 227
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL_CACHED:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        47: .line 236
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        48: .line 237
            ldc "Generate bytecode and install - RestOf method"
        49: .line 238
            getstatic jdk.nashorn.internal.codegen.CompilationPhase.REUSE_COMPILE_UNITS_PHASE:Ljdk/nashorn/internal/codegen/CompilationPhase;
        50: .line 239
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        51: .line 236
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljdk/nashorn/internal/codegen/CompilationPhase;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        52: .line 242
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        53: .line 243
            ldc "Compile all, rest of"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
            iconst_0
        54: .line 244
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            aastore
            dup
            iconst_1
        55: .line 245
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        56: .line 242
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        57: .line 248
            new jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
        58: .line 249
            ldc "Compile serialized, rest of"
            iconst_2
            anewarray jdk.nashorn.internal.codegen.Compiler$CompilationPhases
            dup
            iconst_0
        59: .line 250
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.RECOMPILE_CACHED_UPTO_BYTECODE:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            aastore
            dup
            iconst_1
        60: .line 251
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        61: .line 248
            aastore
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
            putstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_CACHED_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
        62: .line 251
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>(java.lang.String, jdk.nashorn.internal.codegen.CompilationPhase[]);
    descriptor: (Ljava/lang/String;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // jdk.nashorn.internal.codegen.CompilationPhase[] phases
         0: .line 258
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* phases */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljava/util/List;)V
         1: .line 259
            return
        end local 2 // jdk.nashorn.internal.codegen.CompilationPhase[] phases
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     1    desc  Ljava/lang/String;
            0    2     2  phases  [Ljdk/nashorn/internal/codegen/CompilationPhase;
    MethodParameters:
        Name  Flags
      desc    final
      phases  final

  private void <init>(java.lang.String, jdk.nashorn.internal.codegen.Compiler$CompilationPhases, jdk.nashorn.internal.codegen.CompilationPhase[]);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;[Ljdk/nashorn/internal/codegen/CompilationPhase;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
        start local 3 // jdk.nashorn.internal.codegen.CompilationPhase[] phases
         0: .line 262
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* base */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            aload 3 /* phases */
            invokestatic java.util.Arrays.asList:([Ljava/lang/Object;)Ljava/util/List;
            invokestatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.concat:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljava/util/List;)V
         1: .line 263
            return
        end local 3 // jdk.nashorn.internal.codegen.CompilationPhase[] phases
        end local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    2     0    this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     1    desc  Ljava/lang/String;
            0    2     2    base  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     3  phases  [Ljdk/nashorn/internal/codegen/CompilationPhase;
    MethodParameters:
        Name  Flags
      desc    final
      base    final
      phases  final

  private void <init>(java.lang.String, jdk.nashorn.internal.codegen.CompilationPhase, jdk.nashorn.internal.codegen.Compiler$CompilationPhases);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/codegen/CompilationPhase;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=4, locals=4, args_size=4
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // jdk.nashorn.internal.codegen.CompilationPhase first
        start local 3 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases rest
         0: .line 266
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* first */
            invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
            aload 3 /* rest */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokestatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.concat:(Ljava/util/List;Ljava/util/List;)Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljava/util/List;)V
         1: .line 267
            return
        end local 3 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases rest
        end local 2 // jdk.nashorn.internal.codegen.CompilationPhase first
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     1   desc  Ljava/lang/String;
            0    2     2  first  Ljdk/nashorn/internal/codegen/CompilationPhase;
            0    2     3   rest  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    MethodParameters:
       Name  Flags
      desc   final
      first  final
      rest   final

  private void <init>(java.lang.String, jdk.nashorn.internal.codegen.Compiler$CompilationPhases);
    descriptor: (Ljava/lang/String;Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
         0: .line 270
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* base */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljava/util/List;)V
         1: .line 271
            return
        end local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     1  desc  Ljava/lang/String;
            0    2     2  base  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    MethodParameters:
      Name  Flags
      desc  final
      base  final

  private void <init>(java.lang.String, jdk.nashorn.internal.codegen.Compiler$CompilationPhases[]);
    descriptor: (Ljava/lang/String;[Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)V
    flags: (0x0082) ACC_PRIVATE, ACC_VARARGS
    Code:
      stack=3, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases[] bases
         0: .line 274
            aload 0 /* this */
            aload 1 /* desc */
            aload 2 /* bases */
            invokestatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.concatPhases:([Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)Ljava/util/List;
            invokespecial jdk.nashorn.internal.codegen.Compiler$CompilationPhases.<init>:(Ljava/lang/String;Ljava/util/List;)V
         1: .line 275
            return
        end local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases[] bases
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    2     0   this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    2     1   desc  Ljava/lang/String;
            0    2     2  bases  [Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    MethodParameters:
       Name  Flags
      desc   final
      bases  final

  private void <init>(java.lang.String, java.util.List<jdk.nashorn.internal.codegen.CompilationPhase>);
    descriptor: (Ljava/lang/String;Ljava/util/List;)V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String desc
        start local 2 // java.util.List phases
         0: .line 277
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 278
            aload 0 /* this */
            aload 1 /* desc */
            putfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.desc:Ljava/lang/String;
         2: .line 279
            aload 0 /* this */
            aload 2 /* phases */
            putfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
         3: .line 280
            return
        end local 2 // java.util.List phases
        end local 1 // java.lang.String desc
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    4     1    desc  Ljava/lang/String;
            0    4     2  phases  Ljava/util/List<Ljdk/nashorn/internal/codegen/CompilationPhase;>;
    Signature: (Ljava/lang/String;Ljava/util/List<Ljdk/nashorn/internal/codegen/CompilationPhase;>;)V
    MethodParameters:
        Name  Flags
      desc    final
      phases  final

  private static java.util.List<jdk.nashorn.internal.codegen.CompilationPhase> concatPhases(jdk.nashorn.internal.codegen.Compiler$CompilationPhases[]);
    descriptor: ([Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=6, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases[] bases
         0: .line 283
            new java.util.ArrayList
            dup
            invokespecial java.util.ArrayList.<init>:()V
            astore 1 /* l */
        start local 1 // java.util.ArrayList l
         1: .line 284
            aload 0 /* bases */
            dup
            astore 5
            arraylength
            istore 4
            iconst_0
            istore 3
            goto 5
      StackMap locals: jdk.nashorn.internal.codegen.Compiler$CompilationPhases[] java.util.ArrayList top int int jdk.nashorn.internal.codegen.Compiler$CompilationPhases[]
      StackMap stack:
         2: aload 5
            iload 3
            aaload
            astore 2 /* base */
        start local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
         3: .line 285
            aload 1 /* l */
            aload 2 /* base */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
        end local 2 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases base
         4: .line 284
            iinc 3 1
      StackMap locals:
      StackMap stack:
         5: iload 3
            iload 4
            if_icmplt 2
         6: .line 287
            aload 1 /* l */
            invokevirtual java.util.ArrayList.trimToSize:()V
         7: .line 288
            aload 1 /* l */
            areturn
        end local 1 // java.util.ArrayList l
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases[] bases
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    8     0  bases  [Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            1    8     1      l  Ljava/util/ArrayList<Ljdk/nashorn/internal/codegen/CompilationPhase;>;
            3    4     2   base  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    Signature: ([Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;)Ljava/util/List<Ljdk/nashorn/internal/codegen/CompilationPhase;>;
    MethodParameters:
       Name  Flags
      bases  final

  private static <T> java.util.List<T> concat(java.util.List<T>, java.util.List<T>);
    descriptor: (Ljava/util/List;Ljava/util/List;)Ljava/util/List;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=3, args_size=2
        start local 0 // java.util.List l1
        start local 1 // java.util.List l2
         0: .line 292
            new java.util.ArrayList
            dup
            aload 0 /* l1 */
            invokespecial java.util.ArrayList.<init>:(Ljava/util/Collection;)V
            astore 2 /* l */
        start local 2 // java.util.ArrayList l
         1: .line 293
            aload 2 /* l */
            aload 1 /* l2 */
            invokevirtual java.util.ArrayList.addAll:(Ljava/util/Collection;)Z
            pop
         2: .line 294
            aload 2 /* l */
            invokevirtual java.util.ArrayList.trimToSize:()V
         3: .line 295
            aload 2 /* l */
            areturn
        end local 2 // java.util.ArrayList l
        end local 1 // java.util.List l2
        end local 0 // java.util.List l1
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0    l1  Ljava/util/List<TT;>;
            0    4     1    l2  Ljava/util/List<TT;>;
            1    4     2     l  Ljava/util/ArrayList<TT;>;
    Signature: <T:Ljava/lang/Object;>(Ljava/util/List<TT;>;Ljava/util/List<TT;>;)Ljava/util/List<TT;>;
    MethodParameters:
      Name  Flags
      l1    final
      l2    final

  public java.lang.String toString();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=3, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
         0: .line 300
            new java.lang.StringBuilder
            dup
            ldc "'"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.desc:Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            ldc "' "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokevirtual java.lang.Object.toString:()Ljava/lang/String;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;

  boolean contains(jdk.nashorn.internal.codegen.CompilationPhase);
    descriptor: (Ljdk/nashorn/internal/codegen/CompilationPhase;)Z
    flags: (0x0000) 
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // jdk.nashorn.internal.codegen.CompilationPhase phase
         0: .line 304
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            aload 1 /* phase */
            invokeinterface java.util.List.contains:(Ljava/lang/Object;)Z
            ireturn
        end local 1 // jdk.nashorn.internal.codegen.CompilationPhase phase
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    1     0   this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    1     1  phase  Ljdk/nashorn/internal/codegen/CompilationPhase;
    MethodParameters:
       Name  Flags
      phase  final

  public java.util.Iterator<jdk.nashorn.internal.codegen.CompilationPhase> iterator();
    descriptor: ()Ljava/util/Iterator;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
         0: .line 309
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
    Signature: ()Ljava/util/Iterator<Ljdk/nashorn/internal/codegen/CompilationPhase;>;

  boolean isRestOfCompilation();
    descriptor: ()Z
    flags: (0x0000) 
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
         0: .line 313
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_ALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            if_acmpeq 1
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.GENERATE_BYTECODE_AND_INSTALL_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            if_acmpeq 1
            aload 0 /* this */
            getstatic jdk.nashorn.internal.codegen.Compiler$CompilationPhases.COMPILE_CACHED_RESTOF:Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            if_acmpeq 1
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         1: iconst_1
            ireturn
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;

  java.lang.String getDesc();
    descriptor: ()Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
         0: .line 317
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.desc:Ljava/lang/String;
            areturn
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;

  java.lang.String toString(java.lang.String);
    descriptor: (Ljava/lang/String;)Ljava/lang/String;
    flags: (0x0000) 
    Code:
      stack=2, locals=5, args_size=2
        start local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
        start local 1 // java.lang.String prefix
         0: .line 321
            new java.lang.StringBuilder
            dup
            invokespecial java.lang.StringBuilder.<init>:()V
            astore 2 /* sb */
        start local 2 // java.lang.StringBuilder sb
         1: .line 322
            aload 0 /* this */
            getfield jdk.nashorn.internal.codegen.Compiler$CompilationPhases.phases:Ljava/util/List;
            invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
            astore 4
            goto 4
      StackMap locals: jdk.nashorn.internal.codegen.Compiler$CompilationPhases java.lang.String java.lang.StringBuilder top java.util.Iterator
      StackMap stack:
         2: aload 4
            invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
            checkcast jdk.nashorn.internal.codegen.CompilationPhase
            astore 3 /* phase */
        start local 3 // jdk.nashorn.internal.codegen.CompilationPhase phase
         3: .line 323
            aload 2 /* sb */
            aload 1 /* prefix */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 3 /* phase */
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            bipush 10
            invokevirtual java.lang.StringBuilder.append:(C)Ljava/lang/StringBuilder;
            pop
        end local 3 // jdk.nashorn.internal.codegen.CompilationPhase phase
         4: .line 322
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 325
            aload 2 /* sb */
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            areturn
        end local 2 // java.lang.StringBuilder sb
        end local 1 // java.lang.String prefix
        end local 0 // jdk.nashorn.internal.codegen.Compiler$CompilationPhases this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    6     0    this  Ljdk/nashorn/internal/codegen/Compiler$CompilationPhases;
            0    6     1  prefix  Ljava/lang/String;
            1    6     2      sb  Ljava/lang/StringBuilder;
            3    4     3   phase  Ljdk/nashorn/internal/codegen/CompilationPhase;
    MethodParameters:
        Name  Flags
      prefix  final
}
Signature: Ljava/lang/Object;Ljava/lang/Iterable<Ljdk/nashorn/internal/codegen/CompilationPhase;>;
SourceFile: "Compiler.java"
NestHost: jdk.nashorn.internal.codegen.Compiler
InnerClasses:
  public CompilationPhases = jdk.nashorn.internal.codegen.Compiler$CompilationPhases of jdk.nashorn.internal.codegen.Compiler