public class com.oracle.svm.core.snippets.FatalAssertions
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: com.oracle.svm.core.snippets.FatalAssertions
super_class: java.lang.Object
{
public static final java.util.Map<java.lang.reflect.Executable, com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor> FOREIGN_CALLS;
descriptor: Ljava/util/Map;
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/reflect/Executable;Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;>;
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=9, args_size=0
0: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
putstatic com.oracle.svm.core.snippets.FatalAssertions.FOREIGN_CALLS:Ljava/util/Map;
1: ldc Ljava/lang/AssertionError;
invokevirtual java.lang.Class.getDeclaredConstructors:()[Ljava/lang/reflect/Constructor;
dup
astore 3
arraylength
istore 2
iconst_0
istore 1
goto 14
StackMap locals: top int int java.lang.reflect.Constructor[]
StackMap stack:
2: aload 3
iload 1
aaload
astore 0
start local 0 3: new java.lang.StringBuilder
dup
ldc "fatalAssertion"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
astore 4
start local 4 4: aload 0
invokevirtual java.lang.reflect.Constructor.getParameterTypes:()[Ljava/lang/Class;
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 11
StackMap locals: java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.StringBuilder top int int java.lang.Class[]
StackMap stack:
5: aload 8
iload 6
aaload
astore 5
start local 5 6: aload 5
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 9
7: aload 4
aload 5
invokestatic jdk.vm.ci.meta.JavaKind.fromJavaClass:(Ljava/lang/Class;)Ljdk/vm/ci/meta/JavaKind;
invokevirtual jdk.vm.ci.meta.JavaKind.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: goto 10
9: StackMap locals: java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.StringBuilder java.lang.Class int int java.lang.Class[]
StackMap stack:
aload 4
aload 5
invokevirtual java.lang.Class.getSimpleName:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 5 10: StackMap locals: java.lang.reflect.Constructor int int java.lang.reflect.Constructor[] java.lang.StringBuilder top int int java.lang.Class[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
11: iload 6
iload 7
if_icmplt 5
12: getstatic com.oracle.svm.core.snippets.FatalAssertions.FOREIGN_CALLS:Ljava/util/Map;
aload 0
ldc Lcom/oracle/svm/core/snippets/FatalAssertions;
aload 4
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
iconst_1
anewarray org.graalvm.word.LocationIdentity
dup
iconst_0
invokestatic org.graalvm.word.LocationIdentity.any:()Lorg/graalvm/word/LocationIdentity;
aastore
invokestatic com.oracle.svm.core.snippets.SnippetRuntime.findForeignCall:(Ljava/lang/Class;Ljava/lang/String;Z[Lorg/graalvm/word/LocationIdentity;)Lcom/oracle/svm/core/snippets/SnippetRuntime$SubstrateForeignCallDescriptor;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 4 end local 0 13: iinc 1 1
StackMap locals: top int int java.lang.reflect.Constructor[]
StackMap stack:
14: iload 1
iload 2
if_icmplt 2
15: return
LocalVariableTable:
Start End Slot Name Signature
3 13 0 c Ljava/lang/reflect/Constructor<*>;
4 13 4 methodName Ljava/lang/StringBuilder;
6 10 5 parameterType Ljava/lang/Class<*>;
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/core/snippets/FatalAssertions;
private static void fatalAssertion(java.lang.Object);
descriptor: (Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 receiver Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
private static void fatalAssertionString(java.lang.Object, java.lang.String);
descriptor: (Ljava/lang/Object;Ljava/lang/String;)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 com.oracle.svm.core.snippets.FatalAssertions.fatalAssertionObject:(Ljava/lang/Object;Ljava/lang/Object;)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage Ljava/lang/String;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionObject(java.lang.Object, java.lang.Object);
descriptor: (Ljava/lang/Object;Ljava/lang/Object;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 1
instanceof java.lang.String
ifeq 3
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
aload 1
checkcast java.lang.String
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
2: goto 4
3: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
4: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 receiver Ljava/lang/Object;
0 5 1 detailMessage Ljava/lang/Object;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionBoolean(java.lang.Object, boolean);
descriptor: (Ljava/lang/Object;Z)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
iload 1
invokevirtual com.oracle.svm.core.log.Log.bool:(Z)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage Z
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionChar(java.lang.Object, char);
descriptor: (Ljava/lang/Object;C)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
iload 1
invokevirtual com.oracle.svm.core.log.Log.character:(C)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage C
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionInt(java.lang.Object, int);
descriptor: (Ljava/lang/Object;I)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
iload 1
invokevirtual com.oracle.svm.core.log.Log.signed:(I)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage I
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionLong(java.lang.Object, long);
descriptor: (Ljava/lang/Object;J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
lload 1
invokevirtual com.oracle.svm.core.log.Log.signed:(J)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage J
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionFloat(java.lang.Object, float);
descriptor: (Ljava/lang/Object;F)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
ldc "[float number supressed]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage F
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionDouble(java.lang.Object, double);
descriptor: (Ljava/lang/Object;D)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
ldc "[double number supressed]"
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage D
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
private static void fatalAssertionStringThrowable(java.lang.Object, java.lang.String, java.lang.Throwable);
descriptor: (Ljava/lang/Object;Ljava/lang/String;Ljava/lang/Throwable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: invokestatic com.oracle.svm.core.snippets.FatalAssertions.runtimeAssertionPrefix:()Lcom/oracle/svm/core/log/Log;
aload 1
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc " caused by "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
aload 2
invokevirtual com.oracle.svm.core.log.Log.object:(Ljava/lang/Object;)Lcom/oracle/svm/core/log/Log;
invokevirtual com.oracle.svm.core.log.Log.newline:()Lcom/oracle/svm/core/log/Log;
pop
1: invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 receiver Ljava/lang/Object;
0 2 1 detailMessage Ljava/lang/String;
0 2 2 cause Ljava/lang/Throwable;
RuntimeVisibleAnnotations:
com.oracle.svm.core.annotate.RestrictHeapAccess(access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access.NO_ALLOCATION:Lcom/oracle/svm/core/annotate/RestrictHeapAccess$Access;, reason = "Called to report an assertion in code that must not allocate.")
com.oracle.svm.core.snippets.SubstrateForeignCallTarget(stubCallingConvention = true)
MethodParameters:
Name Flags
receiver
detailMessage
cause
private static java.lang.String assertionErrorName();
descriptor: ()Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Ljava/lang/AssertionError;
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
areturn
LocalVariableTable:
Start End Slot Name Signature
private static com.oracle.svm.core.log.Log runtimeAssertionPrefix();
descriptor: ()Lcom/oracle/svm/core/log/Log;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic com.oracle.svm.core.log.Log.log:()Lcom/oracle/svm/core/log/Log;
invokestatic com.oracle.svm.core.snippets.FatalAssertions.assertionErrorName:()Ljava/lang/String;
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
ldc ": "
invokevirtual com.oracle.svm.core.log.Log.string:(Ljava/lang/String;)Lcom/oracle/svm/core/log/Log;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "FatalAssertions.java"
InnerClasses:
public final Access = com.oracle.svm.core.annotate.RestrictHeapAccess$Access of com.oracle.svm.core.annotate.RestrictHeapAccess
public SubstrateForeignCallDescriptor = com.oracle.svm.core.snippets.SnippetRuntime$SubstrateForeignCallDescriptor of com.oracle.svm.core.snippets.SnippetRuntime