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: 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 0: aload 0
invokespecial com.oracle.svm.core.genscavenge.CollectionPolicy.<init>:()V
return
end local 0 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 0: iconst_1
ireturn
end local 0 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 0: 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: 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: StackMap locals:
StackMap stack:
iconst_0
ireturn
StackMap locals:
StackMap stack:
3: iconst_1
ireturn
end local 0 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: 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
start local 0 1: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumYoungGenerationSize:()Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 2: 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
start local 2 3: aload 0
aload 1
invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
aload 2
invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
areturn
end local 2 end local 1 end local 0 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: 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
start local 0 1: getstatic com.oracle.svm.core.genscavenge.CollectionPolicy$BySpaceAndTime.$assertionsDisabled:Z
ifne 3
iload 0
iflt 2
iload 0
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: 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
start local 1 4: 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
start local 3 5: lload 1
lload 3
ladd
lstore 5
start local 5 6: iload 0
lload 5
invokestatic com.oracle.svm.core.util.TimeUtils.weightedNanos:(IJ)J
lstore 7
start local 7 7: lload 7
lload 1
invokestatic com.oracle.svm.core.util.TimeUtils.nanoTimeLessThan:(JJ)Z
ireturn
end local 7 end local 5 end local 3 end local 1 end local 0 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 start local 1 0: aload 1
aload 0
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: return
end local 1 end local 0 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 0: ldc "by space and time"
areturn
end local 0 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