class org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState
  super_class: java.lang.Object
{
  org.graalvm.compiler.lir.LIRInstruction op;
    descriptor: Lorg/graalvm/compiler/lir/LIRInstruction;
    flags: (0x0000) 

  final org.graalvm.compiler.debug.DebugContext debug;
    descriptor: Lorg/graalvm/compiler/debug/DebugContext;
    flags: (0x0010) ACC_FINAL

  int constantSizeBefore;
    descriptor: I
    flags: (0x0000) 

  private final org.graalvm.compiler.lir.asm.CompilationResultBuilder val$crb;
    descriptor: Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
    flags: (0x1012) ACC_PRIVATE, ACC_FINAL, ACC_SYNTHETIC

  void <init>(org.graalvm.compiler.debug.DebugContext, org.graalvm.compiler.lir.asm.CompilationResultBuilder);
    descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
    flags: (0x0000) 
    Code:
      stack=2, locals=3, args_size=3
        start local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 279
            aload 0 /* this */
            aload 2
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.val$crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
         1: .line 280
            aload 0 /* this */
            aload 1 /* debug */
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.debug:Lorg/graalvm/compiler/debug/DebugContext;
         2: .line 281
            return
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
      LocalVariableTable:
        Start  End  Slot   Name  Signature
            0    3     0   this  Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend$1ValidationState;
            0    3     1  debug  Lorg/graalvm/compiler/debug/DebugContext;
    MethodParameters:
         Name  Flags
      debug    
      val$crb  final

  public void before(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=2, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction before
         0: .line 284
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            ifnull 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "LIRInstruction "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " no after call received"
            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
         1: .line 285
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* before */
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
         2: .line 286
            aload 0 /* this */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.val$crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getDataSection:()Lorg/graalvm/compiler/code/DataSection;
            invokestatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.calculateDataSectionSize:(Lorg/graalvm/compiler/code/DataSection;)I
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.constantSizeBefore:I
         3: .line 287
            return
        end local 1 // org.graalvm.compiler.lir.LIRInstruction before
        end local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
      LocalVariableTable:
        Start  End  Slot    Name  Signature
            0    4     0    this  Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend$1ValidationState;
            0    4     1  before  Lorg/graalvm/compiler/lir/LIRInstruction;
    MethodParameters:
        Name  Flags
      before  

  public void after(org.graalvm.compiler.lir.LIRInstruction);
    descriptor: (Lorg/graalvm/compiler/lir/LIRInstruction;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=5, locals=6, args_size=2
        start local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
        start local 1 // org.graalvm.compiler.lir.LIRInstruction after
         0: .line 290
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.$assertionsDisabled:Z
            ifne 1
            aload 1 /* after */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
            ifne 1
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Instructions before/after don't match "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            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 /* after */
            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
         1: .line 291
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.val$crb:Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
            getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
            invokevirtual org.graalvm.compiler.code.CompilationResult.getDataSection:()Lorg/graalvm/compiler/code/DataSection;
            invokestatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.calculateDataSectionSize:(Lorg/graalvm/compiler/code/DataSection;)I
            istore 2 /* constantSizeAfter */
        start local 2 // int constantSizeAfter
         2: .line 292
            iload 2 /* constantSizeAfter */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.constantSizeBefore:I
            isub
            istore 3 /* actual */
        start local 3 // int actual
         3: .line 293
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            instanceof org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin
            ifeq 10
         4: .line 294
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            checkcast org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin
            invokeinterface org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin.estimateSize:()Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
            astore 4 /* size */
        start local 4 // org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate size
         5: .line 295
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.$assertionsDisabled:Z
            ifne 6
            aload 4 /* size */
            ifnonnull 6
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "No size prediction available for op: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            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
         6: .line 296
      StackMap locals: int int org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate
      StackMap stack:
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
            astore 5 /* c */
        start local 5 // java.lang.Class c
         7: .line 297
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.CONSTANT_ESTIMATED_STATS:Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend$SizeEstimateStatistics;
            aload 5 /* c */
            aload 4 /* size */
            getfield org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate.constantSize:I
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$SizeEstimateStatistics.add:(Ljava/lang/Class;ILorg/graalvm/compiler/debug/DebugContext;)V
         8: .line 298
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.CONSTANT_ACTUAL_STATS:Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend$SizeEstimateStatistics;
            aload 5 /* c */
            iload 3 /* actual */
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.debug:Lorg/graalvm/compiler/debug/DebugContext;
            invokevirtual org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$SizeEstimateStatistics.add:(Ljava/lang/Class;ILorg/graalvm/compiler/debug/DebugContext;)V
         9: .line 299
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.$assertionsDisabled:Z
            ifne 11
            aload 4 /* size */
            getfield org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate.constantSize:I
            iload 3 /* actual */
            if_icmpge 11
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Op "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " exceeded estimated constant size; predicted: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            aload 4 /* size */
            getfield org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate.constantSize:I
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            ldc " actual: "
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
            iload 3 /* actual */
            invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
            invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
        end local 5 // java.lang.Class c
        end local 4 // org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate size
        10: .line 301
      StackMap locals:
      StackMap stack:
            getstatic org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.$assertionsDisabled:Z
            ifne 11
            iload 3 /* actual */
            ifeq 11
            new java.lang.AssertionError
            dup
            new java.lang.StringBuilder
            dup
            ldc "Op "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 0 /* this */
            getfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
            invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
            ldc " emitted to DataSection without any estimate."
            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
        11: .line 303
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aconst_null
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.op:Lorg/graalvm/compiler/lir/LIRInstruction;
        12: .line 304
            aload 0 /* this */
            iconst_0
            putfield org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState.constantSizeBefore:I
        13: .line 305
            return
        end local 3 // int actual
        end local 2 // int constantSizeAfter
        end local 1 // org.graalvm.compiler.lir.LIRInstruction after
        end local 0 // org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState this
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            0   14     0               this  Lorg/graalvm/compiler/hotspot/sparc/SPARCHotSpotBackend$1ValidationState;
            0   14     1              after  Lorg/graalvm/compiler/lir/LIRInstruction;
            2   14     2  constantSizeAfter  I
            3   14     3             actual  I
            5   10     4               size  Lorg/graalvm/compiler/lir/sparc/SPARCLIRInstructionMixin$SizeEstimate;
            7   10     5                  c  Ljava/lang/Class<*>;
    MethodParameters:
       Name  Flags
      after  
}
SourceFile: "SPARCHotSpotBackend.java"
EnclosingMethod: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend.registerSizePredictionValidator:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;Lorg/graalvm/compiler/debug/DebugContext;)Z
NestHost: org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend
InnerClasses:
  ValidationState = org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$1ValidationState
  private SizeEstimateStatistics = org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend$SizeEstimateStatistics of org.graalvm.compiler.hotspot.sparc.SPARCHotSpotBackend
  public SizeEstimate = org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin$SizeEstimate of org.graalvm.compiler.lir.sparc.SPARCLIRInstructionMixin