public class org.graalvm.compiler.hotspot.stubs.NewInstanceStub extends org.graalvm.compiler.hotspot.stubs.SnippetStub
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.stubs.NewInstanceStub
super_class: org.graalvm.compiler.hotspot.stubs.SnippetStub
{
public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor NEW_INSTANCE_C;
descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
flags: (0x0019) ACC_PUBLIC, 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=7, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/stubs/NewInstanceStub;
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.hotspot.stubs.NewInstanceStub.$assertionsDisabled:Z
3: ldc Lorg/graalvm/compiler/hotspot/stubs/NewInstanceStub;
ldc "newInstanceC"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_1
ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
aastore
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.newDescriptor:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
putstatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.NEW_INSTANCE_C:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.hotspot.meta.HotSpotProviders, org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc "newInstance"
aload 1
aload 2
aload 3
invokespecial org.graalvm.compiler.hotspot.stubs.SnippetStub.<init>:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/stubs/NewInstanceStub;
0 2 1 options Lorg/graalvm/compiler/options/OptionValues;
0 2 2 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
0 2 3 linkage Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
MethodParameters:
Name Flags
options
providers
linkage
protected java.lang.Object[] makeConstArgs();
descriptor: ()[Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=4, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.stubs.NewInstanceStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
ldc [I
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
astore 1
start local 1 1: aload 0
getfield org.graalvm.compiler.hotspot.stubs.NewInstanceStub.method:Ljdk/vm/ci/meta/ResolvedJavaMethod;
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
istore 2
start local 2 2: iload 2
anewarray java.lang.Object
astore 3
start local 3 3: getstatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.$assertionsDisabled:Z
ifne 4
aload 0
iconst_1
ldc "intArrayHub"
invokevirtual org.graalvm.compiler.hotspot.stubs.NewInstanceStub.checkConstArg:(ILjava/lang/String;)Z
ifne 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: jdk.vm.ci.hotspot.HotSpotResolvedObjectType int java.lang.Object[]
StackMap stack:
getstatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.$assertionsDisabled:Z
ifne 5
aload 0
iconst_2
ldc "threadRegister"
invokevirtual org.graalvm.compiler.hotspot.stubs.NewInstanceStub.checkConstArg:(ILjava/lang/String;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.$assertionsDisabled:Z
ifne 6
aload 0
iconst_3
ldc "options"
invokevirtual org.graalvm.compiler.hotspot.stubs.NewInstanceStub.checkConstArg:(ILjava/lang/String;)Z
ifne 6
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
6: StackMap locals:
StackMap stack:
aload 3
iconst_1
invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
aload 1
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.klass:()Ljdk/vm/ci/meta/Constant;
aconst_null
invokestatic org.graalvm.compiler.nodes.ConstantNode.forConstant:(Lorg/graalvm/compiler/core/common/type/Stamp;Ljdk/vm/ci/meta/Constant;Ljdk/vm/ci/meta/MetaAccessProvider;)Lorg/graalvm/compiler/nodes/ConstantNode;
aastore
7: aload 3
iconst_2
aload 0
getfield org.graalvm.compiler.hotspot.stubs.NewInstanceStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
aastore
8: aload 3
iconst_3
aload 0
getfield org.graalvm.compiler.hotspot.stubs.NewInstanceStub.options:Lorg/graalvm/compiler/options/OptionValues;
aastore
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/graalvm/compiler/hotspot/stubs/NewInstanceStub;
1 10 1 intArrayType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
2 10 2 count I
3 10 3 args [Ljava/lang/Object;
private static org.graalvm.compiler.word.Word allocate(org.graalvm.compiler.word.Word, int);
descriptor: (Lorg/graalvm/compiler/word/Word;I)Lorg/graalvm/compiler/word/Word;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readTlabTop:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 2
start local 2 1: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readTlabEnd:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 3
start local 3 2: aload 2
iload 1
invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 3: ldc 0.99
aload 4
aload 3
invokevirtual org.graalvm.compiler.word.Word.belowOrEqual:(Lorg/graalvm/compiler/word/Word;)Z
invokestatic org.graalvm.compiler.nodes.extended.BranchProbabilityNode.probability:(DZ)Z
ifeq 6
4: aload 0
aload 4
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.writeTlabTop:(Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
5: aload 2
areturn
6: StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
StackMap stack:
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 thread Lorg/graalvm/compiler/word/Word;
0 7 1 size I
1 7 2 top Lorg/graalvm/compiler/word/Word;
2 7 3 end Lorg/graalvm/compiler/word/Word;
3 7 4 newTop Lorg/graalvm/compiler/word/Word;
MethodParameters:
Name Flags
thread
size
static boolean logging(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.stubs.StubOptions.TraceNewInstanceStub:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 options Lorg/graalvm/compiler/options/OptionValues;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
MethodParameters:
Name Flags
options
private static java.lang.Object newInstance(org.graalvm.compiler.hotspot.word.KlassPointer, org.graalvm.compiler.hotspot.word.KlassPointer, jdk.vm.ci.code.Register, org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 2
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 1: invokestatic org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode.inlineContiguousAllocationSupported:()Z
istore 5
start local 5 2: aload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.forceSlowPath:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifne 10
iload 5
ifeq 10
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.useCMSIncrementalMode:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifne 10
3: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.isInstanceKlassFullyInitialized:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Z
ifeq 10
4: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readLayoutHelper:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;)I
istore 6
start local 6 5: aload 4
aload 1
iload 6
aload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.logging:(Lorg/graalvm/compiler/options/OptionValues;)Z
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.refillAllocate:(Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;IZ)Lorg/graalvm/compiler/word/Word;
astore 7
start local 7 6: aload 7
iconst_0
invokevirtual org.graalvm.compiler.word.Word.notEqual:(I)Z
ifeq 10
7: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.prototypeMarkWordOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.PROTOTYPE_MARK_WORD_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.hotspot.word.KlassPointer.readWord:(ILorg/graalvm/word/LocationIdentity;)Lorg/graalvm/compiler/word/Word;
astore 8
start local 8 8: aload 0
iload 6
aload 7
aload 8
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.formatObjectForStub:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;ILorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
pop
9: aload 7
invokevirtual org.graalvm.compiler.word.Word.toObject:()Ljava/lang/Object;
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.verifyObject:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 8 end local 7 end local 6 10: StackMap locals: org.graalvm.compiler.word.Word int
StackMap stack:
aload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.logging:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 12
11: ldc "newInstance: calling new_instance_c\n"
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;)V
12: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.NEW_INSTANCE_C:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
aload 4
aload 0
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.newInstanceC:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)V
13: aload 4
iconst_1
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.handlePendingException:(Lorg/graalvm/compiler/word/Word;Z)V
14: aload 4
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.getAndClearObjectResult:(Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.verifyObject:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 hub Lorg/graalvm/compiler/hotspot/word/KlassPointer;
0 15 1 intArrayHub Lorg/graalvm/compiler/hotspot/word/KlassPointer;
0 15 2 threadRegister Ljdk/vm/ci/code/Register;
0 15 3 options Lorg/graalvm/compiler/options/OptionValues;
1 15 4 thread Lorg/graalvm/compiler/word/Word;
2 15 5 inlineContiguousAllocationSupported Z
5 10 6 sizeInBytes I
6 10 7 memory Lorg/graalvm/compiler/word/Word;
8 10 8 prototypeMarkWord Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
RuntimeVisibleParameterAnnotations:
0:
1:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
2:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
3:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
MethodParameters:
Name Flags
hub
intArrayHub
threadRegister
options
static org.graalvm.compiler.word.Word refillAllocate(org.graalvm.compiler.word.Word, org.graalvm.compiler.hotspot.word.KlassPointer, int, boolean);
descriptor: (Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;IZ)Lorg/graalvm/compiler/word/Word;
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=18, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.useG1GC:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifeq 2
1: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
areturn
2: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.useTLAB:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifne 4
3: iload 2
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
iload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.edenAllocate:(Lorg/graalvm/compiler/word/Word;Z)Lorg/graalvm/compiler/word/Word;
areturn
4: StackMap locals:
StackMap stack:
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabIntArrayMarkWord:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)J
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 4
start local 4 5: getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabAlignmentReserveInHeapWords:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.wordSize:()I
imul
istore 5
start local 5 6: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readTlabTop:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 6
start local 6 7: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readTlabEnd:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 7
start local 7 8: aload 7
aload 6
invokevirtual org.graalvm.compiler.word.Word.subtract:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
lstore 8
start local 8 9: iload 3
ifeq 14
10: ldc "refillTLAB: thread=%p\n"
aload 0
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;J)V
11: ldc "refillTLAB: top=%p\n"
aload 6
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;J)V
12: ldc "refillTLAB: end=%p\n"
aload 7
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;J)V
13: ldc "refillTLAB: tlabFreeSpaceInBytes=%ld\n"
lload 8
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;J)V
14: StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.hotspot.word.KlassPointer int int org.graalvm.compiler.word.Word int org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word long
StackMap stack:
lload 8
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.log2WordSize:()I
lushr
lstore 10
start local 10 15: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabRefillWasteLimitOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_REFILL_WASTE_LIMIT_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readWord:(ILorg/graalvm/word/LocationIdentity;)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
astore 12
start local 12 16: lload 10
aload 12
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
lcmp
ifgt 41
17: getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabStats:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifeq 25
18: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabNumberOfRefillsOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabNumberOfRefillsOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_NOF_REFILLS_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/word/LocationIdentity;)I
iconst_1
iadd
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_NOF_REFILLS_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/word/LocationIdentity;)V
19: iload 3
ifeq 21
20: ldc "thread: %p -- number_of_refills %d\n"
aload 0
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabNumberOfRefillsOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_NOF_REFILLS_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/word/LocationIdentity;)I
i2l
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;JJ)V
21: StackMap locals: long org.graalvm.compiler.word.Word
StackMap stack:
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabFastRefillWasteOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_FAST_REFILL_WASTE_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/word/LocationIdentity;)I
lload 10
l2i
iadd
istore 13
start local 13 22: iload 3
ifeq 24
23: ldc "thread: %p -- accumulated wastage %d\n"
aload 0
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
iload 13
i2l
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;JJ)V
24: StackMap locals: int
StackMap stack:
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabFastRefillWasteOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
iload 13
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_FAST_REFILL_WASTE_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/word/LocationIdentity;)V
end local 13 25: StackMap locals:
StackMap stack:
aload 6
iconst_0
invokevirtual org.graalvm.compiler.word.Word.notEqual:(I)Z
ifeq 33
26: getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.arrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 13
start local 13 27: lload 8
l2i
iconst_2
iushr
istore 14
start local 14 28: iload 5
iload 13
isub
iconst_2
iushr
iload 14
iadd
istore 15
start local 15 29: aload 1
iconst_0
iload 15
iload 13
aload 6
aload 4
iconst_0
iconst_0
aconst_null
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.formatArray:(Lorg/graalvm/compiler/hotspot/word/KlassPointer;IIILorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;ZZLorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Counters;)Ljava/lang/Object;
pop
30: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.threadAllocatedBytesOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_THREAD_ALLOCATED_BYTES_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readLong:(ILorg/graalvm/word/LocationIdentity;)J
lstore 16
start local 16 31: lload 16
aload 6
aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readTlabStart:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
invokevirtual org.graalvm.compiler.word.Word.subtract:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
ladd
lstore 16
32: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.threadAllocatedBytesOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
lload 16
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_THREAD_ALLOCATED_BYTES_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.writeLong:(IJLorg/graalvm/word/LocationIdentity;)V
end local 16 end local 15 end local 14 end local 13 33: StackMap locals:
StackMap stack:
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.threadTlabSizeOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_SIZE_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readWord:(ILorg/graalvm/word/LocationIdentity;)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
astore 13
start local 13 34: aload 13
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.wordSize:()I
invokevirtual org.graalvm.compiler.word.Word.multiply:(I)Lorg/graalvm/compiler/word/Word;
astore 14
start local 14 35: aload 14
iload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.edenAllocate:(Lorg/graalvm/compiler/word/Word;Z)Lorg/graalvm/compiler/word/Word;
astore 6
36: aload 6
iconst_0
invokevirtual org.graalvm.compiler.word.Word.notEqual:(I)Z
ifeq 40
37: aload 6
aload 14
iload 5
invokevirtual org.graalvm.compiler.word.Word.subtract:(I)Lorg/graalvm/compiler/word/Word;
invokevirtual org.graalvm.compiler.word.Word.add:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 7
38: aload 0
aload 6
aload 7
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.initializeTlab:(Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)V
39: aload 0
iload 2
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.allocate:(Lorg/graalvm/compiler/word/Word;I)Lorg/graalvm/compiler/word/Word;
areturn
40: StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
StackMap stack:
invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
areturn
end local 14 end local 13 41: StackMap locals:
StackMap stack:
aload 12
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabRefillWasteIncrement:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
invokevirtual org.graalvm.compiler.word.Word.add:(I)Lorg/graalvm/compiler/word/Word;
astore 13
start local 13 42: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabRefillWasteLimitOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
aload 13
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_REFILL_WASTE_LIMIT_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.writeWord:(ILorg/graalvm/word/WordBase;Lorg/graalvm/word/LocationIdentity;)V
43: iload 3
ifeq 45
44: ldc "refillTLAB: retaining TLAB - newRefillWasteLimit=%p\n"
aload 13
invokevirtual org.graalvm.compiler.word.Word.rawValue:()J
invokestatic org.graalvm.compiler.hotspot.stubs.StubUtil.printf:(Ljava/lang/String;J)V
45: StackMap locals: org.graalvm.compiler.word.Word
StackMap stack:
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabStats:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifeq 49
46: aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabSlowAllocationsOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
aload 0
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.tlabSlowAllocationsOffset:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_SLOW_ALLOCATIONS_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readInt:(ILorg/graalvm/word/LocationIdentity;)I
iconst_1
iadd
47: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_SLOW_ALLOCATIONS_LOCATION:Lorg/graalvm/word/LocationIdentity;
48: invokevirtual org.graalvm.compiler.word.Word.writeInt:(IILorg/graalvm/word/LocationIdentity;)V
49: StackMap locals:
StackMap stack:
iload 2
invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
iload 3
invokestatic org.graalvm.compiler.hotspot.stubs.NewInstanceStub.edenAllocate:(Lorg/graalvm/compiler/word/Word;Z)Lorg/graalvm/compiler/word/Word;
areturn
end local 13 end local 12 end local 10 end local 8 end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 50 0 thread Lorg/graalvm/compiler/word/Word;
0 50 1 intArrayHub Lorg/graalvm/compiler/hotspot/word/KlassPointer;
0 50 2 sizeInBytes I
0 50 3 log Z
5 50 4 intArrayMarkWord Lorg/graalvm/compiler/word/Word;
6 50 5 alignmentReserveInBytes I
7 50 6 top Lorg/graalvm/compiler/word/Word;
8 50 7 end Lorg/graalvm/compiler/word/Word;
9 50 8 tlabFreeSpaceInBytes J
15 50 10 tlabFreeSpaceInWords J
16 50 12 refillWasteLimit Lorg/graalvm/compiler/word/Word;
22 25 13 wastage I
27 33 13 headerSize I
28 33 14 tlabFreeSpaceInInts I
29 33 15 length I
31 33 16 allocated J
34 41 13 tlabRefillSizeInWords Lorg/graalvm/compiler/word/Word;
35 41 14 tlabRefillSizeInBytes Lorg/graalvm/compiler/word/Word;
42 50 13 newRefillWasteLimit Lorg/graalvm/compiler/word/Word;
MethodParameters:
Name Flags
thread
intArrayHub
sizeInBytes
log
public static org.graalvm.compiler.word.Word edenAllocate(org.graalvm.compiler.word.Word, boolean);
descriptor: (Lorg/graalvm/compiler/word/Word;Z)Lorg/graalvm/compiler/word/Word;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: invokestatic org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode.heapTopAddress:()J
lstore 2
start local 2 1: invokestatic org.graalvm.compiler.hotspot.nodes.GraalHotSpotVMConfigNode.heapEndAddress:()J
lstore 4
start local 4 2: lload 2
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 6
start local 6 3: lload 4
invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
checkcast org.graalvm.compiler.word.Word
astore 7
start local 7 4: StackMap locals: org.graalvm.compiler.word.Word int long long org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
StackMap stack:
aload 6
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HEAP_TOP_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readWord:(ILorg/graalvm/word/LocationIdentity;)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
astore 8
start local 8 5: aload 8
aload 0
invokevirtual org.graalvm.compiler.word.Word.add:(Lorg/graalvm/compiler/word/Word;)Lorg/graalvm/compiler/word/Word;
astore 9
start local 9 6: aload 9
aload 8
invokevirtual org.graalvm.compiler.word.Word.belowOrEqual:(Lorg/graalvm/compiler/word/Word;)Z
ifeq 8
7: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
areturn
8: StackMap locals: org.graalvm.compiler.word.Word org.graalvm.compiler.word.Word
StackMap stack:
aload 7
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HEAP_END_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.readWord:(ILorg/graalvm/word/LocationIdentity;)Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
astore 10
start local 10 9: aload 9
aload 10
invokevirtual org.graalvm.compiler.word.Word.aboveThan:(Lorg/graalvm/compiler/word/Word;)Z
ifeq 11
10: invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
checkcast org.graalvm.compiler.word.Word
areturn
11: StackMap locals: org.graalvm.compiler.word.Word
StackMap stack:
aload 6
iconst_0
aload 8
aload 9
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HEAP_TOP_LOCATION:Lorg/graalvm/word/LocationIdentity;
invokevirtual org.graalvm.compiler.word.Word.logicCompareAndSwapWord:(ILorg/graalvm/word/WordBase;Lorg/graalvm/word/WordBase;Lorg/graalvm/word/LocationIdentity;)Z
ifeq 4
12: aload 8
areturn
end local 10 end local 9 end local 8 end local 7 end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 sizeInBytes Lorg/graalvm/compiler/word/Word;
0 13 1 log Z
1 13 2 heapTopRawAddress J
2 13 4 heapEndRawAddress J
3 13 6 heapTopAddress Lorg/graalvm/compiler/word/Word;
4 13 7 heapEndAddress Lorg/graalvm/compiler/word/Word;
5 13 8 heapTop Lorg/graalvm/compiler/word/Word;
6 13 9 newHeapTop Lorg/graalvm/compiler/word/Word;
9 13 10 heapEnd Lorg/graalvm/compiler/word/Word;
MethodParameters:
Name Flags
sizeInBytes
log
static boolean forceSlowPath(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.stubs.StubOptions.ForceUseOfNewInstanceStub:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 options Lorg/graalvm/compiler/options/OptionValues;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
MethodParameters:
Name Flags
options
public static native void newInstanceC(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.hotspot.word.KlassPointer);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)V
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
1:
2:
MethodParameters:
Name Flags
newInstanceC
thread
hub
}
SourceFile: "NewInstanceStub.java"
InnerClasses:
public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
Counters = org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Counters of org.graalvm.compiler.hotspot.replacements.NewObjectSnippets