public 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: (0x0031) ACC_PUBLIC, 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 53
            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

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator this
         0: .line 53
            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=9, 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 57
            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 58
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 2
            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 2
            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
         2: .line 59
      StackMap locals: org.graalvm.compiler.lir.LIR
      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 6 /* block */
        start local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
         3: .line 60
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 4
            aload 3 /* trace */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceAssertions.singleHeadPredecessor:(Lorg/graalvm/compiler/core/common/alloc/Trace;)Z
            ifne 4
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Trace head with more than one predecessor?!"
            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
         4: .line 61
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase
      StackMap stack:
            aload 6 /* block */
            invokevirtual org.graalvm.compiler.core.common.cfg.AbstractBlockBase.getPredecessors:()[Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;
            iconst_0
            aaload
            astore 7 /* pred */
        start local 7 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
         5: .line 63
            aload 4 /* context */
            getfield org.graalvm.compiler.lir.alloc.trace.TraceAllocationPhase$TraceAllocationContext.livenessInfo:Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            astore 8 /* livenessInfo */
        start local 8 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
         6: .line 64
            aload 6 /* block */
            aload 7 /* pred */
            aload 8 /* livenessInfo */
            aload 5 /* lir */
            aload 6 /* block */
            invokestatic org.graalvm.compiler.lir.ssa.SSAUtil.phiOutOrNull:(Lorg/graalvm/compiler/lir/LIR;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Lorg/graalvm/compiler/lir/StandardOp$JumpOp;
            invokestatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.allocate:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/lir/LIRInstruction;)V
         7: .line 65
            return
        end local 8 // org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo livenessInfo
        end local 7 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase pred
        end local 6 // org.graalvm.compiler.core.common.cfg.AbstractBlockBase block
        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    8     0          this  Lorg/graalvm/compiler/lir/alloc/trace/TrivialTraceAllocator;
            0    8     1        target  Ljdk/vm/ci/code/TargetDescription;
            0    8     2     lirGenRes  Lorg/graalvm/compiler/lir/gen/LIRGenerationResult;
            0    8     3         trace  Lorg/graalvm/compiler/core/common/alloc/Trace;
            0    8     4       context  Lorg/graalvm/compiler/lir/alloc/trace/TraceAllocationPhase$TraceAllocationContext;
            1    8     5           lir  Lorg/graalvm/compiler/lir/LIR;
            3    8     6         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            5    8     7          pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            6    8     8  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
    MethodParameters:
           Name  Flags
      target     
      lirGenRes  
      trace      
      context    

  public static void allocate(org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.core.common.cfg.AbstractBlockBase<?>, org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo, org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=4, locals=12, 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 // org.graalvm.compiler.lir.LIRInstruction jump
         0: .line 69
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 1
            aload 2 /* livenessInfo */
            aload 0 /* block */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceAssertions.liveSetsAreSorted:(Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         1: .line 70
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 2
            aload 2 /* livenessInfo */
            aload 1 /* pred */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TraceAssertions.liveSetsAreSorted:(Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)Z
            ifne 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 73
      StackMap locals:
      StackMap stack:
            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
         3: .line 74
            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
         4: .line 75
            aload 4 /* blockIn */
            arraylength
            istore 6 /* inLenght */
        start local 6 // int inLenght
         5: .line 78
            aload 2 /* livenessInfo */
            aload 0 /* block */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.getBlockOut:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;)[I
            astore 7 /* blockOut */
        start local 7 // int[] blockOut
         6: .line 79
            aload 7 /* blockOut */
            arraylength
            istore 8 /* outLength */
        start local 8 // int outLength
         7: .line 80
            iload 8 /* outLength */
            anewarray jdk.vm.ci.meta.Value
            astore 9 /* locationOut */
        start local 9 // jdk.vm.ci.meta.Value[] locationOut
         8: .line 82
            getstatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.$assertionsDisabled:Z
            ifne 9
            iload 8 /* outLength */
            iload 6 /* inLenght */
            if_icmple 9
            new java.lang.AssertionError
            dup
            ldc "Trivial Trace! There cannot be more outgoing values than incoming."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         9: .line 83
      StackMap locals: org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.core.common.cfg.AbstractBlockBase org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo org.graalvm.compiler.lir.LIRInstruction int[] jdk.vm.ci.meta.Value[] int int[] int jdk.vm.ci.meta.Value[]
      StackMap stack:
            iconst_0
            istore 10 /* outIdx */
        start local 10 // int outIdx
        10: iconst_0
            istore 11 /* inIdx */
        start local 11 // int inIdx
        11: goto 15
        12: .line 84
      StackMap locals: int int
      StackMap stack:
            aload 7 /* blockOut */
            iload 10 /* outIdx */
            iaload
            aload 4 /* blockIn */
            iload 11 /* inIdx */
            iaload
            if_icmpne 14
        13: .line 86
            aload 9 /* locationOut */
            iload 10 /* outIdx */
            iinc 10 /* outIdx */ 1
            aload 5 /* predLocOut */
            iload 11 /* inIdx */
            aaload
            aastore
        14: .line 83
      StackMap locals:
      StackMap stack:
            iinc 11 /* inIdx */ 1
      StackMap locals:
      StackMap stack:
        15: iload 10 /* outIdx */
            iload 8 /* outLength */
            if_icmplt 12
        end local 11 // int inIdx
        end local 10 // int outIdx
        16: .line 94
            aload 2 /* livenessInfo */
            aload 0 /* block */
            aload 5 /* predLocOut */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setInLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
        17: .line 95
            aload 2 /* livenessInfo */
            aload 0 /* block */
            aload 9 /* locationOut */
            invokevirtual org.graalvm.compiler.lir.alloc.trace.GlobalLivenessInfo.setOutLocations:(Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase;[Ljdk/vm/ci/meta/Value;)V
        18: .line 96
            aload 3 /* jump */
            ifnull 20
        19: .line 97
            aload 3 /* jump */
            aload 4 /* blockIn */
            aload 5 /* predLocOut */
            invokestatic org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator.handlePhiOut:(Lorg/graalvm/compiler/lir/LIRInstruction;[I[Ljdk/vm/ci/meta/Value;)V
        20: .line 99
      StackMap locals:
      StackMap stack:
            return
        end local 9 // jdk.vm.ci.meta.Value[] locationOut
        end local 8 // int outLength
        end local 7 // int[] blockOut
        end local 6 // int inLenght
        end local 5 // jdk.vm.ci.meta.Value[] predLocOut
        end local 4 // int[] blockIn
        end local 3 // org.graalvm.compiler.lir.LIRInstruction jump
        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   21     0         block  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   21     1          pred  Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;
            0   21     2  livenessInfo  Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;
            0   21     3          jump  Lorg/graalvm/compiler/lir/LIRInstruction;
            3   21     4       blockIn  [I
            4   21     5    predLocOut  [Ljdk/vm/ci/meta/Value;
            5   21     6      inLenght  I
            6   21     7      blockOut  [I
            7   21     8     outLength  I
            8   21     9   locationOut  [Ljdk/vm/ci/meta/Value;
           10   16    10        outIdx  I
           11   16    11         inIdx  I
    Signature: (Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/core/common/cfg/AbstractBlockBase<*>;Lorg/graalvm/compiler/lir/alloc/trace/GlobalLivenessInfo;Lorg/graalvm/compiler/lir/LIRInstruction;)V
    MethodParameters:
              Name  Flags
      block         
      pred          
      livenessInfo  
      jump          

  private static void handlePhiOut(org.graalvm.compiler.lir.LIRInstruction, int[], jdk.vm.ci.meta.Value[]);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;[I[Ljdk/vm/ci/meta/Value;)V
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=4, args_size=3
        start local 0 // org.graalvm.compiler.lir.LIRInstruction jump
        start local 1 // int[] varIn
        start local 2 // jdk.vm.ci.meta.Value[] locIn
         0: .line 103
            new org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1
            dup
            aload 2 /* locIn */
            aload 1 /* varIn */
            invokespecial org.graalvm.compiler.lir.alloc.trace.TrivialTraceAllocator$1.<init>:([Ljdk/vm/ci/meta/Value;[I)V
            astore 3 /* outputConsumer */
        start local 3 // org.graalvm.compiler.lir.ValueProcedure outputConsumer
         1: .line 115
            aload 0 /* jump */
            aload 3 /* outputConsumer */
            invokevirtual org.graalvm.compiler.lir.LIRInstruction.forEachAlive:(Lorg/graalvm/compiler/lir/ValueProcedure;)V
         2: .line 116
            return
        end local 3 // org.graalvm.compiler.lir.ValueProcedure outputConsumer
        end local 2 // jdk.vm.ci.meta.Value[] locIn
        end local 1 // int[] varIn
        end local 0 // org.graalvm.compiler.lir.LIRInstruction jump
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0    3     0            jump  Lorg/graalvm/compiler/lir/LIRInstruction;
            0    3     1           varIn  [I
            0    3     2           locIn  [Ljdk/vm/ci/meta/Value;
            1    3     3  outputConsumer  Lorg/graalvm/compiler/lir/ValueProcedure;
    MethodParameters:
       Name  Flags
      jump   
      varIn  
      locIn  
}
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