public class org.graalvm.compiler.hotspot.stubs.UncommonTrapStub extends org.graalvm.compiler.hotspot.stubs.SnippetStub
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.graalvm.compiler.hotspot.stubs.UncommonTrapStub
super_class: org.graalvm.compiler.hotspot.stubs.SnippetStub
{
public static final org.graalvm.compiler.core.common.LocationIdentity STACK_BANG_LOCATION;
descriptor: Lorg/graalvm/compiler/core/common/LocationIdentity;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
private final jdk.vm.ci.code.TargetDescription target;
descriptor: Ljdk/vm/ci/code/TargetDescription;
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/stubs/UncommonTrapStub;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.$assertionsDisabled:Z
3: ldc "stack bang"
invokestatic org.graalvm.compiler.nodes.NamedLocationIdentity.mutable:(Ljava/lang/String;)Lorg/graalvm/compiler/nodes/NamedLocationIdentity;
putstatic org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.STACK_BANG_LOCATION:Lorg/graalvm/compiler/core/common/LocationIdentity;
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.HotSpotForeignCallLinkage);
descriptor: (Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Ljdk/vm/ci/code/TargetDescription;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=4, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
ldc Lorg/graalvm/compiler/hotspot/stubs/UncommonTrapStub;
ldc "uncommonTrapHandler"
aload 1
aload 3
invokespecial org.graalvm.compiler.hotspot.stubs.SnippetStub.<init>:(Ljava/lang/Class;Ljava/lang/String;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
1: aload 0
aload 2
putfield org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.target:Ljdk/vm/ci/code/TargetDescription;
2: getstatic org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.$assertionsDisabled:Z
ifne 3
getstatic org.graalvm.compiler.hotspot.HotSpotBackend$Options.PreferGraalStubs: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
ifne 3
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals: org.graalvm.compiler.hotspot.stubs.UncommonTrapStub org.graalvm.compiler.hotspot.meta.HotSpotProviders jdk.vm.ci.code.TargetDescription org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/stubs/UncommonTrapStub;
0 4 1 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
0 4 2 target Ljdk/vm/ci/code/TargetDescription;
0 4 3 linkage Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
MethodParameters:
Name Flags
providers
target
linkage
public boolean preservesRegisters();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/graalvm/compiler/hotspot/stubs/UncommonTrapStub;
protected java.lang.Object getConstantParameterValue(int, java.lang.String);
descriptor: (ILjava/lang/String;)Ljava/lang/Object;
flags: (0x0004) ACC_PROTECTED
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: iload 1
tableswitch { // 0 - 1
0: 1
1: 2
default: 3
}
1: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getThreadRegister:()Ljdk/vm/ci/code/Register;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.providers:Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotProviders.getRegisters:()Lorg/graalvm/compiler/hotspot/meta/HotSpotRegistersProvider;
invokeinterface org.graalvm.compiler.hotspot.meta.HotSpotRegistersProvider.getStackPointerRegister:()Ljdk/vm/ci/code/Register;
areturn
3: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unknown parameter "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " at index "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.graalvm.compiler.debug.GraalError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/graalvm/compiler/hotspot/stubs/UncommonTrapStub;
0 4 1 index I
0 4 2 name Ljava/lang/String;
MethodParameters:
Name Flags
index
name
private static void uncommonTrapHandler(jdk.vm.ci.code.Register, jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;Ljdk/vm/ci/code/Register;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
astore 2
start local 2 1: invokestatic org.graalvm.compiler.hotspot.nodes.SaveAllRegistersNode.saveAllRegisters:()J
lstore 3
start local 3 2: aload 2
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.readPendingDeoptimization:(Lorg/graalvm/compiler/word/Word;)I
istore 5
start local 5 3: aload 2
iconst_m1
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.writePendingDeoptimization:(Lorg/graalvm/compiler/word/Word;I)V
4: lload 3
iload 5
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.stubs.UncommonTrapStub.deoptimizationUnpackUncommonTrap:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
invokestatic org.graalvm.compiler.hotspot.nodes.UncommonTrapCallNode.uncommonTrap:(JII)Lorg/graalvm/compiler/word/Word;
astore 6
start local 6 5: aload 1
aload 2
lload 3
aload 6
invokestatic org.graalvm.compiler.hotspot.stubs.DeoptimizationStub.deoptimizationCommon:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/word/Word;JLorg/graalvm/compiler/word/Word;)V
6: return
end local 6 end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 threadRegister Ljdk/vm/ci/code/Register;
0 7 1 stackPointerRegister Ljdk/vm/ci/code/Register;
1 7 2 thread Lorg/graalvm/compiler/word/Word;
2 7 3 registerSaver J
3 7 5 actionAndReason I
5 7 6 unrollBlock Lorg/graalvm/compiler/word/Word;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Snippet()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
1:
org.graalvm.compiler.api.replacements.Snippet$ConstantParameter()
MethodParameters:
Name Flags
threadRegister
stackPointerRegister
private static org.graalvm.compiler.word.Word readRegister(jdk.vm.ci.code.Register);
descriptor: (Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
iconst_0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;ZZ)Lorg/graalvm/compiler/word/Word;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 register Ljdk/vm/ci/code/Register;
MethodParameters:
Name Flags
register
private static void writeRegister(jdk.vm.ci.code.Register, org.graalvm.compiler.word.Word);
descriptor: (Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/word/Word;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.writeRegisterAsWord:(Ljdk/vm/ci/code/Register;Lorg/graalvm/compiler/word/Word;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 register Ljdk/vm/ci/code/Register;
0 2 1 value Lorg/graalvm/compiler/word/Word;
MethodParameters:
Name Flags
register
value
static int stackShadowPages(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.useStackBanging:Z
ifeq 1
aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.stackShadowPages:I
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int stackBias(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.stackBias:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
java.lang.Deprecated()
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockSizeOfDeoptimizedFrameOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockSizeOfDeoptimizedFrameOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockCallerAdjustmentOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockCallerAdjustmentOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockNumberOfFramesOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockNumberOfFramesOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockTotalFrameSizesOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockTotalFrameSizesOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockFrameSizesOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockFrameSizesOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockFramePcsOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockFramePcsOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnrollBlockInitialInfoOffset(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnrollBlockInitialInfoOffset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnpackDeopt(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnpackDeopt:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
static int deoptimizationUnpackUncommonTrap(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)I
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptimizationUnpackUncommonTrap:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 config Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
config
public static native int unpackFrames(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, int);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;I)I
flags: (0x0109) ACC_PUBLIC, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;, setStampFromReturnType = true)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
1:
2:
MethodParameters:
Name Flags
unpackFrames
thread
mode
}
SourceFile: "UncommonTrapStub.java"
InnerClasses:
public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
public abstract ConstantParameter = org.graalvm.compiler.api.replacements.Snippet$ConstantParameter of org.graalvm.compiler.api.replacements.Snippet
public abstract ConstantNodeParameter = org.graalvm.compiler.graph.Node$ConstantNodeParameter of org.graalvm.compiler.graph.Node
public abstract NodeIntrinsic = org.graalvm.compiler.graph.Node$NodeIntrinsic of org.graalvm.compiler.graph.Node
public Options = org.graalvm.compiler.hotspot.HotSpotBackend$Options of org.graalvm.compiler.hotspot.HotSpotBackend