public class com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime extends com.oracle.svm.core.genscavenge.CollectionPolicy
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime
  super_class: com.oracle.svm.core.genscavenge.CollectionPolicy
{
  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 166
            ldc Lcom/oracle/svm/core/genscavenge/CollectionPolicy;
            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 com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.$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 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
         0: .line 166
            aload 0 /* this */
            invokespecial com.oracle.svm.core.genscavenge.CollectionPolicy.<init>:()V
            return
        end local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/CollectionPolicy$BySpaceAndTime;

  public boolean collectIncrementally();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
         0: .line 169
            iconst_1
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/CollectionPolicy$BySpaceAndTime;

  public boolean collectCompletely();
    descriptor: ()Z
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
         0: .line 174
            invokestatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.estimateUsedHeapAtNextIncrementalCollection:()Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSize:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifne 3
         1: .line 175
            invokestatic com.oracle.svm.core.genscavenge.GCImpl.getChunkBytes:()Lorg/graalvm/word/UnsignedWord;
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMinimumHeapSize:()Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 2
            invokestatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.enoughTimeSpentOnIncrementalGCs:()Z
            ifne 3
         2: .line 174
      StackMap locals:
      StackMap stack:
            iconst_0
            ireturn
      StackMap locals:
      StackMap stack:
         3: iconst_1
            ireturn
        end local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    4     0  this  Lcom/oracle/svm/core/genscavenge/CollectionPolicy$BySpaceAndTime;

  private static org.graalvm.word.UnsignedWord estimateUsedHeapAtNextIncrementalCollection();
    descriptor: ()Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=2, locals=3, args_size=0
         0: .line 183
            invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
            invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getYoungGeneration:()Lcom/oracle/svm/core/genscavenge/YoungGeneration;
            invokevirtual com.oracle.svm.core.genscavenge.YoungGeneration.getChunkBytes:()Lorg/graalvm/word/UnsignedWord;
            astore 0 /* currentYoungBytes */
        start local 0 // org.graalvm.word.UnsignedWord currentYoungBytes
         1: .line 184
            invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumYoungGenerationSize:()Lorg/graalvm/word/UnsignedWord;
            astore 1 /* maxYoungBytes */
        start local 1 // org.graalvm.word.UnsignedWord maxYoungBytes
         2: .line 185
            invokestatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.getAccounting:()Lcom/oracle/svm/core/genscavenge/GCAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.GCAccounting.getOldGenerationAfterChunkBytes:()Lorg/graalvm/word/UnsignedWord;
            astore 2 /* oldBytes */
        start local 2 // org.graalvm.word.UnsignedWord oldBytes
         3: .line 186
            aload 0 /* currentYoungBytes */
            aload 1 /* maxYoungBytes */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            aload 2 /* oldBytes */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            areturn
        end local 2 // org.graalvm.word.UnsignedWord oldBytes
        end local 1 // org.graalvm.word.UnsignedWord maxYoungBytes
        end local 0 // org.graalvm.word.UnsignedWord currentYoungBytes
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1    4     0  currentYoungBytes  Lorg/graalvm/word/UnsignedWord;
            2    4     1      maxYoungBytes  Lorg/graalvm/word/UnsignedWord;
            3    4     2           oldBytes  Lorg/graalvm/word/UnsignedWord;

  private static boolean enoughTimeSpentOnIncrementalGCs();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=4, locals=9, args_size=0
         0: .line 190
            getstatic com.oracle.svm.core.genscavenge.CollectionPolicy$Options.PercentTimeInIncrementalCollection:Lcom/oracle/svm/core/option/RuntimeOptionKey;
            invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 0 /* incrementalWeight */
        start local 0 // int incrementalWeight
         1: .line 191
            getstatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.$assertionsDisabled:Z
            ifne 3
            iload 0 /* incrementalWeight */
            iflt 2
            iload 0 /* incrementalWeight */
            bipush 100
            if_icmple 3
      StackMap locals: int
      StackMap stack:
         2: new java.lang.AssertionError
            dup
            ldc "BySpaceAndTimePercentTimeInIncrementalCollection should be in the range [0..100]."
            invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
            athrow
         3: .line 193
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.getAccounting:()Lcom/oracle/svm/core/genscavenge/GCAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.GCAccounting.getIncrementalCollectionTotalNanos:()J
            lstore 1 /* actualIncrementalNanos */
        start local 1 // long actualIncrementalNanos
         4: .line 194
            invokestatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.getAccounting:()Lcom/oracle/svm/core/genscavenge/GCAccounting;
            invokevirtual com.oracle.svm.core.genscavenge.GCAccounting.getCompleteCollectionTotalNanos:()J
            lstore 3 /* completeNanos */
        start local 3 // long completeNanos
         5: .line 195
            lload 1 /* actualIncrementalNanos */
            lload 3 /* completeNanos */
            ladd
            lstore 5 /* totalNanos */
        start local 5 // long totalNanos
         6: .line 196
            iload 0 /* incrementalWeight */
            lload 5 /* totalNanos */
            invokestatic com.oracle.svm.core.util.TimeUtils.weightedNanos:(IJ)J
            lstore 7 /* expectedIncrementalNanos */
        start local 7 // long expectedIncrementalNanos
         7: .line 197
            lload 7 /* expectedIncrementalNanos */
            lload 1 /* actualIncrementalNanos */
            invokestatic com.oracle.svm.core.util.TimeUtils.nanoTimeLessThan:(JJ)Z
            ireturn
        end local 7 // long expectedIncrementalNanos
        end local 5 // long totalNanos
        end local 3 // long completeNanos
        end local 1 // long actualIncrementalNanos
        end local 0 // int incrementalWeight
      LocalVariableTable:
        Start  End  Slot                      Name  Signature
            1    8     0         incrementalWeight  I
            4    8     1    actualIncrementalNanos  J
            5    8     3             completeNanos  J
            6    8     5                totalNanos  J
            7    8     7  expectedIncrementalNanos  J

  public void nameToLog(com.oracle.svm.core.log.Log);
    descriptor: (Lcom/oracle/svm/core/log/Log;)V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=2, locals=2, args_size=2
        start local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
        start local 1 // com.oracle.svm.core.log.Log log
         0: .line 202
            aload 1 /* log */
            aload 0 /* this */
            invokevirtual com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.getName:()Ljava/lang/String;
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            ldc ": "
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            getstatic com.oracle.svm.core.genscavenge.CollectionPolicy$Options.PercentTimeInIncrementalCollection:Lcom/oracle/svm/core/option/RuntimeOptionKey;
            invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
            ldc "% in incremental collections"
            invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
            pop
         1: .line 203
            return
        end local 1 // com.oracle.svm.core.log.Log log
        end local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    2     0  this  Lcom/oracle/svm/core/genscavenge/CollectionPolicy$BySpaceAndTime;
            0    2     1   log  Lcom/oracle/svm/core/log/Log;
    MethodParameters:
      Name  Flags
      log   

  public java.lang.String getName();
    descriptor: ()Ljava/lang/String;
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
         0: .line 207
            ldc "by space and time"
            areturn
        end local 0 // com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/genscavenge/CollectionPolicy$BySpaceAndTime;
}
SourceFile: "CollectionPolicy.java"
NestHost: com.oracle.svm.core.genscavenge.CollectionPolicy
InnerClasses:
  public BySpaceAndTime = com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime of com.oracle.svm.core.genscavenge.CollectionPolicy
  public Options = com.oracle.svm.core.genscavenge.CollectionPolicy$Options of com.oracle.svm.core.genscavenge.CollectionPolicy