public final class com.oracle.svm.core.genscavenge.HeapPolicy
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: com.oracle.svm.core.genscavenge.HeapPolicy
super_class: java.lang.Object
{
static final long LARGE_ARRAY_THRESHOLD_SENTINEL_VALUE;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 0
static final int ALIGNED_HEAP_CHUNK_FRACTION_FOR_LARGE_ARRAY_THRESHOLD;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 8
private static org.graalvm.word.UnsignedWord maximumYoungGenerationSize;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.graalvm.word.UnsignedWord minimumHeapSize;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static org.graalvm.word.UnsignedWord maximumHeapSize;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
private static final org.graalvm.word.UnsignedWord producedHeapChunkZapInt;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord producedHeapChunkZapWord;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord consumedHeapChunkZapInt;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.word.UnsignedWord consumedHeapChunkZapWord;
descriptor: Lorg/graalvm/word/UnsignedWord;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned edenUsedBytes;
descriptor: Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned youngUsedBytes;
descriptor: Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
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=2, locals=0, args_size=0
0: ldc Lcom/oracle/svm/core/genscavenge/HeapPolicy;
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.HeapPolicy.$assertionsDisabled:Z
3: invokestatic org.graalvm.compiler.word.Word.ensureInitialized:()V
4: ldc -1163018513
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
5: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
bipush 32
invokeinterface org.graalvm.word.UnsignedWord.shiftLeft:(I)Lorg/graalvm/word/UnsignedWord;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapWord:Lorg/graalvm/word/UnsignedWord;
6: ldc -559038737
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
7: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
bipush 32
invokeinterface org.graalvm.word.UnsignedWord.shiftLeft:(I)Lorg/graalvm/word/UnsignedWord;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.or:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapWord:Lorg/graalvm/word/UnsignedWord;
8: new com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned
dup
invokespecial com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.<init>:()V
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.edenUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
9: new com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned
dup
invokespecial com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.<init>:()V
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.youngUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
return
LocalVariableTable:
Start End Slot Name Signature
void <init>();
descriptor: ()V
flags: (0x0000)
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
invokestatic com.oracle.svm.core.SubstrateUtil.isPowerOf2:(J)Z
ifne 3
2: ldc "AlignedHeapChunkSize (%d) should be a power of 2."
iconst_1
anewarray java.lang.Object
dup
iconst_0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
3: StackMap locals: com.oracle.svm.core.genscavenge.HeapPolicy
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getLargeArrayThreshold:()Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifne 7
4: ldc "LargeArrayThreshold (%d) should be below or equal to AlignedHeapChunkSize (%d)."
iconst_2
anewarray java.lang.Object
dup
iconst_0
5: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getLargeArrayThreshold:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
6: invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
7: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lcom/oracle/svm/core/genscavenge/HeapPolicy;
RuntimeVisibleAnnotations:
org.graalvm.nativeimage.Platforms(value = {Lorg/graalvm/nativeimage/Platform$HOSTED_ONLY;})
public static org.graalvm.compiler.word.Word getProducedHeapChunkZapWord();
descriptor: ()Lorg/graalvm/compiler/word/Word;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapWord:Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static int getProducedHeapChunkZapInt();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.producedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
l2i
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static org.graalvm.compiler.word.Word getConsumedHeapChunkZapWord();
descriptor: ()Lorg/graalvm/compiler/word/Word;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapWord:Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static int getConsumedHeapChunkZapInt();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.consumedHeapChunkZapInt:Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
l2i
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static org.graalvm.word.UnsignedWord m(long);
descriptor: (J)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.$assertionsDisabled:Z
ifne 1
lconst_0
lload 0
lcmp
ifle 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
lload 0
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
sipush 1024
invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
sipush 1024
invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 bytes J
MethodParameters:
Name Flags
bytes
public static int getMaxSurvivorSpaces();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.MaxSurvivorSpaces:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static org.graalvm.word.UnsignedWord getMaximumYoungGenerationSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=0
0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapPolicy.getMaximumYoungGenerationSize:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 0
start local 0 1: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 4
2: aload 0
ldc " returns maximumYoungGenerationSize: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
3: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
areturn
4: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
invokestatic com.oracle.svm.core.option.XOptions.getXmn:()Lcom/oracle/svm/core/option/XOptions$XFlag;
astore 1
start local 1 5: aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getEpoch:()J
lconst_0
lcmp
ifle 11
6: aload 0
ldc " -Xmn.epoch: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getEpoch:()J
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
ldc " -Xmn.value: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getValue:()J
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
pop
7: aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.setMaximumYoungGenerationSize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
pop
8: aload 0
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
9: ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
10: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
areturn
11: StackMap locals: com.oracle.svm.core.option.XOptions$XFlag
StackMap stack:
getstatic com.oracle.svm.core.SubstrateGCOptions.MaxNewSize:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getHostedValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 2
start local 2 12: lload 2
lconst_0
lcmp
ifeq 15
13: aload 0
ldc " returns maximumYoungGenerationSize: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
lload 2
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
14: lload 2
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
15: StackMap locals: long
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSize:()Lorg/graalvm/word/UnsignedWord;
astore 4
start local 4 16: aload 4
bipush 100
invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumYoungGenerationSizePercent:()I
invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
astore 5
start local 5 17: ldc 256
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.m:(J)Lorg/graalvm/word/UnsignedWord;
astore 6
start local 6 18: aload 5
aload 6
invokeinterface org.graalvm.word.UnsignedWord.belowOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 19
aload 5
goto 20
StackMap locals: org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
StackMap stack:
19: aload 6
StackMap locals:
StackMap stack: org.graalvm.word.UnsignedWord
20: astore 7
start local 7 21: aload 0
ldc " youngSize: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 7
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
22: ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
23: aload 7
areturn
end local 7 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 24 0 trace Lcom/oracle/svm/core/log/Log;
5 24 1 xmn Lcom/oracle/svm/core/option/XOptions$XFlag;
12 24 2 hostedValue J
16 24 4 maxHeapSize Lorg/graalvm/word/UnsignedWord;
17 24 5 youngSizeAsFraction Lorg/graalvm/word/UnsignedWord;
18 24 6 maxSize Lorg/graalvm/word/UnsignedWord;
21 24 7 youngSize Lorg/graalvm/word/UnsignedWord;
private static int getMaximumYoungGenerationSizePercent();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.MaximumYoungGenerationSizePercent: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: iload 0
iflt 2
iload 0
bipush 100
if_icmpgt 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "MaximumYoungGenerationSizePercent should be in [0 ..100]"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
4: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 result I
public static org.graalvm.word.UnsignedWord setMaximumYoungGenerationSize(org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 0
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumYoungGenerationSize:Lorg/graalvm/word/UnsignedWord;
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Lorg/graalvm/word/UnsignedWord;
1 3 1 result Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
value
public static org.graalvm.word.UnsignedWord getMaximumHeapSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 2
1: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
areturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.option.XOptions.getXmx:()Lcom/oracle/svm/core/option/XOptions$XFlag;
astore 0
start local 0 3: aload 0
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getEpoch:()J
lconst_0
lcmp
ifle 6
4: aload 0
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.setMaximumHeapSize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
pop
5: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
areturn
6: StackMap locals: com.oracle.svm.core.option.XOptions$XFlag
StackMap stack:
getstatic com.oracle.svm.core.SubstrateGCOptions.MaxHeapSize:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getHostedValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 1
start local 1 7: lload 1
lconst_0
lcmp
ifeq 9
8: lload 1
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
9: StackMap locals: long
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAddressSpaceSize:()Lorg/graalvm/word/UnsignedWord;
astore 3
start local 3 10: invokestatic com.oracle.svm.core.heap.PhysicalMemory.isInitialized:()Z
ifeq 16
11: invokestatic com.oracle.svm.core.heap.PhysicalMemory.getCachedSize:()Lorg/graalvm/word/UnsignedWord;
astore 4
start local 4 12: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSizePercent:()I
istore 5
start local 5 13: aload 4
bipush 100
invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
iload 5
invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
astore 6
start local 6 14: aload 6
aload 3
invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 16
15: aload 6
areturn
end local 6 end local 5 end local 4 16: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
3 17 0 xmx Lcom/oracle/svm/core/option/XOptions$XFlag;
7 17 1 hostedValue J
10 17 3 addressSpaceSize Lorg/graalvm/word/UnsignedWord;
12 16 4 physicalMemorySize Lorg/graalvm/word/UnsignedWord;
13 16 5 maximumHeapSizePercent I
14 16 6 result Lorg/graalvm/word/UnsignedWord;
private static org.graalvm.word.UnsignedWord getAddressSpaceSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: invokestatic com.oracle.svm.core.heap.ReferenceAccess.singleton:()Lcom/oracle/svm/core/heap/ReferenceAccess;
invokeinterface com.oracle.svm.core.heap.ReferenceAccess.getCompressEncoding:()Lorg/graalvm/compiler/core/common/CompressEncoding;
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
istore 0
start local 0 1: iload 0
ifle 4
2: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
invokevirtual com.oracle.svm.core.config.ObjectLayout.getReferenceSize:()I
istore 1
start local 1 3: lconst_1
iload 1
bipush 8
imul
lshl
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
iload 0
invokeinterface org.graalvm.word.UnsignedWord.shiftLeft:(I)Lorg/graalvm/word/UnsignedWord;
areturn
end local 1 4: StackMap locals: int
StackMap stack:
getstatic com.oracle.svm.core.util.UnsignedUtils.MAX_VALUE:Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 compressionShift I
3 4 1 referenceSize I
private static int getMaximumHeapSizePercent();
descriptor: ()I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.MaximumHeapSizePercent: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: iload 0
iflt 2
iload 0
bipush 100
if_icmpgt 2
iconst_1
goto 3
StackMap locals: int
StackMap stack:
2: iconst_0
StackMap locals:
StackMap stack: int
3: ldc "MaximumHeapSizePercent should be in [0 ..100]"
invokestatic com.oracle.svm.core.util.VMError.guarantee:(ZLjava/lang/String;)V
4: iload 0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 5 0 result I
public static org.graalvm.word.UnsignedWord setMaximumHeapSize(org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=3, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapPolicy.setMaximumHeapSize:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 1
start local 1 1: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
astore 2
start local 2 2: aload 0
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
3: aload 1
ldc " old: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 2
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " new: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.maximumHeapSize:Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
4: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value Lorg/graalvm/word/UnsignedWord;
1 5 1 trace Lcom/oracle/svm/core/log/Log;
2 5 2 result Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
value
public static org.graalvm.word.UnsignedWord getMinimumHeapSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=0
0: invokestatic com.oracle.svm.core.log.Log.noopLog:()Lcom/oracle/svm/core/log/Log;
ldc "[HeapPolicy.getMinimumHeapSize:"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
astore 0
start local 0 1: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 4
2: aload 0
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
3: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
areturn
4: StackMap locals: com.oracle.svm.core.log.Log
StackMap stack:
invokestatic com.oracle.svm.core.option.XOptions.getXms:()Lcom/oracle/svm/core/option/XOptions$XFlag;
astore 1
start local 1 5: aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getEpoch:()J
lconst_0
lcmp
ifle 10
6: aload 0
ldc " -Xms.epoch: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getEpoch:()J
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
ldc " -Xms.value: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getValue:()J
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
pop
7: aload 1
invokevirtual com.oracle.svm.core.option.XOptions$XFlag.getValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.setMinimumHeapSize:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
pop
8: aload 0
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
9: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
areturn
10: StackMap locals: com.oracle.svm.core.option.XOptions$XFlag
StackMap stack:
getstatic com.oracle.svm.core.SubstrateGCOptions.MinHeapSize:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getHostedValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 2
start local 2 11: lload 2
lconst_0
lcmp
ifeq 14
12: aload 0
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
lload 2
invokevirtual com.oracle.svm.core.log.Log.unsigned:(J)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
13: lload 2
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
14: StackMap locals: long
StackMap stack:
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumYoungGenerationSize:()Lorg/graalvm/word/UnsignedWord;
iconst_2
invokeinterface org.graalvm.word.UnsignedWord.multiply:(I)Lorg/graalvm/word/UnsignedWord;
astore 4
start local 4 15: aload 4
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 17
16: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumHeapSize:()Lorg/graalvm/word/UnsignedWord;
astore 4
17: StackMap locals: org.graalvm.word.UnsignedWord
StackMap stack:
aload 0
ldc " returns: "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 4
invokevirtual com.oracle.svm.core.log.Log.unsigned:(Lorg/graalvm/word/WordBase;)Lcom/oracle/svm/core/log/Log;
ldc " ]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
18: aload 4
areturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
1 19 0 trace Lcom/oracle/svm/core/log/Log;
5 19 1 xms Lcom/oracle/svm/core/option/XOptions$XFlag;
11 19 2 hostedValue J
15 19 4 result Lorg/graalvm/word/UnsignedWord;
public static org.graalvm.word.UnsignedWord setMinimumHeapSize(org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=2, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
astore 1
start local 1 1: aload 0
putstatic com.oracle.svm.core.genscavenge.HeapPolicy.minimumHeapSize:Lorg/graalvm/word/UnsignedWord;
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Lorg/graalvm/word/UnsignedWord;
1 3 1 result Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
value
public static org.graalvm.word.UnsignedWord getAlignedHeapChunkSize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.AlignedHeapChunkSize:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
static org.graalvm.word.UnsignedWord getAlignedHeapChunkAlignment();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
public static org.graalvm.word.UnsignedWord getLargeArrayThreshold();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.LargeArrayThreshold:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lstore 0
start local 0 1: lconst_0
lload 0
lcmp
ifne 3
2: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAlignedHeapChunkSize:()Lorg/graalvm/word/UnsignedWord;
bipush 8
invokeinterface org.graalvm.word.UnsignedWord.unsignedDivide:(I)Lorg/graalvm/word/UnsignedWord;
areturn
3: StackMap locals: long
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.LargeArrayThreshold:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 4 0 largeArrayThreshold J
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
public static boolean getZapProducedHeapChunks();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.ZapChunks:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.ZapProducedHeapChunks:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static boolean getZapConsumedHeapChunks();
descriptor: ()Z
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.ZapChunks:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.ZapConsumedHeapChunks:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 1
iconst_0
ireturn
StackMap locals:
StackMap stack:
1: iconst_1
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static void setEdenAndYoungGenBytes(org.graalvm.word.UnsignedWord, org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;Lorg/graalvm/word/UnsignedWord;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
ifne 1
new java.lang.AssertionError
dup
ldc "would cause races otherwise"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.youngUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
aload 1
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.set:(Lorg/graalvm/word/WordBase;)V
2: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.edenUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
aload 0
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.set:(Lorg/graalvm/word/WordBase;)V
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 edenBytes Lorg/graalvm/word/UnsignedWord;
0 4 1 youngBytes Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
edenBytes
youngBytes
public static void increaseEdenUsedBytes(org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.youngUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
aload 0
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.addAndGet:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
pop
1: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.edenUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
aload 0
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.addAndGet:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
pop
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 value Lorg/graalvm/word/UnsignedWord;
MethodParameters:
Name Flags
value
public static org.graalvm.word.UnsignedWord getYoungUsedBytes();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
ifeq 1
new java.lang.AssertionError
dup
ldc "value is incorrect during a GC"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.youngUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
areturn
LocalVariableTable:
Start End Slot Name Signature
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Called from uninterruptible code.", mayBeInlined = true)
public static org.graalvm.word.UnsignedWord getEdenUsedBytes();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.thread.VMOperation.isGCInProgress:()Z
ifeq 1
new java.lang.AssertionError
dup
ldc "value is incorrect during a GC"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.core.genscavenge.HeapPolicy.edenUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
areturn
LocalVariableTable:
Start End Slot Name Signature
private static org.graalvm.word.UnsignedWord getAllocationBeforePhysicalMemorySize();
descriptor: ()Lorg/graalvm/word/UnsignedWord;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.svm.core.genscavenge.HeapPolicyOptions.AllocationBeforePhysicalMemorySize:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static void maybeCollectOnAllocation();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=0
0: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getMaximumYoungGenerationSize:()Lorg/graalvm/word/UnsignedWord;
astore 0
start local 0 1: aload 0
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.maybeCollectOnAllocation:(Lorg/graalvm/word/UnsignedWord;)V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 3 0 maxYoungSize Lorg/graalvm/word/UnsignedWord;
private static void maybeCollectOnAllocation(org.graalvm.word.UnsignedWord);
descriptor: (Lorg/graalvm/word/UnsignedWord;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.core.genscavenge.HeapPolicy.youngUsedBytes:Lcom/oracle/svm/core/jdk/UninterruptibleUtils$AtomicUnsigned;
invokevirtual com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned.get:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
aload 0
invokeinterface org.graalvm.word.UnsignedWord.aboveOrEqual:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 2
1: invokestatic com.oracle.svm.core.genscavenge.GCImpl.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
getstatic com.oracle.svm.core.genscavenge.GenScavengeGCCause.OnAllocation:Lcom/oracle/svm/core/heap/GCCause;
iconst_0
invokevirtual com.oracle.svm.core.genscavenge.GCImpl.collectWithoutAllocating:(Lcom/oracle/svm/core/heap/GCCause;Z)V
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 maxYoungSize Lorg/graalvm/word/UnsignedWord;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.Uninterruptible(reason = "Avoid races with other threads that also try to trigger a GC")
MethodParameters:
Name Flags
maxYoungSize
public static void maybeCauseUserRequestedCollection();
descriptor: ()V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: getstatic com.oracle.svm.core.SubstrateGCOptions.DisableExplicitGC:Lcom/oracle/svm/core/option/RuntimeOptionKey;
invokevirtual com.oracle.svm.core.option.RuntimeOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifne 2
1: invokestatic com.oracle.svm.core.genscavenge.HeapImpl.getHeapImpl:()Lcom/oracle/svm/core/genscavenge/HeapImpl;
invokevirtual com.oracle.svm.core.genscavenge.HeapImpl.getGC:()Lcom/oracle/svm/core/heap/GC;
getstatic com.oracle.svm.core.heap.GCCause.JavaLangSystemGC:Lcom/oracle/svm/core/heap/GCCause;
invokeinterface com.oracle.svm.core.heap.GC.collectCompletely:(Lcom/oracle/svm/core/heap/GCCause;)V
2: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
static void samplePhysicalMemorySize();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, 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.getGCImpl:()Lcom/oracle/svm/core/genscavenge/GCImpl;
invokevirtual com.oracle.svm.core.genscavenge.GCImpl.getCollectionEpoch:()Lorg/graalvm/word/UnsignedWord;
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.word.UnsignedWord
invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 3
1: invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getYoungUsedBytes:()Lorg/graalvm/word/UnsignedWord;
invokestatic com.oracle.svm.core.genscavenge.HeapPolicy.getAllocationBeforePhysicalMemorySize:()Lorg/graalvm/word/UnsignedWord;
invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
ifeq 3
2: invokestatic com.oracle.svm.core.heap.PhysicalMemory.tryInitialize:()V
3: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "HeapPolicy.java"
NestMembers:
com.oracle.svm.core.genscavenge.HeapPolicy$TestingBackDoor
InnerClasses:
public final TestingBackDoor = com.oracle.svm.core.genscavenge.HeapPolicy$TestingBackDoor of com.oracle.svm.core.genscavenge.HeapPolicy
public AtomicUnsigned = com.oracle.svm.core.jdk.UninterruptibleUtils$AtomicUnsigned of com.oracle.svm.core.jdk.UninterruptibleUtils
public XFlag = com.oracle.svm.core.option.XOptions$XFlag of com.oracle.svm.core.option.XOptions
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError