public class org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates extends org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates
super_class: org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates
{
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateInstance;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateInstancePIC;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateArray;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateArrayPIC;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocatePrimitiveArrayPIC;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateArrayDynamic;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo allocateInstanceDynamic;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo newmultiarray;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo newmultiarrayPIC;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo verifyHeap;
descriptor: Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0012) ACC_PRIVATE, 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=1, locals=0, args_size=0
0: ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
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.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.hotspot.meta.HotSpotProviders, jdk.vm.ci.code.TargetDescription, org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 1
aload 1
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
aload 2
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates.<init>:(Lorg/graalvm/compiler/phases/util/Providers;Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;Ljdk/vm/ci/code/TargetDescription;)V
1: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateInstance"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstance:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
2: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateInstancePIC"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
3: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
4: invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstancePIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
5: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateArray"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArray:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
6: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateArrayPIC"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
7: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocatePrimitiveArrayPIC"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
8: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
9: invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocatePrimitiveArrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
10: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateArrayDynamic"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
11: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
12: invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArrayDynamic:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
13: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "allocateInstanceDynamic"
iconst_5
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.MARK_WORD_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.HUB_WRITE_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_3
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_4
14: getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
15: invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstanceDynamic:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
16: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "newmultiarray"
iconst_3
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.newmultiarray:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
17: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "newmultiarrayPIC"
iconst_3
anewarray org.graalvm.compiler.core.common.LocationIdentity
dup
iconst_0
getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets.INIT_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_1
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_TOP_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
dup
iconst_2
getstatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.TLAB_END_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
aastore
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.newmultiarrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
18: aload 0
aload 0
ldc Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets;
ldc "verifyHeap"
iconst_0
anewarray org.graalvm.compiler.core.common.LocationIdentity
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.snippet:(Ljava/lang/Class;Ljava/lang/String;[Lorg/graalvm/compiler/core/common/LocationIdentity;)Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.verifyHeap:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
19: aload 0
aload 3
putfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
20: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 21 1 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
0 21 2 target Ljdk/vm/ci/code/TargetDescription;
0 21 3 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
MethodParameters:
Name Flags
providers
target
config
public void lower(org.graalvm.compiler.nodes.java.NewInstanceNode, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/NewInstanceNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewInstanceNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewInstanceNode.instanceClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
astore 5
start local 5 2: getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
ifne 3
aload 5
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.isArray:()Z
ifeq 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.hotspot.HotSpotResolvedObjectType
StackMap stack:
invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
aload 5
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.klass:()Ljdk/vm/ci/meta/Constant;
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
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/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 6
start local 6 4: aload 5
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.instanceSize:(Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)I
istore 7
start local 7 5: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 6
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstancePIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
goto 7
StackMap locals: org.graalvm.compiler.nodes.ConstantNode int
StackMap stack:
6: aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstance:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
7: astore 8
start local 8 8: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 8
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 9
start local 9 9: aload 9
ldc "size"
iload 7
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
10: aload 9
ldc "hub"
aload 6
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
11: aload 9
ldc "prototypeMarkWord"
aload 5
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.prototypeMarkWord:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
12: aload 9
ldc "fillContents"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewInstanceNode.fillContents:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
13: aload 9
ldc "threadRegister"
aload 2
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
14: aload 9
ldc "constantSize"
iconst_1
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
15: aload 9
ldc "typeContext"
getstatic org.graalvm.compiler.hotspot.replacements.HotspotSnippetsOptions.ProfileAllocations:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 16
aload 5
iconst_0
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:(Z)Ljava/lang/String;
goto 17
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewInstanceNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.hotspot.HotSpotResolvedObjectType org.graalvm.compiler.nodes.ConstantNode int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
16: ldc ""
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewInstanceNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.hotspot.HotSpotResolvedObjectType org.graalvm.compiler.nodes.ConstantNode int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String java.lang.String
17: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
18: aload 0
aload 9
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 10
start local 10 19: ldc "Lowering allocateInstance in %s: node=%s, template=%s, arguments=%s"
aload 4
aload 1
aload 10
aload 9
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
20: aload 10
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 9
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
21: return
end local 10 end local 9 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 22 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 22 1 newInstanceNode Lorg/graalvm/compiler/nodes/java/NewInstanceNode;
0 22 2 registers Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
0 22 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 22 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 22 5 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
4 22 6 hub Lorg/graalvm/compiler/nodes/ConstantNode;
5 22 7 size I
8 22 8 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
9 22 9 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
19 22 10 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
newInstanceNode
registers
tool
public void lower(org.graalvm.compiler.nodes.java.NewArrayNode, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/NewArrayNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=15, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.elementType:()Ljdk/vm/ci/meta/ResolvedJavaType;
astore 5
start local 5 2: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getArrayClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
astore 6
start local 6 3: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getJavaKind:()Ljdk/vm/ci/meta/JavaKind;
astore 7
start local 7 4: invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
aload 6
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.klass:()Ljdk/vm/ci/meta/Constant;
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 4
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/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 8
start local 8 5: aload 7
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider.getArrayBaseOffset:(Ljdk/vm/ci/meta/JavaKind;)I
istore 9
start local 9 6: aload 7
invokestatic jdk.vm.ci.hotspot.HotSpotJVMCIRuntimeProvider.getArrayIndexScale:(Ljdk/vm/ci/meta/JavaKind;)I
invokestatic jdk.vm.ci.code.CodeUtil.log2:(I)I
istore 10
start local 10 7: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 13
8: aload 5
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.isPrimitive:()Z
ifeq 11
9: aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocatePrimitiveArrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 11
start local 11 10: goto 14
end local 11 11: StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.hotspot.HotSpotResolvedObjectType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ConstantNode int int
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 11
start local 11 12: goto 14
end local 11 13: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArray:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
astore 11
start local 11 14: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
StackMap stack:
new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 11
aload 4
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 12
start local 12 15: aload 12
ldc "hub"
aload 8
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
16: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.length:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 13
start local 13 17: aload 12
ldc "length"
aload 13
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifeq 18
aload 13
goto 19
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.hotspot.HotSpotResolvedObjectType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ConstantNode int int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
18: aload 4
aload 13
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.hotspot.HotSpotResolvedObjectType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ConstantNode int int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String org.graalvm.compiler.graph.Node
19: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
20: getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
ifne 21
aload 6
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.prototypeMarkWord:()J
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lookupArrayClass:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.prototypeMarkWord:()J
lcmp
ifeq 21
new java.lang.AssertionError
dup
ldc "all array types are assumed to have the same prototypeMarkWord"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
21: StackMap locals:
StackMap stack:
aload 12
ldc "prototypeMarkWord"
aload 6
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.prototypeMarkWord:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
22: aload 12
ldc "headerSize"
iload 9
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
23: aload 12
ldc "log2ElementSize"
iload 10
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
24: aload 12
ldc "fillContents"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewArrayNode.fillContents:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
25: aload 12
ldc "threadRegister"
aload 2
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
26: aload 12
ldc "maybeUnroll"
aload 13
invokevirtual org.graalvm.compiler.nodes.ValueNode.isConstant:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
27: aload 12
ldc "typeContext"
getstatic org.graalvm.compiler.hotspot.replacements.HotspotSnippetsOptions.ProfileAllocations:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 28
aload 6
iconst_0
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.toJavaName:(Z)Ljava/lang/String;
goto 29
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.hotspot.HotSpotResolvedObjectType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ConstantNode int int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
28: ldc ""
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph jdk.vm.ci.meta.ResolvedJavaType jdk.vm.ci.hotspot.HotSpotResolvedObjectType jdk.vm.ci.meta.JavaKind org.graalvm.compiler.nodes.ConstantNode int int org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String java.lang.String
29: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
30: aload 0
aload 12
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 14
start local 14 31: ldc "Lowering allocateArray in %s: node=%s, template=%s, arguments=%s"
aload 4
aload 1
aload 14
aload 12
invokestatic org.graalvm.compiler.debug.Debug.log:(Ljava/lang/String;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;Ljava/lang/Object;)V
32: aload 14
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 12
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
33: return
end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 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 34 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 34 1 newArrayNode Lorg/graalvm/compiler/nodes/java/NewArrayNode;
0 34 2 registers Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
0 34 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 34 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 34 5 elementType Ljdk/vm/ci/meta/ResolvedJavaType;
3 34 6 arrayType Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
4 34 7 elementKind Ljdk/vm/ci/meta/JavaKind;
5 34 8 hub Lorg/graalvm/compiler/nodes/ConstantNode;
6 34 9 headerSize I
7 34 10 log2ElementSize I
10 11 11 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
12 13 11 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
14 34 11 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
15 34 12 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
17 34 13 length Lorg/graalvm/compiler/nodes/ValueNode;
31 34 14 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
newArrayNode
registers
tool
public void lower(org.graalvm.compiler.nodes.java.DynamicNewInstanceNode, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateInstanceDynamic:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 4
start local 4 1: aload 4
ldc "type"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.getInstanceType:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
2: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.getClassClass:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 5
start local 5 3: getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
ifne 4
aload 5
ifnonnull 4
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
4: StackMap locals: org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 4
ldc "classClass"
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
5: aload 4
ldc "fillContents"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewInstanceNode.fillContents:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
6: aload 4
ldc "threadRegister"
aload 2
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
7: aload 0
aload 4
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 6
start local 6 8: aload 6
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
9: return
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 10 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 10 1 newInstanceNode Lorg/graalvm/compiler/nodes/java/DynamicNewInstanceNode;
0 10 2 registers Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
0 10 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 10 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
3 10 5 classClass Lorg/graalvm/compiler/nodes/ValueNode;
8 10 6 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
newInstanceNode
registers
tool
public void lower(org.graalvm.compiler.nodes.java.DynamicNewArrayNode, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/DynamicNewArrayNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 4
start local 4 1: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.allocateArrayDynamic:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 5
start local 5 2: aload 5
ldc "elementType"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getElementType:()Lorg/graalvm/compiler/nodes/ValueNode;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getVoidClass:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 6
start local 6 4: getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
ifne 5
aload 6
ifnonnull 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode
StackMap stack:
aload 5
ldc "voidClass"
aload 6
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
6: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.length:()Lorg/graalvm/compiler/nodes/ValueNode;
astore 7
start local 7 7: aload 5
ldc "length"
aload 7
invokevirtual org.graalvm.compiler.nodes.ValueNode.isAlive:()Z
ifeq 8
aload 7
goto 9
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.DynamicNewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
8: aload 4
aload 7
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.addOrUniqueWithInputs:(Lorg/graalvm/compiler/graph/Node;)Lorg/graalvm/compiler/graph/Node;
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.DynamicNewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String org.graalvm.compiler.graph.Node
9: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
10: aload 5
ldc "fillContents"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.fillContents:()Z
invokestatic java.lang.Boolean.valueOf:(Z)Ljava/lang/Boolean;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
11: aload 5
ldc "threadRegister"
aload 2
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
12: aload 5
ldc "knownElementKind"
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getKnownElementKind:()Ljdk/vm/ci/meta/JavaKind;
ifnonnull 13
getstatic jdk.vm.ci.meta.JavaKind.Illegal:Ljdk/vm/ci/meta/JavaKind;
goto 14
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.DynamicNewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String
13: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getKnownElementKind:()Ljdk/vm/ci/meta/JavaKind;
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.DynamicNewArrayNode org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph org.graalvm.compiler.replacements.SnippetTemplate$Arguments org.graalvm.compiler.nodes.ValueNode org.graalvm.compiler.nodes.ValueNode
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$Arguments java.lang.String jdk.vm.ci.meta.JavaKind
14: invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
15: aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getKnownElementKind:()Ljdk/vm/ci/meta/JavaKind;
ifnull 18
16: aload 5
ldc "knownLayoutHelper"
aload 3
aload 1
invokevirtual org.graalvm.compiler.nodes.java.DynamicNewArrayNode.getKnownElementKind:()Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lookupArrayClass:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.layoutHelper:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
17: goto 19
18: StackMap locals:
StackMap stack:
aload 5
ldc "knownLayoutHelper"
iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
19: StackMap locals:
StackMap stack:
aload 5
ldc "prototypeMarkWord"
aload 3
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.lookupArrayClass:(Lorg/graalvm/compiler/nodes/spi/LoweringTool;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.prototypeMarkWord:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
20: aload 0
aload 5
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 8
start local 8 21: aload 8
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
22: return
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 23 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 23 1 newArrayNode Lorg/graalvm/compiler/nodes/java/DynamicNewArrayNode;
0 23 2 registers Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
0 23 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 23 4 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 23 5 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
4 23 6 voidClass Lorg/graalvm/compiler/nodes/ValueNode;
7 23 7 length Lorg/graalvm/compiler/nodes/ValueNode;
21 23 8 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
newArrayNode
registers
tool
private static jdk.vm.ci.hotspot.HotSpotResolvedObjectType lookupArrayClass(org.graalvm.compiler.nodes.spi.LoweringTool, jdk.vm.ci.meta.JavaKind);
descriptor: (Lorg/graalvm/compiler/nodes/spi/LoweringTool;Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
if_acmpne 1
ldc Ljava/lang/Object;
goto 2
StackMap locals:
StackMap stack: jdk.vm.ci.meta.MetaAccessProvider
1: aload 1
invokevirtual jdk.vm.ci.meta.JavaKind.toJavaClass:()Ljava/lang/Class;
StackMap locals: org.graalvm.compiler.nodes.spi.LoweringTool jdk.vm.ci.meta.JavaKind
StackMap stack: jdk.vm.ci.meta.MetaAccessProvider java.lang.Class
2: invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getArrayClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
0 3 1 kind Ljdk/vm/ci/meta/JavaKind;
MethodParameters:
Name Flags
tool
kind
public void lower(org.graalvm.compiler.nodes.java.NewMultiArrayNode, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/java/NewMultiArrayNode;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewMultiArrayNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
astore 3
start local 3 1: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewMultiArrayNode.dimensionCount:()I
istore 4
start local 4 2: iload 4
anewarray org.graalvm.compiler.nodes.ValueNode
astore 5
start local 5 3: iconst_0
istore 6
start local 6 4: goto 7
5: StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewMultiArrayNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.ValueNode[] int
StackMap stack:
aload 5
iload 6
aload 1
iload 6
invokevirtual org.graalvm.compiler.nodes.java.NewMultiArrayNode.dimension:(I)Lorg/graalvm/compiler/nodes/ValueNode;
aastore
6: iinc 6 1
StackMap locals:
StackMap stack:
7: iload 6
aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewMultiArrayNode.dimensionCount:()I
if_icmplt 5
end local 6 8: aload 1
invokevirtual org.graalvm.compiler.nodes.java.NewMultiArrayNode.type:()Ljdk/vm/ci/meta/ResolvedJavaType;
checkcast jdk.vm.ci.hotspot.HotSpotResolvedObjectType
astore 6
start local 6 9: invokestatic org.graalvm.compiler.hotspot.nodes.type.KlassPointerStamp.klassNonNull:()Lorg/graalvm/compiler/hotspot/nodes/type/KlassPointerStamp;
aload 6
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.klass:()Ljdk/vm/ci/meta/Constant;
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 3
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/StructuredGraph;)Lorg/graalvm/compiler/nodes/ConstantNode;
astore 7
start local 7 10: getstatic org.graalvm.compiler.core.common.GraalOptions.GeneratePIC:Lorg/graalvm/compiler/options/OptionValue;
invokevirtual org.graalvm.compiler.options.OptionValue.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 11
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.newmultiarrayPIC:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
goto 12
StackMap locals: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates org.graalvm.compiler.nodes.java.NewMultiArrayNode org.graalvm.compiler.nodes.spi.LoweringTool org.graalvm.compiler.nodes.StructuredGraph int org.graalvm.compiler.nodes.ValueNode[] jdk.vm.ci.hotspot.HotSpotResolvedObjectType org.graalvm.compiler.nodes.ConstantNode
StackMap stack:
11: aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.newmultiarray:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
StackMap locals:
StackMap stack: org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo
12: astore 8
start local 8 13: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 8
aload 3
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 2
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 9
start local 9 14: aload 9
ldc "hub"
aload 7
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.add:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
15: aload 9
ldc "rank"
iload 4
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
16: aload 9
ldc "dimensions"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
getstatic jdk.vm.ci.meta.JavaKind.Int:Ljdk/vm/ci/meta/JavaKind;
invokestatic org.graalvm.compiler.core.common.type.StampFactory.forKind:(Ljdk/vm/ci/meta/JavaKind;)Lorg/graalvm/compiler/core/common/type/Stamp;
aload 5
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addVarargs:(Ljava/lang/String;Ljava/lang/Class;Lorg/graalvm/compiler/core/common/type/Stamp;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
17: aload 0
aload 9
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 9
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
18: return
end local 9 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 19 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 19 1 newmultiarrayNode Lorg/graalvm/compiler/nodes/java/NewMultiArrayNode;
0 19 2 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
1 19 3 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
2 19 4 rank I
3 19 5 dims [Lorg/graalvm/compiler/nodes/ValueNode;
4 8 6 i I
9 19 6 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
10 19 7 hub Lorg/graalvm/compiler/nodes/ConstantNode;
13 19 8 snippet Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
14 19 9 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
MethodParameters:
Name Flags
newmultiarrayNode
tool
private static int instanceSize(jdk.vm.ci.hotspot.HotSpotResolvedObjectType);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface jdk.vm.ci.hotspot.HotSpotResolvedObjectType.instanceSize:()I
istore 1
start local 1 1: getstatic org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.$assertionsDisabled:Z
ifne 2
iload 1
ifge 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals: int
StackMap stack:
iload 1
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljdk/vm/ci/hotspot/HotSpotResolvedObjectType;
1 3 1 size I
MethodParameters:
Name Flags
type
public void lower(org.graalvm.compiler.nodes.debug.VerifyHeapNode, org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider, org.graalvm.compiler.nodes.spi.LoweringTool);
descriptor: (Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;Lorg/graalvm/compiler/nodes/spi/LoweringTool;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.cAssertions:Z
ifeq 6
1: new org.graalvm.compiler.replacements.SnippetTemplate$Arguments
dup
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.verifyHeap:Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;
aload 1
invokevirtual org.graalvm.compiler.nodes.debug.VerifyHeapNode.graph:()Lorg/graalvm/compiler/nodes/StructuredGraph;
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getGuardsStage:()Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;
aload 3
invokeinterface org.graalvm.compiler.nodes.spi.LoweringTool.getLoweringStage:()Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;
invokespecial org.graalvm.compiler.replacements.SnippetTemplate$Arguments.<init>:(Lorg/graalvm/compiler/replacements/SnippetTemplate$SnippetInfo;Lorg/graalvm/compiler/nodes/StructuredGraph$GuardsStage;Lorg/graalvm/compiler/nodes/spi/LoweringTool$LoweringStage;)V
astore 4
start local 4 2: aload 4
ldc "threadRegister"
aload 2
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate$Arguments.addConst:(Ljava/lang/String;Ljava/lang/Object;)Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
pop
3: aload 0
aload 4
invokevirtual org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.template:(Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Lorg/graalvm/compiler/replacements/SnippetTemplate;
astore 5
start local 5 4: aload 5
aload 0
getfield org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates.providers:Lorg/graalvm/compiler/phases/util/Providers;
invokevirtual org.graalvm.compiler.phases.util.Providers.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
aload 1
getstatic org.graalvm.compiler.replacements.SnippetTemplate.DEFAULT_REPLACER:Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;
aload 4
invokevirtual org.graalvm.compiler.replacements.SnippetTemplate.instantiate:(Ljdk/vm/ci/meta/MetaAccessProvider;Lorg/graalvm/compiler/nodes/FixedNode;Lorg/graalvm/compiler/replacements/SnippetTemplate$UsageReplacer;Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;)Ljava/util/Map;
pop
end local 5 end local 4 5: goto 7
6: StackMap locals:
StackMap stack:
aload 1
invokestatic org.graalvm.compiler.nodes.util.GraphUtil.removeFixedWithUnusedInputs:(Lorg/graalvm/compiler/nodes/FixedWithNextNode;)V
7: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/graalvm/compiler/hotspot/replacements/NewObjectSnippets$Templates;
0 8 1 verifyHeapNode Lorg/graalvm/compiler/nodes/debug/VerifyHeapNode;
0 8 2 registers Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
0 8 3 tool Lorg/graalvm/compiler/nodes/spi/LoweringTool;
2 5 4 args Lorg/graalvm/compiler/replacements/SnippetTemplate$Arguments;
4 5 5 template Lorg/graalvm/compiler/replacements/SnippetTemplate;
MethodParameters:
Name Flags
verifyHeapNode
registers
tool
}
SourceFile: "NewObjectSnippets.java"
NestHost: org.graalvm.compiler.hotspot.replacements.NewObjectSnippets
InnerClasses:
public Templates = org.graalvm.compiler.hotspot.replacements.NewObjectSnippets$Templates of org.graalvm.compiler.hotspot.replacements.NewObjectSnippets
public final GuardsStage = org.graalvm.compiler.nodes.StructuredGraph$GuardsStage of org.graalvm.compiler.nodes.StructuredGraph
public abstract LoweringStage = org.graalvm.compiler.nodes.spi.LoweringTool$LoweringStage of org.graalvm.compiler.nodes.spi.LoweringTool
public abstract AbstractTemplates = org.graalvm.compiler.replacements.SnippetTemplate$AbstractTemplates of org.graalvm.compiler.replacements.SnippetTemplate
public Arguments = org.graalvm.compiler.replacements.SnippetTemplate$Arguments of org.graalvm.compiler.replacements.SnippetTemplate
public abstract SnippetInfo = org.graalvm.compiler.replacements.SnippetTemplate$SnippetInfo of org.graalvm.compiler.replacements.SnippetTemplate
public abstract UsageReplacer = org.graalvm.compiler.replacements.SnippetTemplate$UsageReplacer of org.graalvm.compiler.replacements.SnippetTemplate