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);
descriptor: (Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=8, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.graalvm.compiler.hotspot.HotSpotHostBackend.getProviders:()Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
astore 2
start local 2 1: aload 2
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getForeignCalls:()Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProvider;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider
astore 3
start local 3 2: aload 2
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getLowerer:()Lorg/graalvm/compiler/nodes/spi/LoweringProvider;
checkcast org.graalvm.compiler.hotspot.meta.HotSpotLoweringProvider
astore 4
start local 4 3: aconst_null
astore 5
aconst_null
astore 6
4: ldc "foreignCalls.initialize"
invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
astore 7
start local 7 5: aload 3
aload 2
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotHostForeignCallsProvider.initialize:(Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;)V
6: aload 7
ifnull 12
aload 7
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.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 5
aload 7
ifnull 8
aload 7
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
end local 7 StackMap locals:
StackMap stack:
8: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 6
aload 5
ifnonnull 10
aload 6
astore 5
goto 11
StackMap locals:
StackMap stack:
10: aload 5
aload 6
if_acmpeq 11
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 5
athrow
12: StackMap locals:
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
13: ldc "lowerer.initialize"
invokestatic jdk.vm.ci.common.InitTimer.timer:(Ljava/lang/String;)Ljdk/vm/ci/common/InitTimer;
astore 7
start local 7 14: aload 4
aload 2
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/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)V
15: aload 7
ifnull 21
aload 7
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
goto 21
StackMap locals: org.graalvm.compiler.hotspot.HotSpotHostBackend jdk.vm.ci.hotspot.HotSpotJVMCIRuntime 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
16: astore 5
aload 7
ifnull 17
aload 7
invokevirtual jdk.vm.ci.common.InitTimer.close:()V
end local 7 StackMap locals:
StackMap stack:
17: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
18: astore 6
aload 5
ifnonnull 19
aload 6
astore 5
goto 20
StackMap locals:
StackMap stack:
19: aload 5
aload 6
if_acmpeq 20
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
20: aload 5
athrow
21: StackMap locals:
StackMap stack:
return
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/HotSpotHostBackend;
0 22 1 jvmciRuntime Ljdk/vm/ci/hotspot/HotSpotJVMCIRuntime;
1 22 2 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
2 22 3 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotHostForeignCallsProvider;
3 22 4 lowerer Lorg/graalvm/compiler/hotspot/meta/HotSpotLoweringProvider;
5 8 7 st Ljdk/vm/ci/common/InitTimer;
14 17 7 st Ljdk/vm/ci/common/InitTimer;
Exception table:
from to target type
5 6 7 any
4 9 9 any
14 15 16 any
13 18 18 any
MethodParameters:
Name Flags
jvmciRuntime
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
iload 2
imul
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=4, locals=2, args_size=2
start local 0 start local 1 0: 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
invokespecial org.graalvm.compiler.hotspot.HotSpotReferenceMapBuilder.<init>:(II)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/HotSpotHostBackend;
0 1 1 totalFrameSize I
MethodParameters:
Name Flags
totalFrameSize
}
SourceFile: "HotSpotHostBackend.java"
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention