final class org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator extends org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase<org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext>
  minor version: 0
  major version: 59
  flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
  this_class: org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator
  super_class: org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
{
  static final boolean $assertionsDisabled;
    descriptor: Z
    flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 50
            ldc Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;
            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 org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  void <init>();
    descriptor: ()V
    flags: (0x0000) 
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator this
         0: .line 50
            aload 0 /* this */
            invokespecial org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase.<init>:()V
            return
        end local 0 // org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;

  protected void run(jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.lir.gen.LIRGenerationResult, org.graalvm.compiler.core.common.alloc.Trace, org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext);
    descriptor: (Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;Lorg/graalvm/compiler/core/common/alloc/Trace;Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;)V
    flags: (0x0004) ACC_PROTECTED
    Code:
      stack=5, locals=11, args_size=5
        start local 0 // org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator this
        start local 1 // jdk.vm.ci.code.TargetDescription target
        start local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        start local 3 // org.graalvm.compiler.core.common.alloc.Trace trace
        start local 4 // org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext context
         0: .line 54
            aload 2 /* lirGenRes */
            invokevirtual org.graalvm.compiler.lir.gen.LIRGenerationResult.getLIR:()Lorg/graalvm/compiler/lir/LIR;
            astore 5 /* lir */
        start local 5 // org.graalvm.compiler.lir.LIR lir
         1: .line 55
            aload 4 /* context */
            getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.resultTraces:Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            astore 6 /* resultTraces */
        start local 6 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult resultTraces
         2: .line 56
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 3
            aload 5 /* lir */
            aload 3 /* trace */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.isTrivialTrace:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
            ifne 3
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Not a trivial trace! "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 3 /* trace */
            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
         3: .line 57
      StackMap locals: org.graalvm.compiler.lir.LIR org.graalvm.compiler.core.common.alloc.TraceBuilderResult
      StackMap stack:
            aload 3 /* trace */
            invokevirtual org.graalvm.compiler.core.common.alloc.Trace.getBlocks:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iconst_0
            aaload
            astore 7 /* block */
        start local 7 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         4: .line 59
            aload 6 /* resultTraces */
            aload 7 /* block */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceUtil.getBestTraceInterPredecessor:(Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            astore 8 /* pred */
        start local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         5: .line 61
            aload 5 /* lir */
            invokevirtual org.graalvm.compiler.lir.LIR.numVariables:()I
            anewarray jdk.vm.ci.meta.Value
            astore 9 /* variableMap */
        start local 9 // jdk.vm.ci.meta.Value[] variableMap
         6: .line 62
            aload 4 /* context */
            getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            astore 10 /* livenessInfo */
        start local 10 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
         7: .line 63
            aload 7 /* block */
            aload 8 /* pred */
            aload 10 /* livenessInfo */
            aload 9 /* variableMap */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.collectMapping:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
         8: .line 64
            aload 5 /* lir */
            aload 7 /* block */
            aload 10 /* livenessInfo */
            aload 9 /* variableMap */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.assignLocations:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
         9: .line 65
            return
        end local 10 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 9 // jdk.vm.ci.meta.Value[] variableMap
        end local 8 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 7 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 6 // org.graalvm.compiler.core.common.alloc.TraceBuilderResult resultTraces
        end local 5 // org.graalvm.compiler.lir.LIR lir
        end local 4 // org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext context
        end local 3 // org.graalvm.compiler.core.common.alloc.Trace trace
        end local 2 // org.graalvm.compiler.lir.gen.LIRGenerationResult lirGenRes
        end local 1 // jdk.vm.ci.code.TargetDescription target
        end local 0 // org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator this
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   10     0          this  Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;
            0   10     1        target  Ljdk/vm/ci/code/TargetDescription;
            0   10     2     lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0   10     3         trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
            0   10     4       context  Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
            1   10     5           lir  Lorg/graalvm/compiler/lir/LIR;
            2   10     6  resultTraces  Lorg/graalvm/compiler/core/common/alloc/TraceBuilderResult;
            4   10     7         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            5   10     8          pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            6   10     9   variableMap  [Ljdk/vm/ci/meta/Value;
            7   10    10  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      trace      
      context    

  private static void collectMapping(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo, jdk.vm.ci.meta.Value[]);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=4
        start local 0 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        start local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        start local 3 // jdk.vm.ci.meta.Value[] variableMap
         0: .line 72
            aload 2 /* livenessInfo */
            aload 0 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockIn:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 4 /* blockIn */
        start local 4 // int[] blockIn
         1: .line 73
            aload 2 /* livenessInfo */
            aload 1 /* pred */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getOutLocation:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[Ljdk/vm/ci/meta/Value;
            astore 5 /* predLocOut */
        start local 5 // jdk.vm.ci.meta.Value[] predLocOut
         2: .line 74
            aload 4 /* blockIn */
            arraylength
            anewarray jdk.vm.ci.meta.Value
            astore 6 /* locationIn */
        start local 6 // jdk.vm.ci.meta.Value[] locationIn
         3: .line 75
            iconst_0
            istore 7 /* i */
        start local 7 // int i
         4: goto 13
         5: .line 76
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo jdk.vm.ci.meta.Value[] int[] jdk.vm.ci.meta.Value[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 4 /* blockIn */
            iload 7 /* i */
            iaload
            istore 8 /* varNum */
        start local 8 // int varNum
         6: .line 77
            iload 8 /* varNum */
            iflt 11
         7: .line 78
            aload 5 /* predLocOut */
            iload 7 /* i */
            aaload
            astore 9 /* location */
        start local 9 // jdk.vm.ci.meta.Value location
         8: .line 79
            aload 3 /* variableMap */
            iload 8 /* varNum */
            aload 9 /* location */
            aastore
         9: .line 80
            aload 6 /* locationIn */
            iload 7 /* i */
            aload 9 /* location */
            aastore
        end local 9 // jdk.vm.ci.meta.Value location
        10: .line 81
            goto 12
        11: .line 82
      StackMap locals: int
      StackMap stack:
            aload 6 /* locationIn */
            iload 7 /* i */
            getstatic jdk.vm.ci.meta.Value.ILLEGAL:Ljdk/vm/ci/meta/AllocatableValue;
            aastore
        end local 8 // int varNum
        12: .line 75
      StackMap locals:
      StackMap stack:
            iinc 7 /* i */ 1
      StackMap locals:
      StackMap stack:
        13: iload 7 /* i */
            aload 4 /* blockIn */
            arraylength
            if_icmplt 5
        end local 7 // int i
        14: .line 85
            aload 2 /* livenessInfo */
            aload 0 /* block */
            aload 6 /* locationIn */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setInLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
        15: .line 86
            return
        end local 6 // jdk.vm.ci.meta.Value[] locationIn
        end local 5 // jdk.vm.ci.meta.Value[] predLocOut
        end local 4 // int[] blockIn
        end local 3 // jdk.vm.ci.meta.Value[] variableMap
        end local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 0 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
      LocalVariableTable:
        Start  End  Slot          Name  Signature
            0   16     0         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   16     1          pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   16     2  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            0   16     3   variableMap  [Ljdk/vm/ci/meta/Value;
            1   16     4       blockIn  [I
            2   16     5    predLocOut  [Ljdk/vm/ci/meta/Value;
            3   16     6    locationIn  [Ljdk/vm/ci/meta/Value;
            4   14     7             i  I
            6   12     8        varNum  I
            8   10     9      location  Ljdk/vm/ci/meta/Value;
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
    MethodParameters:
              Name  Flags
      block         
      pred          
      livenessInfo  
      variableMap   

  private static void assignLocations(org.graalvm.compiler.lir.LIR, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo, jdk.vm.ci.meta.Value[]);
    descriptor: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=8, args_size=4
        start local 0 // org.graalvm.compiler.lir.LIR lir
        start local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        start local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        start local 3 // jdk.vm.ci.meta.Value[] variableMap
         0: .line 92
            aload 2 /* livenessInfo */
            aload 1 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockOut:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 4 /* blockOut */
        start local 4 // int[] blockOut
         1: .line 93
            aload 4 /* blockOut */
            arraylength
            anewarray jdk.vm.ci.meta.Value
            astore 5 /* locationOut */
        start local 5 // jdk.vm.ci.meta.Value[] locationOut
         2: .line 94
            iconst_0
            istore 6 /* i */
        start local 6 // int i
         3: goto 7
         4: .line 95
      StackMap locals: int[] jdk.vm.ci.meta.Value[] int
      StackMap stack:
            aload 4 /* blockOut */
            iload 6 /* i */
            iaload
            istore 7 /* varNum */
        start local 7 // int varNum
         5: .line 96
            aload 5 /* locationOut */
            iload 6 /* i */
            aload 3 /* variableMap */
            iload 7 /* varNum */
            aaload
            aastore
        end local 7 // int varNum
         6: .line 94
            iinc 6 /* i */ 1
      StackMap locals:
      StackMap stack:
         7: iload 6 /* i */
            aload 4 /* blockOut */
            arraylength
            if_icmplt 4
        end local 6 // int i
         8: .line 98
            aload 2 /* livenessInfo */
            aload 1 /* block */
            aload 5 /* locationOut */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setOutLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
         9: .line 101
            new org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1
            dup
            aload 3 /* variableMap */
            invokespecial org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1.<init>:([Ljdk/vm/ci/meta/Value;)V
            astore 6 /* outputConsumer */
        start local 6 // org.graalvm.compiler.lir.ValueProcedure outputConsumer
        10: .line 111
            aload 0 /* lir */
            aload 1 /* block */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOut:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            astore 7 /* jump */
        start local 7 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
        11: .line 113
            aload 7 /* jump */
            aload 6 /* outputConsumer */
            invokevirtual org.graalvm.compiler.lir.StandardOp$JumpOp.forEachAlive:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
        12: .line 114
            return
        end local 7 // org.graalvm.compiler.lir.StandardOp$JumpOp jump
        end local 6 // org.graalvm.compiler.lir.ValueProcedure outputConsumer
        end local 5 // jdk.vm.ci.meta.Value[] locationOut
        end local 4 // int[] blockOut
        end local 3 // jdk.vm.ci.meta.Value[] variableMap
        end local 2 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 1 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        end local 0 // org.graalvm.compiler.lir.LIR lir
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   13     0             lir  Lorg/graalvm/compiler/lir/LIR;
            0   13     1           block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   13     2    livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            0   13     3     variableMap  [Ljdk/vm/ci/meta/Value;
            1   13     4        blockOut  [I
            2   13     5     locationOut  [Ljdk/vm/ci/meta/Value;
            3    8     6               i  I
            5    6     7          varNum  I
           10   13     6  outputConsumer  Lorg/graalvm/compiler/lir/ValueProcedure;
           11   13     7            jump  Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
    Signature: (Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;[Ljdk/vm/ci/meta/Value;)V
    MethodParameters:
              Name  Flags
      lir           
      block         
      livenessInfo  
      variableMap   
}
Signature: Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase<Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;>;
SourceFile: "TrivialTraceAllocator.java"
NestMembers:
  org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1
InnerClasses:
  public JumpOp = org.graalvm.compiler.lir.StandardOp$JumpOp of org.graalvm.compiler.lir.StandardOp
  public TraceAllocationContext = org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext of org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase
  org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1