public class org.graalvm.compiler.hotspot.stubs.CreateExceptionStub 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.CreateExceptionStub
super_class: org.graalvm.compiler.hotspot.stubs.SnippetStub
{
private static final org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor THROW_AND_POST_JVMTI_EXCEPTION;
descriptor: Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor THROW_KLASS_EXTERNAL_NAME_EXCEPTION;
descriptor: Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor THROW_CLASS_CAST_EXCEPTION;
descriptor: Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=11, locals=0, args_size=0
0: new org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor
dup
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Transition.SAFEPOINT:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Reexecutability.REEXECUTABLE:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
ldc "throw_and_post_jvmti_exception"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_3
anewarray java.lang.Class
dup
iconst_0
1: ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_1
ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_2
ldc Lorg/graalvm/compiler/word/Word;
2: aastore
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;Ljdk/internal/vm/compiler/word/LocationIdentity;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_AND_POST_JVMTI_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
3: new org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor
dup
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Transition.SAFEPOINT:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Reexecutability.REEXECUTABLE:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
ldc "throw_klass_external_name_exception"
4: getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_3
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_1
ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_2
ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
5: aastore
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;Ljdk/internal/vm/compiler/word/LocationIdentity;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_KLASS_EXTERNAL_NAME_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
6: new org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor
dup
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Transition.SAFEPOINT:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;
getstatic org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Reexecutability.REEXECUTABLE:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;
invokestatic jdk.internal.vm.compiler.word.LocationIdentity.any:()Ljdk/internal/vm/compiler/word/LocationIdentity;
ldc "throw_class_cast_exception"
getstatic java.lang.Integer.TYPE:Ljava/lang/Class;
iconst_4
anewarray java.lang.Class
dup
iconst_0
ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_1
7: ldc Lorg/graalvm/compiler/word/Word;
aastore
dup
iconst_2
ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
aastore
dup
iconst_3
ldc Lorg/graalvm/compiler/hotspot/word/KlassPointer;
8: aastore
invokespecial org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor.<init>:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Transition;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor$Reexecutability;Ljdk/internal/vm/compiler/word/LocationIdentity;Ljava/lang/String;Ljava/lang/Class;[Ljava/lang/Class;)V
putstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_CLASS_CAST_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
9: return
LocalVariableTable:
Start End Slot Name Signature
protected void <init>(java.lang.String, org.graalvm.compiler.options.OptionValues, org.graalvm.compiler.hotspot.meta.HotSpotProviders, org.graalvm.compiler.hotspot.HotSpotForeignCallLinkage);
descriptor: (Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=5, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
aload 1
aload 2
aload 3
aload 4
invokespecial org.graalvm.compiler.hotspot.stubs.SnippetStub.<init>:(Ljava/lang/String;Lorg/graalvm/compiler/options/OptionValues;Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;)V
1: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/graalvm/compiler/hotspot/stubs/CreateExceptionStub;
0 2 1 snippetMethodName Ljava/lang/String;
0 2 2 options Lorg/graalvm/compiler/options/OptionValues;
0 2 3 providers Lorg/graalvm/compiler/hotspot/meta/HotSpotProviders;
0 2 4 linkage Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
MethodParameters:
Name Flags
snippetMethodName
options
providers
linkage
static boolean reportsDeoptimization(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.deoptBlobUnpackWithExceptionInTLS:J
lconst_0
lcmp
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 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 boolean alwayDeoptimize(org.graalvm.compiler.options.OptionValues);
descriptor: (Lorg/graalvm/compiler/options/OptionValues;)Z
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub$Options.HotSpotDeoptExplicitExceptions:Lorg/graalvm/compiler/options/OptionKey;
aload 0
invokevirtual org.graalvm.compiler.options.OptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 options Lorg/graalvm/compiler/options/OptionValues;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.api.replacements.Fold$InjectedParameter()
MethodParameters:
Name Flags
options
static java.lang.String getInternalClassName(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Ljava/lang/String;
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
bipush 46
bipush 47
invokevirtual java.lang.String.replace:(CC)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Ljava/lang/String;
RuntimeVisibleAnnotations:
org.graalvm.compiler.api.replacements.Fold()
MethodParameters:
Name Flags
cls
private static org.graalvm.compiler.word.Word classAsCString(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)Lorg/graalvm/compiler/word/Word;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.getInternalClassName:(Ljava/lang/Class;)Ljava/lang/String;
invokestatic org.graalvm.compiler.replacements.nodes.CStringConstant.cstring:(Ljava/lang/String;)Lorg/graalvm/compiler/word/Word;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 cls Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)Lorg/graalvm/compiler/word/Word;
MethodParameters:
Name Flags
cls
protected static createException(jdk.vm.ci.code.Register, java.lang.Class<? extends java.lang.Throwable>);
descriptor: (Ljdk/vm/ci/code/Register;Ljava/lang/Class;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic jdk.internal.vm.compiler.word.WordFactory.zero:()Ljdk/internal/vm/compiler/word/WordBase;
checkcast org.graalvm.compiler.word.Word
astore 2
start local 2 1: aload 0
aload 1
aload 2
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.createException:(Ljdk/vm/ci/code/Register;Ljava/lang/Class;Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 threadRegister Ljdk/vm/ci/code/Register;
0 2 1 exception Ljava/lang/Class<+Ljava/lang/Throwable;>;
1 2 2 message Lorg/graalvm/compiler/word/Word;
Signature: (Ljdk/vm/ci/code/Register;Ljava/lang/Class<+Ljava/lang/Throwable;>;)Ljava/lang/Object;
MethodParameters:
Name Flags
threadRegister
exception
protected static createException(jdk.vm.ci.code.Register, java.lang.Class<? extends java.lang.Throwable>, org.graalvm.compiler.word.Word);
descriptor: (Ljdk/vm/ci/code/Register;Ljava/lang/Class;Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
astore 3
start local 3 1: getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_AND_POST_JVMTI_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 3
aload 1
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.classAsCString:(Ljava/lang/Class;)Lorg/graalvm/compiler/word/Word;
aload 2
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.throwAndPostJvmtiException:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)I
istore 4
start local 4 2: aload 3
iload 4
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.handleExceptionReturn:(Lorg/graalvm/compiler/word/Word;I)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 threadRegister Ljdk/vm/ci/code/Register;
0 3 1 exception Ljava/lang/Class<+Ljava/lang/Throwable;>;
0 3 2 message Lorg/graalvm/compiler/word/Word;
1 3 3 thread Lorg/graalvm/compiler/word/Word;
2 3 4 deoptimized I
Signature: (Ljdk/vm/ci/code/Register;Ljava/lang/Class<+Ljava/lang/Throwable;>;Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
MethodParameters:
Name Flags
threadRegister
exception
message
protected static createException(jdk.vm.ci.code.Register, java.lang.Class<? extends java.lang.Throwable>, org.graalvm.compiler.hotspot.word.KlassPointer);
descriptor: (Ljdk/vm/ci/code/Register;Ljava/lang/Class;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
astore 3
start local 3 1: getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_KLASS_EXTERNAL_NAME_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 3
aload 1
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.classAsCString:(Ljava/lang/Class;)Lorg/graalvm/compiler/word/Word;
aload 2
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.throwKlassExternalNameException:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)I
istore 4
start local 4 2: aload 3
iload 4
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.handleExceptionReturn:(Lorg/graalvm/compiler/word/Word;I)Ljava/lang/Object;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 threadRegister Ljdk/vm/ci/code/Register;
0 3 1 exception Ljava/lang/Class<+Ljava/lang/Throwable;>;
0 3 2 klass Lorg/graalvm/compiler/hotspot/word/KlassPointer;
1 3 3 thread Lorg/graalvm/compiler/word/Word;
2 3 4 deoptimized I
Signature: (Ljdk/vm/ci/code/Register;Ljava/lang/Class<+Ljava/lang/Throwable;>;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Ljava/lang/Object;
MethodParameters:
Name Flags
threadRegister
exception
klass
protected static createException(jdk.vm.ci.code.Register, java.lang.Class<? extends java.lang.Throwable>, org.graalvm.compiler.hotspot.word.KlassPointer, org.graalvm.compiler.hotspot.word.KlassPointer);
descriptor: (Ljdk/vm/ci/code/Register;Ljava/lang/Class;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Ljava/lang/Object;
flags: (0x000c) ACC_PROTECTED, ACC_STATIC
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.registerAsWord:(Ljdk/vm/ci/code/Register;)Lorg/graalvm/compiler/word/Word;
astore 4
start local 4 1: getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_CLASS_CAST_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 4
aload 1
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.classAsCString:(Ljava/lang/Class;)Lorg/graalvm/compiler/word/Word;
aload 2
aload 3
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.throwClassCastException:(Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)I
istore 5
start local 5 2: aload 4
iload 5
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.handleExceptionReturn:(Lorg/graalvm/compiler/word/Word;I)Ljava/lang/Object;
areturn
end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 threadRegister Ljdk/vm/ci/code/Register;
0 3 1 exception Ljava/lang/Class<+Ljava/lang/Throwable;>;
0 3 2 objKlass Lorg/graalvm/compiler/hotspot/word/KlassPointer;
0 3 3 targetKlass Lorg/graalvm/compiler/hotspot/word/KlassPointer;
1 3 4 thread Lorg/graalvm/compiler/word/Word;
2 3 5 deoptimized I
Signature: (Ljdk/vm/ci/code/Register;Ljava/lang/Class<+Ljava/lang/Throwable;>;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)Ljava/lang/Object;
MethodParameters:
Name Flags
threadRegister
exception
objKlass
targetKlass
private static java.lang.Object handleExceptionReturn(org.graalvm.compiler.word.Word, int);
descriptor: (Lorg/graalvm/compiler/word/Word;I)Ljava/lang/Object;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokestatic org.graalvm.compiler.hotspot.replacements.HotSpotReplacementsUtil.clearPendingException:(Lorg/graalvm/compiler/word/Word;)Ljava/lang/Object;
astore 2
start local 2 1: getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_OPTIONVALUES:Lorg/graalvm/compiler/options/OptionValues;
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.alwayDeoptimize:(Lorg/graalvm/compiler/options/OptionValues;)Z
ifeq 2
aload 2
ifnonnull 3
2: StackMap locals: java.lang.Object
StackMap stack:
getstatic org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.INJECTED_VMCONFIG:Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
invokestatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.reportsDeoptimization:(Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;)Z
ifeq 4
iload 1
ifeq 4
3: StackMap locals:
StackMap stack:
aload 2
invokestatic org.graalvm.compiler.hotspot.nodes.DeoptimizeWithExceptionInCallerNode.deopt:(Ljava/lang/Object;)V
4: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 thread Lorg/graalvm/compiler/word/Word;
0 5 1 deoptimized I
1 5 2 clearPendingException Ljava/lang/Object;
MethodParameters:
Name Flags
thread
deoptimized
private static native int throwAndPostJvmtiException(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
1:
2:
3:
MethodParameters:
Name Flags
d
thread
type
message
private static native int throwKlassExternalNameException(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.hotspot.word.KlassPointer);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
1:
2:
3:
MethodParameters:
Name Flags
d
thread
type
klass
private static native int throwClassCastException(org.graalvm.compiler.core.common.spi.ForeignCallDescriptor, org.graalvm.compiler.word.Word, org.graalvm.compiler.word.Word, org.graalvm.compiler.hotspot.word.KlassPointer, org.graalvm.compiler.hotspot.word.KlassPointer);
descriptor: (Lorg/graalvm/compiler/core/common/spi/ForeignCallDescriptor;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/word/Word;Lorg/graalvm/compiler/hotspot/word/KlassPointer;Lorg/graalvm/compiler/hotspot/word/KlassPointer;)I
flags: (0x010a) ACC_PRIVATE, ACC_STATIC, ACC_NATIVE
RuntimeVisibleAnnotations:
org.graalvm.compiler.graph.Node$NodeIntrinsic(value = Lorg/graalvm/compiler/hotspot/nodes/StubForeignCallNode;)
RuntimeVisibleParameterAnnotations:
0:
org.graalvm.compiler.graph.Node$ConstantNodeParameter()
1:
2:
3:
4:
MethodParameters:
Name Flags
d
thread
type
objKlass
targetKlass
public static void registerForeignCalls(org.graalvm.compiler.hotspot.GraalHotSpotVMConfig, org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl);
descriptor: (Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProviderImpl;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_AND_POST_JVMTI_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.throwAndPostJvmtiExceptionAddress:J
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.registerForeignCall:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
1: aload 1
getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_KLASS_EXTERNAL_NAME_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.throwKlassExternalNameExceptionAddress:J
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.registerForeignCall:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
2: aload 1
getstatic org.graalvm.compiler.hotspot.stubs.CreateExceptionStub.THROW_CLASS_CAST_EXCEPTION:Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;
aload 0
getfield org.graalvm.compiler.hotspot.GraalHotSpotVMConfig.throwClassCastExceptionAddress:J
getstatic jdk.vm.ci.hotspot.HotSpotCallingConventionType.NativeCall:Ljdk/vm/ci/hotspot/HotSpotCallingConventionType;
invokevirtual org.graalvm.compiler.hotspot.meta.HotSpotForeignCallsProviderImpl.registerForeignCall:(Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallDescriptor;JLjdk/vm/ci/code/CallingConvention$Type;)Lorg/graalvm/compiler/hotspot/HotSpotForeignCallLinkage;
pop
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 c Lorg/graalvm/compiler/hotspot/GraalHotSpotVMConfig;
0 4 1 foreignCalls Lorg/graalvm/compiler/hotspot/meta/HotSpotForeignCallsProviderImpl;
MethodParameters:
Name Flags
c
foreignCalls
}
SourceFile: "CreateExceptionStub.java"
NestMembers:
org.graalvm.compiler.hotspot.stubs.CreateExceptionStub$Options
InnerClasses:
public abstract Type = jdk.vm.ci.code.CallingConvention$Type of jdk.vm.ci.code.CallingConvention
public abstract InjectedParameter = org.graalvm.compiler.api.replacements.Fold$InjectedParameter of org.graalvm.compiler.api.replacements.Fold
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 final Reexecutability = org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Reexecutability of org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor
public final Transition = org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor$Transition of org.graalvm.compiler.hotspot.meta.HotSpotForeignCallDescriptor
public Options = org.graalvm.compiler.hotspot.stubs.CreateExceptionStub$Options of org.graalvm.compiler.hotspot.stubs.CreateExceptionStub