public abstract class org.graalvm.compiler.hotspot.HotSpotHostBackend extends org.graalvm.compiler.hotspot.HotSpotBackend
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.graalvm.compiler.hotspot.HotSpotHostBackend
super_class: org.graalvm.compiler.hotspot.HotSpotBackend
{
public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor DEOPTIMIZATION_HANDLER;
descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
public static final org.graalvm.compiler.core.common.spi.ForeignCallDescriptor UNCOMMON_TRAP_HANDLER;
descriptor: Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
protected final org.graalvm.compiler.hotspot.GraalHotSpotVMConfig config;
descriptor: Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=5, locals=0, args_size=0
0: new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
dup
ldc "deoptHandler"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.DEOPTIMIZATION_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
1: new org.graalvm.compiler.core.common.spi.ForeignCallDescriptor
dup
ldc "uncommonTrapHandler"
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
iconst_0
anewarray java.lang.Class
invokespecial org.graalvm.compiler.core.common.spi.ForeignCallDescriptor.<init>:(Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.HotSpotHostBackend.UNCOMMON_TRAP_HANDLER:Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, org.graalvm.compiler.hotspot.HotSpotGraalRuntimeProvider, org.graalvm.compiler.hotspot.meta.HotSpotProviders);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
aload 2
aload 3
invokespecial org.graalvm.compiler.hotspot.HotSpotBackend.<init>:(Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
1: aload 0
aload 1
putfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
2: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
0 3 1 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 3 2 runtime Lorg/graalvm/compiler/hotspot/HotSpotGraalRuntimeProvider;
0 3 3 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
MethodParameters:
Name Flags
config
runtime
providers
public void completeInitialization(jdk.vm.ci.hotspot.HotSpotJVMCIRuntime, org.graalvm.compiler.options.OptionValues);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;Lorg/graalvm/compiler/options/OptionValues;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 3
start local 3 1: aload 3
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
astore 4
start local 4 2: aload 3
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider
astore 5
start local 5 3: aconst_null
astore 6
aconst_null
astore 7
4: ldc "foreignCalls.initialize"
invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
astore 8
start local 8 5: aload 4
aload 3
aload 2
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.initialize:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/options/OptionValues;)V
6: aload 8
ifnull 12
aload 8
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
goto 12
StackMap locals: org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.hotspot.HotSpotJVMCIRuntime org.graalvm.compiler.options.OptionValues org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
StackMap stack: java.lang.Throwable
7: astore 6
aload 8
ifnull 8
aload 8
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
end local 8 StackMap locals:
StackMap stack:
8: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 7
aload 6
ifnonnull 10
aload 7
astore 6
goto 11
StackMap locals:
StackMap stack:
10: aload 6
aload 7
if_acmpeq 11
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 6
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 6
aconst_null
astore 7
13: ldc "lowerer.initialize"
invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
astore 8
start local 8 14: new org.graalvm.compiler.printer.GraalDebugHandlersFactory
dup
aload 3
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getSnippetReflection:()Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;
invokespecial org.graalvm.compiler.printer.GraalDebugHandlersFactory.<init>:(Lorg/graalvm/compiler/api/replacements/SnippetReflectionProvider;)V
invokestatic java.util.Collections.singletonList:(Ljava/lang/Object;)Ljava/util/List;
astore 9
start local 9 15: aload 5
aload 2
aload 9
aload 3
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider.initialize:(Lorg/graalvm/compiler/options/OptionValues;Ljava/lang/Iterable;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
end local 9 16: aload 8
ifnull 22
aload 8
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
goto 22
StackMap locals: org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.hotspot.HotSpotJVMCIRuntime org.graalvm.compiler.options.OptionValues org.graalvm.compiler.hotspot.meta.HotSpotProviders org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider java.lang.Throwable java.lang.Throwable jdk.vm.ci.common.InitTimer
StackMap stack: java.lang.Throwable
17: astore 6
aload 8
ifnull 18
aload 8
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
end local 8 StackMap locals:
StackMap stack:
18: aload 6
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
19: astore 7
aload 6
ifnonnull 20
aload 7
astore 6
goto 21
StackMap locals:
StackMap stack:
20: aload 6
aload 7
if_acmpeq 21
aload 6
aload 7
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
21: aload 6
athrow
22: StackMap locals:
StackMap stack:
return
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/HotSpotHostBackend;
0 23 1 jvmciRuntime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
0 23 2 options Lorg/graalvm/compiler/options/OptionValues;
1 23 3 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
2 23 4 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider;
3 23 5 lowerer Lorg/graalvm/compiler/hotspot/meta/HotSpotLoweringProvider;
5 8 8 st Ljdk/vm/ci/common/InitTimer;
14 18 8 st Ljdk/vm/ci/common/InitTimer;
15 16 9 factories Ljava/lang/Iterable<Lorg/graalvm/compiler/debug/DebugHandlersFactory;>;
Exception table:
from to target type
5 6 7 any
4 9 9 any
14 16 17 any
13 19 19 any
MethodParameters:
Name Flags
jvmciRuntime
options
protected jdk.vm.ci.code.CallingConvention makeCallingConvention(org.graalvm.compiler.nodes.StructuredGraph, org.graalvm.compiler.hotspot.stubs.Stub);
descriptor: (Lorg/graalvm/compiler/nodes/StructuredGraph;Lorg/graalvm/compiler/hotspot/stubs/Stub;)Ljdk/vm/ci/code/CallingConvention;
flags: (0x0004) ACC_PROTECTED
Code:
stack=9, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 2
ifnull 2
1: aload 2
invokevirtual org.graalvm.compiler.hotspot.stubs.Stub.getLinkage:()Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
invokeinterface org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage.getIncomingCallingConvention:()Ljdk/vm/ci/code/CallingConvention;
areturn
2: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.method:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
aload 0
invokestatic jdk.vm.ci.code.CodeUtil.getCallingConvention:(Ljdk/vm/ci/code/CodeCacheProvider;Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
astore 3
start local 3 3: aload 1
invokevirtual org.graalvm.compiler.nodes.StructuredGraph.getEntryBCI:()I
iconst_m1
if_icmpeq 7
4: iconst_1
anewarray jdk.vm.ci.meta.JavaType
dup
iconst_0
aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aastore
astore 4
start local 4 5: aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getCodeCache:()Ljdk/vm/ci/code/CodeCacheProvider;
invokeinterface jdk.vm.ci.code.CodeCacheProvider.getRegisterConfig:()Ljdk/vm/ci/code/RegisterConfig;
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.JavaCallee:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getMetaAccess:()Ljdk/vm/ci/meta/MetaAccessProvider;
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
invokeinterface jdk.vm.ci.meta.MetaAccessProvider.lookupJavaType:(Ljava/lang/Class;)Ljdk/vm/ci/meta/ResolvedJavaType;
aload 4
aload 0
invokeinterface jdk.vm.ci.code.RegisterConfig.getCallingConvention:(Ljdk/vm/ci/code/CallingConvention$Type;Ljdk/vm/ci/meta/JavaType;[Ljdk/vm/ci/meta/JavaType;Ljdk/vm/ci/code/ValueKindFactory;)Ljdk/vm/ci/code/CallingConvention;
astore 5
start local 5 6: new jdk.vm.ci.code.CallingConvention
dup
aload 3
invokevirtual jdk.vm.ci.code.CallingConvention.getStackSize:()I
aload 3
invokevirtual jdk.vm.ci.code.CallingConvention.getReturn:()Ljdk/vm/ci/meta/AllocatableValue;
iconst_1
anewarray jdk.vm.ci.meta.AllocatableValue
dup
iconst_0
aload 5
iconst_0
invokevirtual jdk.vm.ci.code.CallingConvention.getArgument:(I)Ljdk/vm/ci/meta/AllocatableValue;
aastore
invokespecial jdk.vm.ci.code.CallingConvention.<init>:(ILjdk/vm/ci/meta/AllocatableValue;[Ljdk/vm/ci/meta/AllocatableValue;)V
astore 3
end local 5 end local 4 7: StackMap locals: jdk.vm.ci.code.CallingConvention
StackMap stack:
aload 3
areturn
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/HotSpotHostBackend;
0 8 1 graph Lorg/graalvm/compiler/nodes/StructuredGraph;
0 8 2 stub Lorg/graalvm/compiler/hotspot/stubs/Stub;
3 8 3 cc Ljdk/vm/ci/code/CallingConvention;
5 7 4 parameterTypes [Ljdk/vm/ci/meta/JavaType;
6 7 5 tmp Ljdk/vm/ci/code/CallingConvention;
MethodParameters:
Name Flags
graph
stub
public void emitStackOverflowCheck(org.graalvm.compiler.lir.asm.CompilationResultBuilder);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useStackBanging:Z
ifeq 14
1: aload 0
getfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.vmPageSize:I
istore 2
start local 2 2: aload 0
getfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.stackShadowPages:I
iconst_4
imul
sipush 1024
imul
iload 2
invokestatic org.graalvm.compiler.core.common.NumUtil.roundUp:(II)I
istore 3
start local 3 3: iload 3
istore 4
start local 4 4: aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.frameMap:Lorg/graalvm/compiler/lir/framemap/FrameMap;
invokevirtual org.graalvm.compiler.lir.framemap.FrameMap.frameSize:()I
aload 1
getfield org.graalvm.compiler.lir.asm.CompilationResultBuilder.compilationResult:Lorg/graalvm/compiler/code/CompilationResult;
invokevirtual org.graalvm.compiler.code.CompilationResult.getMaxInterpreterFrameSize:()I
invokestatic java.lang.Math.max:(II)I
istore 5
start local 5 5: iload 5
iload 2
if_icmple 7
6: iload 3
iload 5
iadd
istore 3
7: StackMap locals: org.graalvm.compiler.hotspot.HotSpotHostBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder int int int int
StackMap stack:
iload 4
istore 6
start local 6 8: iload 6
iload 3
if_icmpgt 13
9: aload 1
ldc "[stack overflow check]"
invokevirtual org.graalvm.compiler.lir.asm.CompilationResultBuilder.blockComment:(Ljava/lang/String;)V
10: goto 13
11: StackMap locals: int
StackMap stack:
aload 0
aload 1
iload 6
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.bangStackWithOffset:(Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;I)V
12: iload 6
iload 2
iadd
istore 6
13: StackMap locals:
StackMap stack:
iload 6
iload 3
if_icmple 11
end local 6 end local 5 end local 4 end local 3 end local 2 14: StackMap locals: org.graalvm.compiler.hotspot.HotSpotHostBackend org.graalvm.compiler.lir.asm.CompilationResultBuilder
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
0 15 1 crb Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;
2 14 2 pageSize I
3 14 3 bangEnd I
4 14 4 bangEndSafe I
5 14 5 frameSize I
8 14 6 bangOffset I
MethodParameters:
Name Flags
crb
protected abstract void bangStackWithOffset(org.graalvm.compiler.lir.asm.CompilationResultBuilder, int);
descriptor: (Lorg/graalvm/compiler/lir/asm/CompilationResultBuilder;I)V
flags: (0x0404) ACC_PROTECTED, ACC_ABSTRACT
MethodParameters:
Name Flags
crb
bangOffset
public org.graalvm.compiler.lir.framemap.ReferenceMapBuilder newReferenceMapBuilder(int);
descriptor: (I)Lorg/graalvm/compiler/lir/framemap/ReferenceMapBuilder;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getTarget:()Ljdk/vm/ci/code/TargetDescription;
getfield jdk.vm.ci.code.TargetDescription.arch:Ljdk/vm/ci/code/Architecture;
getstatic jdk.vm.ci.meta.JavaKind.Object:Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.code.Architecture.getPlatformKind:(Ljdk/vm/ci/meta/JavaKind;)Ljdk/vm/ci/meta/PlatformKind;
invokeinterface jdk.vm.ci.meta.PlatformKind.getSizeInBytes:()I
istore 2
start local 2 1: new org.graalvm.compiler.hotspot.HotSpotReferenceMapBuilder
dup
iload 1
aload 0
getfield org.graalvm.compiler.hotspot.HotSpotHostBackend.config:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.maxOopMapStackOffset:I
iload 2
invokespecial org.graalvm.compiler.hotspot.HotSpotReferenceMapBuilder.<init>:(III)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
0 2 1 totalFrameSize I
1 2 2 uncompressedReferenceSize I
MethodParameters:
Name Flags
totalFrameSize
}
SourceFile: "HotSpotHostBackend.java"
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention