public abstract class com.oracle.svm.hosted.image.NativeBootImage extends com.oracle.svm.hosted.image.AbstractBootImage
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: com.oracle.svm.hosted.image.NativeBootImage
super_class: com.oracle.svm.hosted.image.AbstractBootImage
{
public static final long RWDATA_CGLOBALS_PARTITION_OFFSET;
descriptor: J
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
ConstantValue: 0
private final com.oracle.objectfile.ObjectFile objectFile;
descriptor: Lcom/oracle/objectfile/ObjectFile;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final int wordSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.Set<com.oracle.svm.hosted.meta.HostedMethod> uniqueEntryPoints;
descriptor: Ljava/util/Set;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Set<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
private com.oracle.objectfile.ObjectFile$Section textSection;
descriptor: Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0002) ACC_PRIVATE
private com.oracle.objectfile.ObjectFile$Section roDataSection;
descriptor: Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0002) ACC_PRIVATE
private com.oracle.objectfile.ObjectFile$Section rwDataSection;
descriptor: Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0002) ACC_PRIVATE
private com.oracle.objectfile.ObjectFile$Section heapSection;
descriptor: Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0002) ACC_PRIVATE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
private static volatile int[] $SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind;
descriptor: [I
flags: (0x104a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lcom/oracle/svm/hosted/image/NativeBootImage;
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 com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
3: return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind, com.oracle.svm.hosted.meta.HostedUniverse, com.oracle.svm.hosted.meta.HostedMetaAccess, com.oracle.svm.hosted.c.NativeLibraries, com.oracle.svm.hosted.image.NativeImageHeap, com.oracle.svm.hosted.image.NativeImageCodeCache, java.util.List<com.oracle.svm.hosted.meta.HostedMethod>, java.lang.ClassLoader);
descriptor: (Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/svm/hosted/c/NativeLibraries;Lcom/oracle/svm/hosted/image/NativeImageHeap;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;Ljava/util/List;Ljava/lang/ClassLoader;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=9, locals=10, args_size=9
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 start local 6 start local 7 start local 8 0: aload 0
aload 1
aload 2
aload 3
aload 4
aload 5
aload 6
aload 7
aload 8
invokespecial com.oracle.svm.hosted.image.AbstractBootImage.<init>:(Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/svm/hosted/c/NativeLibraries;Lcom/oracle/svm/hosted/image/NativeImageHeap;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;Ljava/util/List;Ljava/lang/ClassLoader;)V
1: aload 0
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
putfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
2: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
aload 7
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
3: invokestatic com.oracle.svm.hosted.NativeImageOptions.getPageSize:()I
istore 9
start local 9 4: aload 0
iload 9
invokestatic com.oracle.objectfile.ObjectFile.getNativeObjectFile:(I)Lcom/oracle/objectfile/ObjectFile;
putfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
5: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
getfield com.oracle.svm.core.SubstrateTargetDescription.arch:Ljdk/vm/ci/code/Architecture;
invokevirtual jdk.vm.ci.code.Architecture.getByteOrder:()Ljava/nio/ByteOrder;
invokevirtual com.oracle.objectfile.ObjectFile.setByteOrder:(Ljava/nio/ByteOrder;)V
6: aload 0
invokestatic com.oracle.svm.core.FrameAccess.wordSize:()I
putfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
7: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 8
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getWordSizeInBytes:()I
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
if_icmpeq 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind com.oracle.svm.hosted.meta.HostedUniverse com.oracle.svm.hosted.meta.HostedMetaAccess com.oracle.svm.hosted.c.NativeLibraries com.oracle.svm.hosted.image.NativeImageHeap com.oracle.svm.hosted.image.NativeImageCodeCache java.util.List java.lang.ClassLoader int
StackMap stack:
return
end local 9 end local 8 end local 7 end local 6 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 9 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 9 1 k Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;
0 9 2 universe Lcom/oracle/svm/hosted/meta/HostedUniverse;
0 9 3 metaAccess Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
0 9 4 nativeLibs Lcom/oracle/svm/hosted/c/NativeLibraries;
0 9 5 heap Lcom/oracle/svm/hosted/image/NativeImageHeap;
0 9 6 codeCache Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
0 9 7 entryPoints Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
0 9 8 imageClassLoader Ljava/lang/ClassLoader;
4 9 9 pageSize I
Signature: (Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Lcom/oracle/svm/hosted/meta/HostedUniverse;Lcom/oracle/svm/hosted/meta/HostedMetaAccess;Lcom/oracle/svm/hosted/c/NativeLibraries;Lcom/oracle/svm/hosted/image/NativeImageHeap;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;Ljava/lang/ClassLoader;)V
MethodParameters:
Name Flags
k
universe
metaAccess
nativeLibs
heap
codeCache
entryPoints
imageClassLoader
public com.oracle.objectfile.ObjectFile$Section getTextSection();
descriptor: ()Lcom/oracle/objectfile/ObjectFile$Section;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
public abstract java.lang.String[] makeLaunchCommand(com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind, java.lang.String, java.nio.file.Path, java.nio.file.Path, java.lang.reflect.Method);
descriptor: (Lcom/oracle/svm/hosted/image/AbstractBootImage$NativeImageKind;Ljava/lang/String;Ljava/nio/file/Path;Ljava/nio/file/Path;Ljava/lang/reflect/Method;)[Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
k
imageName
binPath
workPath
method
protected final void write(org.graalvm.compiler.debug.DebugContext, java.nio.file.Path);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;Ljava/nio/file/Path;)V
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
astore 3
start local 3 1: aload 3
ifnull 3
2: aload 3
iconst_0
anewarray java.nio.file.attribute.FileAttribute
invokestatic java.nio.file.Files.createDirectories:(Ljava/nio/file/Path;[Ljava/nio/file/attribute/FileAttribute;)Ljava/nio/file/Path;
pop
3: StackMap locals: java.nio.file.Path
StackMap stack:
aconst_null
astore 4
aconst_null
astore 5
4: aload 2
iconst_4
anewarray java.nio.file.OpenOption
dup
iconst_0
getstatic java.nio.file.StandardOpenOption.WRITE:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_1
getstatic java.nio.file.StandardOpenOption.READ:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_2
getstatic java.nio.file.StandardOpenOption.TRUNCATE_EXISTING:Ljava/nio/file/StandardOpenOption;
aastore
dup
iconst_3
getstatic java.nio.file.StandardOpenOption.CREATE:Ljava/nio/file/StandardOpenOption;
aastore
invokestatic java.nio.channels.FileChannel.open:(Ljava/nio/file/Path;[Ljava/nio/file/OpenOption;)Ljava/nio/channels/FileChannel;
astore 6
start local 6 5: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 1
ldc "ObjectFile.write"
aload 0
aload 6
invokedynamic run(Lcom/oracle/svm/hosted/image/NativeBootImage;Ljava/nio/channels/FileChannel;)Ljava/lang/Runnable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()V
com/oracle/svm/hosted/image/NativeBootImage.lambda$0(Ljava/nio/channels/FileChannel;)V (7)
()V
invokevirtual com.oracle.objectfile.ObjectFile.withDebugContext:(Lorg/graalvm/compiler/debug/DebugContext;Ljava/lang/String;Ljava/lang/Runnable;)V
6: aload 6
ifnull 14
aload 6
invokevirtual java.nio.channels.FileChannel.close:()V
goto 14
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.channels.FileChannel
StackMap stack: java.lang.Throwable
7: astore 4
aload 6
ifnull 8
aload 6
invokevirtual java.nio.channels.FileChannel.close:()V
end local 6 StackMap locals:
StackMap stack:
8: aload 4
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
9: astore 5
aload 4
ifnonnull 10
aload 5
astore 4
goto 11
StackMap locals:
StackMap stack:
10: aload 4
aload 5
if_acmpeq 11
aload 4
aload 5
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
11: aload 4
athrow
end local 3 12: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path
StackMap stack: java.lang.Exception
astore 3
start local 3 13: aload 3
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 3 14: StackMap locals:
StackMap stack:
aload 0
aload 2
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.length:()J
l2i
putfield com.oracle.svm.hosted.image.NativeBootImage.resultingImageSize:I
15: getstatic com.oracle.svm.hosted.NativeImageOptions.PrintImageElementSizes:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 20
16: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getElements:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 4
goto 19
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path top java.util.Iterator
StackMap stack:
17: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.objectfile.ObjectFile$Element
astore 3
start local 3 18: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "PrintImageElementSizes: size: %15d name: %s\n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 3
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getDecisionsByElement:()Ljava/util/Map;
invokevirtual com.oracle.objectfile.ObjectFile$Element.getMemSize:(Ljava/util/Map;)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
aload 3
invokevirtual com.oracle.objectfile.ObjectFile$Element.getElementName:()Ljava/lang/String;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
end local 3 19: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 17
20: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 21 1 context Lorg/graalvm/compiler/debug/DebugContext;
0 21 2 outputFile Ljava/nio/file/Path;
1 12 3 outFileParent Ljava/nio/file/Path;
5 8 6 channel Ljava/nio/channels/FileChannel;
13 14 3 ex Ljava/lang/Exception;
18 19 3 e Lcom/oracle/objectfile/ObjectFile$Element;
Exception table:
from to target type
5 6 7 any
4 9 9 any
0 12 12 Class java.lang.Exception
MethodParameters:
Name Flags
context
outputFile
void (java.nio.file.Path, java.lang.String, boolean);
descriptor: (Ljava/nio/file/Path;Ljava/lang/String;Z)V
flags: (0x0000)
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
1: aload 0
invokedynamic test(Lcom/oracle/svm/hosted/image/NativeBootImage;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
com/oracle/svm/hosted/image/NativeBootImage.shouldWriteHeader(Lcom/oracle/svm/hosted/meta/HostedMethod;)Z (7)
(Lcom/oracle/svm/hosted/meta/HostedMethod;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
2: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/image/NativeBootImage.lambda$2(Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/collections/Pair; (6)
(Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/collections/Pair;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
3: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/collections/Pair.getLeft()Ljava/lang/Object; (5)
(Lorg/graalvm/collections/Pair;)Ljava/lang/Class;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/graalvm/collections/Pair.getRight()Ljava/lang/Object; (5)
(Lorg/graalvm/collections/Pair;)Lcom/oracle/svm/hosted/meta/HostedMethod;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokestatic java.util.stream.Collectors.mapping:(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
invokestatic java.util.stream.Collectors.groupingBy:(Ljava/util/function/Function;Ljava/util/stream/Collector;)Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.Map
4: astore 4
start local 4 5: aload 4
aload 0
aload 2
aload 1
iload 3
invokedynamic accept(Lcom/oracle/svm/hosted/image/NativeBootImage;Ljava/lang/String;Ljava/nio/file/Path;Z)Ljava/util/function/BiConsumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)V
com/oracle/svm/hosted/image/NativeBootImage.lambda$5(Ljava/lang/String;Ljava/nio/file/Path;ZLjava/lang/Class;Ljava/util/List;)V (7)
(Ljava/lang/Class;Ljava/util/List;)V
invokeinterface java.util.Map.forEach:(Ljava/util/function/BiConsumer;)V
6: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 7 1 outputDir Ljava/nio/file/Path;
0 7 2 imageName Ljava/lang/String;
0 7 3 dynamic Z
5 7 4 hostedMethods Ljava/util/Map<+Ljava/lang/Class<+Lcom/oracle/svm/core/c/CHeader$Header;>;Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;>;
MethodParameters:
Name Flags
outputDir
imageName
dynamic
private void writeHeaderFile(java.nio.file.Path, com.oracle.svm.core.c.CHeader$Header, java.util.List<com.oracle.svm.hosted.meta.HostedMethod>, );
descriptor: (Ljava/nio/file/Path;Lcom/oracle/svm/core/c/CHeader$Header;Ljava/util/List;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: new com.oracle.svm.hosted.c.codegen.CSourceCodeWriter
dup
aload 1
invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
invokespecial com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.<init>:(Ljava/nio/file/Path;)V
astore 5
start local 5 1: new java.lang.StringBuilder
dup
ldc "__"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokeinterface com.oracle.svm.core.c.CHeader$Header.name:()Ljava/lang/String;
invokevirtual java.lang.String.toUpperCase:()Ljava/lang/String;
ldc "[^A-Z0-9]"
ldc "_"
invokevirtual java.lang.String.replaceAll:(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "_H"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 2: iload 4
ifeq 3
ldc "_dynamic.h"
goto 4
StackMap locals: com.oracle.svm.hosted.c.codegen.CSourceCodeWriter java.lang.String
StackMap stack:
3: ldc ".h"
StackMap locals:
StackMap stack: java.lang.String
4: astore 7
start local 7 5: aload 5
new java.lang.StringBuilder
dup
ldc "#ifndef "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
6: aload 5
new java.lang.StringBuilder
dup
ldc "#define "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
7: aload 5
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
8: aload 5
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.writeCStandardHeaders:()V
9: aload 2
invokeinterface com.oracle.svm.core.c.CHeader$Header.dependsOn:()Ljava/util/List;
invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
10: invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/image/NativeBootImage.instantiateCHeader(Ljava/lang/Class;)Lcom/oracle/svm/core/c/CHeader$Header; (6)
(Ljava/lang/Class;)Lcom/oracle/svm/core/c/CHeader$Header;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
11: aload 7
invokedynamic apply(Ljava/lang/String;)Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/image/NativeBootImage.lambda$8(Ljava/lang/String;Lcom/oracle/svm/core/c/CHeader$Header;)Ljava/lang/String; (6)
(Lcom/oracle/svm/core/c/CHeader$Header;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
12: astore 8
start local 8 13: aload 5
aload 8
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.includeFiles:(Ljava/util/List;)V
14: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 9
start local 9 15: new java.io.PrintWriter
dup
aload 9
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 10
start local 10 16: aload 2
aload 10
invokeinterface com.oracle.svm.core.c.CHeader$Header.writePreamble:(Ljava/io/PrintWriter;)V
17: aload 10
invokevirtual java.io.PrintWriter.flush:()V
18: aload 9
invokevirtual java.io.ByteArrayOutputStream.toString:()Ljava/lang/String;
ldc "\\r?\\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
dup
astore 14
arraylength
istore 13
iconst_0
istore 12
goto 22
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.nio.file.Path com.oracle.svm.core.c.CHeader$Header java.util.List int com.oracle.svm.hosted.c.codegen.CSourceCodeWriter java.lang.String java.lang.String java.util.List java.io.ByteArrayOutputStream java.io.PrintWriter top int int java.lang.String[]
StackMap stack:
19: aload 14
iload 12
aaload
astore 11
start local 11 20: aload 5
aload 11
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
end local 11 21: iinc 12 1
StackMap locals:
StackMap stack:
22: iload 12
iload 13
if_icmplt 19
23: aload 3
invokeinterface java.util.List.size:()I
ifle 33
24: aload 5
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
25: aload 5
ldc "#if defined(__cplusplus)"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
26: aload 5
ldc "extern \"C\" {"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
27: aload 5
ldc "#endif"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
28: aload 5
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
29: aload 3
aload 0
aload 5
iload 4
invokedynamic accept(Lcom/oracle/svm/hosted/image/NativeBootImage;Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;Z)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/image/NativeBootImage.lambda$9(Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;ZLcom/oracle/svm/hosted/meta/HostedMethod;)V (7)
(Lcom/oracle/svm/hosted/meta/HostedMethod;)V
invokeinterface java.util.List.forEach:(Ljava/util/function/Consumer;)V
30: aload 5
ldc "#if defined(__cplusplus)"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
31: aload 5
ldc "}"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
32: aload 5
ldc "#endif"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
33: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.nio.file.Path com.oracle.svm.core.c.CHeader$Header java.util.List int com.oracle.svm.hosted.c.codegen.CSourceCodeWriter java.lang.String java.lang.String java.util.List java.io.ByteArrayOutputStream java.io.PrintWriter
StackMap stack:
aload 5
ldc "#endif"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
34: aload 1
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 11
start local 11 35: aload 11
ifnonnull 37
36: ldc "Cannot determine header file name for directory %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
37: StackMap locals: java.nio.file.Path
StackMap stack:
aload 11
new java.lang.StringBuilder
dup
aload 2
invokeinterface com.oracle.svm.core.c.CHeader$Header.name:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 7
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
astore 12
start local 12 38: aload 5
aload 12
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.writeFile:(Ljava/lang/String;)Ljava/nio/file/Path;
pop
end local 12 39: return
end local 11 end local 10 end local 9 end local 8 end local 7 end local 6 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 40 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 40 1 outDir Ljava/nio/file/Path;
0 40 2 header Lcom/oracle/svm/core/c/CHeader$Header;
0 40 3 methods Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
0 40 4 dynamic Z
1 40 5 writer Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
2 40 6 imageHeaderGuard Ljava/lang/String;
5 40 7 dynamicSuffix Ljava/lang/String;
13 40 8 dependencies Ljava/util/List<Ljava/lang/String;>;
15 40 9 baos Ljava/io/ByteArrayOutputStream;
16 40 10 printWriter Ljava/io/PrintWriter;
20 21 11 line Ljava/lang/String;
35 40 11 fileNamePath Ljava/nio/file/Path;
38 39 12 fileName Ljava/lang/String;
Signature: (Ljava/nio/file/Path;Lcom/oracle/svm/core/c/CHeader$Header;Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;Z)V
MethodParameters:
Name Flags
outDir
header
methods
dynamic
private static java.lang.Class<? extends com.oracle.svm.core.c.CHeader$Header> cHeader(com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/Class;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 0
getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.code.CEntryPointCallStubMethod
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.getMethodForStub:(Lcom/oracle/svm/hosted/code/CEntryPointCallStubMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 1
start local 1 1: aload 1
ldc Lcom/oracle/svm/core/c/CHeader;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.c.CHeader
astore 2
start local 2 2: aload 2
ifnull 4
3: aload 2
invokeinterface com.oracle.svm.core.c.CHeader.value:()Ljava/lang/Class;
areturn
4: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.svm.core.c.CHeader
StackMap stack:
aload 1
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 3
start local 3 5: goto 10
6: StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
StackMap stack:
aload 3
ldc Lcom/oracle/svm/core/c/CHeader;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getDeclaredAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.c.CHeader
astore 4
start local 4 7: aload 4
ifnull 9
8: aload 4
invokeinterface com.oracle.svm.core.c.CHeader.value:()Ljava/lang/Class;
areturn
9: StackMap locals: com.oracle.svm.core.c.CHeader
StackMap stack:
aload 3
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getEnclosingType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
astore 3
end local 4 10: StackMap locals:
StackMap stack:
aload 3
ifnonnull 6
11: ldc Lcom/oracle/svm/core/c/CHeader$Header;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 entryPointStub Lcom/oracle/svm/hosted/meta/HostedMethod;
1 12 1 entryPoint Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
2 12 2 methodAnnotation Lcom/oracle/svm/core/c/CHeader;
5 12 3 enclosingType Lcom/oracle/graal/pointsto/meta/AnalysisType;
7 10 4 enclosing Lcom/oracle/svm/core/c/CHeader;
Signature: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/Class<+Lcom/oracle/svm/core/c/CHeader$Header;>;
MethodParameters:
Name Flags
entryPointStub
private static com.oracle.svm.core.c.CHeader$Header instantiateCHeader(java.lang.Class<? extends com.oracle.svm.core.c.CHeader$Header>);
descriptor: (Ljava/lang/Class;)Lcom/oracle/svm/core/c/CHeader$Header;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.util.ReflectionUtil.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast com.oracle.svm.core.c.CHeader$Header
1: areturn
2: StackMap locals:
StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
astore 1
start local 1 3: aload 1
invokevirtual com.oracle.svm.util.ReflectionUtil$ReflectionUtilError.getCause:()Ljava/lang/Throwable;
ldc "CHeader %s cannot be instantiated. Please make sure that it has a nullary constructor and is not abstract."
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
invokevirtual java.lang.Class.getName:()Ljava/lang/String;
aastore
invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/Throwable;Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 header Ljava/lang/Class<+Lcom/oracle/svm/core/c/CHeader$Header;>;
3 4 1 ex Lcom/oracle/svm/util/ReflectionUtil$ReflectionUtilError;
Exception table:
from to target type
0 1 2 Class com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
Signature: (Ljava/lang/Class<+Lcom/oracle/svm/core/c/CHeader$Header;>;)Lcom/oracle/svm/core/c/CHeader$Header;
MethodParameters:
Name Flags
header
private static com.oracle.svm.core.c.CHeader$Header (java.lang.String);
descriptor: (Ljava/lang/String;)Lcom/oracle/svm/core/c/CHeader$Header;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new com.oracle.svm.hosted.image.NativeBootImage$1
dup
aload 0
invokespecial com.oracle.svm.hosted.image.NativeBootImage$1.<init>:(Ljava/lang/String;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 defaultHeaderName Ljava/lang/String;
MethodParameters:
Name Flags
defaultHeaderName
private static int sortMethodsByFileNameAndPosition(com.oracle.svm.hosted.meta.HostedMethod, com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;Lcom/oracle/svm/hosted/meta/HostedMethod;)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=7, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 0
getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.code.CEntryPointCallStubMethod
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.getMethodForStub:(Lcom/oracle/svm/hosted/code/CEntryPointCallStubMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 2
start local 2 1: invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 1
getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.code.CEntryPointCallStubMethod
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.getMethodForStub:(Lcom/oracle/svm/hosted/code/CEntryPointCallStubMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 2: aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSourceFileName:()Ljava/lang/String;
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSourceFileName:()Ljava/lang/String;
invokevirtual java.lang.String.compareTo:(Ljava/lang/String;)I
istore 4
start local 4 3: iload 4
ifeq 5
4: iload 4
ireturn
5: StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod int
StackMap stack:
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
ifnull 6
aload 2
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
iconst_0
invokevirtual jdk.vm.ci.meta.LineNumberTable.getLineNumber:(I)I
goto 7
StackMap locals:
StackMap stack:
6: iconst_m1
StackMap locals:
StackMap stack: int
7: istore 5
start local 5 8: aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
ifnull 9
aload 3
invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
iconst_0
invokevirtual jdk.vm.ci.meta.LineNumberTable.getLineNumber:(I)I
goto 10
StackMap locals: int
StackMap stack:
9: iconst_m1
StackMap locals:
StackMap stack: int
10: istore 6
start local 6 11: iload 5
iload 6
isub
ireturn
end local 6 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 12 0 stub1 Lcom/oracle/svm/hosted/meta/HostedMethod;
0 12 1 stub2 Lcom/oracle/svm/hosted/meta/HostedMethod;
1 12 2 rm1 Ljdk/vm/ci/meta/ResolvedJavaMethod;
2 12 3 rm2 Ljdk/vm/ci/meta/ResolvedJavaMethod;
3 12 4 fileComparison I
8 12 5 rm1Line I
11 12 6 rm2Line I
MethodParameters:
Name Flags
stub1
stub2
private void (com.oracle.svm.hosted.meta.HostedMethod, com.oracle.svm.hosted.c.codegen.CSourceCodeWriter, boolean);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;Z)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=12, args_size=4
start local 0 start local 1 start local 2 start local 3 0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 1
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getModifiers:()I
invokestatic java.lang.reflect.Modifier.isStatic:(I)Z
ifne 1
new java.lang.AssertionError
dup
ldc "Published methods that go into the header must be static."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getEntryPointData:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.code.CEntryPointData
astore 4
start local 4 2: aload 4
invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getDocumentation:()Ljava/lang/String;
astore 5
start local 5 3: aload 5
ifnull 7
aload 5
invokevirtual java.lang.String.isEmpty:()Z
ifne 7
4: aload 2
ldc "/*"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
5: aload 5
ldc "\n"
invokevirtual java.lang.String.split:(Ljava/lang/String;)[Ljava/lang/String;
invokestatic java.util.Arrays.stream:([Ljava/lang/Object;)Ljava/util/stream/Stream;
aload 2
invokedynamic accept(Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
com/oracle/svm/hosted/image/NativeBootImage.lambda$10(Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;Ljava/lang/String;)V (6)
(Ljava/lang/String;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
6: aload 2
ldc " */"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
7: StackMap locals: com.oracle.svm.hosted.code.CEntryPointData java.lang.String
StackMap stack:
iload 3
ifeq 9
8: aload 2
ldc "typedef "
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
9: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getAnnotatedReturnType:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/AnnotatedType;
astore 6
start local 6 10: aload 2
aload 1
11: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
invokeinterface jdk.vm.ci.meta.Signature.getReturnType:(Ljdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
12: aload 6
ldc Lcom/oracle/svm/core/c/CTypedef;
invokeinterface java.lang.reflect.AnnotatedType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.c.CTypedef
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/core/c/CTypedef.name()Ljava/lang/String; (9 itf)
(Lcom/oracle/svm/core/c/CTypedef;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
13: iconst_0
14: aload 6
ldc Lcom/oracle/svm/core/c/CUnsigned;
invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
15: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
16: invokestatic com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.toCTypeName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/util/Optional;ZZLjdk/vm/ci/meta/MetaAccessProvider;Lcom/oracle/svm/hosted/c/NativeLibraries;)Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
17: aload 2
ldc " "
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
18: aload 4
invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getSymbolName:()Ljava/lang/String;
astore 7
start local 7 19: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 20
aload 7
invokevirtual java.lang.String.isEmpty:()Z
ifeq 20
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
20: StackMap locals: java.lang.reflect.AnnotatedType java.lang.String
StackMap stack:
iload 3
ifeq 23
21: aload 2
ldc "(*"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
aload 7
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
ldc "_fn_t)"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
22: goto 24
23: StackMap locals:
StackMap stack:
aload 2
aload 7
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
24: StackMap locals:
StackMap stack:
aload 2
ldc "("
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
25: ldc ""
astore 8
start local 8 26: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getAnnotatedParameterTypes:(Lcom/oracle/svm/hosted/meta/HostedMethod;)[Ljava/lang/reflect/AnnotatedType;
astore 9
start local 9 27: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getParameters:()[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
astore 10
start local 10 28: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 29
aload 10
ifnonnull 29
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
29: StackMap locals: java.lang.String java.lang.reflect.AnnotatedType[] jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[]
StackMap stack:
iconst_0
istore 11
start local 11 30: goto 44
31: StackMap locals: int
StackMap stack:
aload 2
aload 8
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
32: ldc ", "
astore 8
33: aload 2
aload 1
34: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
iload 11
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getDeclaringClass:()Lcom/oracle/svm/hosted/meta/HostedType;
invokeinterface jdk.vm.ci.meta.Signature.getParameterType:(ILjdk/vm/ci/meta/ResolvedJavaType;)Ljdk/vm/ci/meta/JavaType;
checkcast jdk.vm.ci.meta.ResolvedJavaType
35: aload 9
iload 11
aaload
ldc Lcom/oracle/svm/core/c/CTypedef;
invokeinterface java.lang.reflect.AnnotatedType.getAnnotation:(Ljava/lang/Class;)Ljava/lang/annotation/Annotation;
checkcast com.oracle.svm.core.c.CTypedef
invokestatic java.util.Optional.ofNullable:(Ljava/lang/Object;)Ljava/util/Optional;
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/core/c/CTypedef.name()Ljava/lang/String; (9 itf)
(Lcom/oracle/svm/core/c/CTypedef;)Ljava/lang/String;
invokevirtual java.util.Optional.map:(Ljava/util/function/Function;)Ljava/util/Optional;
36: aload 9
iload 11
aaload
ldc Lcom/oracle/svm/core/c/CConst;
invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
37: aload 9
iload 11
aaload
ldc Lcom/oracle/svm/core/c/CUnsigned;
invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
38: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
39: invokestatic com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.toCTypeName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;Ljdk/vm/ci/meta/ResolvedJavaType;Ljava/util/Optional;ZZLjdk/vm/ci/meta/MetaAccessProvider;Lcom/oracle/svm/hosted/c/NativeLibraries;)Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
40: aload 10
iload 11
aaload
invokevirtual jdk.vm.ci.meta.ResolvedJavaMethod$Parameter.isNamePresent:()Z
ifeq 43
41: aload 2
ldc " "
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
42: aload 2
aload 10
iload 11
aaload
invokevirtual jdk.vm.ci.meta.ResolvedJavaMethod$Parameter.getName:()Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
pop
43: StackMap locals:
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
44: iload 11
aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
iconst_0
invokeinterface jdk.vm.ci.meta.Signature.getParameterCount:(Z)I
if_icmplt 31
end local 11 45: aload 2
ldc ");"
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
46: aload 2
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
47: return
end local 10 end local 9 end local 8 end local 7 end local 6 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 48 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 48 1 m Lcom/oracle/svm/hosted/meta/HostedMethod;
0 48 2 writer Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
0 48 3 dynamic Z
2 48 4 cEntryPointData Lcom/oracle/svm/hosted/code/CEntryPointData;
3 48 5 docComment Ljava/lang/String;
10 48 6 annotatedReturnType Ljava/lang/reflect/AnnotatedType;
19 48 7 symbolName Ljava/lang/String;
26 48 8 sep Ljava/lang/String;
27 48 9 annotatedParameterTypes [Ljava/lang/reflect/AnnotatedType;
28 48 10 parameters [Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
30 45 11 i I
MethodParameters:
Name Flags
m
writer
dynamic
private java.lang.reflect.AnnotatedType getAnnotatedReturnType(com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/AnnotatedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getMethod:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getAnnotatedReturnType:()Ljava/lang/reflect/AnnotatedType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 1 hostedMethod Lcom/oracle/svm/hosted/meta/HostedMethod;
MethodParameters:
Name Flags
hostedMethod
private java.lang.reflect.AnnotatedType[] getAnnotatedParameterTypes(com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)[Ljava/lang/reflect/AnnotatedType;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getMethod:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/Method;
invokevirtual java.lang.reflect.Method.getAnnotatedParameterTypes:()[Ljava/lang/reflect/AnnotatedType;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 1 hostedMethod Lcom/oracle/svm/hosted/meta/HostedMethod;
MethodParameters:
Name Flags
hostedMethod
private java.lang.reflect.Method getMethod(com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/Method;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
aload 1
getfield com.oracle.svm.hosted.meta.HostedMethod.wrapped:Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
getfield com.oracle.graal.pointsto.meta.AnalysisMethod.wrapped:Ljdk/vm/ci/meta/ResolvedJavaMethod;
checkcast com.oracle.svm.hosted.code.CEntryPointCallStubMethod
invokevirtual com.oracle.svm.hosted.code.CEntryPointCallStubSupport.getMethodForStub:(Lcom/oracle/svm/hosted/code/CEntryPointCallStubMethod;)Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
astore 2
start local 2 1: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getJavaClass:()Ljava/lang/Class;
aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getName:()Ljava/lang/String;
2: aload 2
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getSignature:()Lcom/oracle/graal/pointsto/infrastructure/WrappedSignature;
invokevirtual com.oracle.graal.pointsto.infrastructure.WrappedSignature.toMethodDescriptor:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.imageClassLoader:Ljava/lang/ClassLoader;
invokestatic java.lang.invoke.MethodType.fromMethodDescriptorString:(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterArray:()[Ljava/lang/Class;
3: invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
astore 3
start local 3 4: goto 7
end local 3 StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.meta.HostedMethod com.oracle.graal.pointsto.meta.AnalysisMethod
StackMap stack: java.lang.NoSuchMethodException
5: astore 4
start local 4 6: aload 4
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
athrow
end local 4 start local 3 7: StackMap locals: java.lang.reflect.Method
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 Lcom/oracle/svm/hosted/image/NativeBootImage;
0 8 1 hostedMethod Lcom/oracle/svm/hosted/meta/HostedMethod;
1 8 2 entryPoint Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
4 5 3 method Ljava/lang/reflect/Method;
7 8 3 method Ljava/lang/reflect/Method;
6 7 4 e Ljava/lang/NoSuchMethodException;
Exception table:
from to target type
1 4 5 Class java.lang.NoSuchMethodException
MethodParameters:
Name Flags
hostedMethod
private boolean (com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getWrapped:()Lcom/oracle/graal/pointsto/meta/AnalysisMethod;
invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getEntryPointData:()Ljava/lang/Object;
astore 2
start local 2 1: aload 2
instanceof com.oracle.svm.hosted.code.CEntryPointData
ifeq 2
aload 2
checkcast com.oracle.svm.hosted.code.CEntryPointData
invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getPublishAs:()Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;
getstatic com.oracle.svm.core.c.function.CEntryPointOptions$Publish.SymbolAndHeader:Lcom/oracle/svm/core/c/function/CEntryPointOptions$Publish;
if_acmpne 2
iconst_1
ireturn
StackMap locals: java.lang.Object
StackMap stack:
2: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 3 1 method Lcom/oracle/svm/hosted/meta/HostedMethod;
1 3 2 data Ljava/lang/Object;
MethodParameters:
Name Flags
method
private com.oracle.objectfile.ObjectFile$Symbol defineDataSymbol(java.lang.String, com.oracle.objectfile.ObjectFile$Element, long);
descriptor: (Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 1
aload 2
lload 3
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
iconst_0
iconst_1
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 1 name Ljava/lang/String;
0 1 2 section Lcom/oracle/objectfile/ObjectFile$Element;
0 1 3 position J
MethodParameters:
Name Flags
name
section
position
private com.oracle.objectfile.ObjectFile$Symbol defineRelocationForSymbol(java.lang.String, long);
descriptor: (Ljava/lang/String;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=7, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 4
start local 4 1: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
aload 1
invokeinterface com.oracle.objectfile.SymbolTable.getSymbol:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Symbol;
ifnonnull 3
2: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 1
iconst_0
iconst_1
invokevirtual com.oracle.objectfile.ObjectFile.createUndefinedSymbol:(Ljava/lang/String;IZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
astore 4
3: StackMap locals: com.oracle.objectfile.ObjectFile$Symbol
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getImpl:()Lcom/oracle/objectfile/ElementImpl;
checkcast com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl
astore 5
start local 5 4: lconst_0
lload 2
ladd
invokestatic java.lang.Math.toIntExact:(J)I
istore 6
start local 6 5: aload 5
iload 6
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
bipush 8
if_icmpne 6
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_8:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
goto 7
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.lang.String long com.oracle.objectfile.ObjectFile$Symbol com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int
StackMap stack: com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int
6: getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_4:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.lang.String long com.oracle.objectfile.ObjectFile$Symbol com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int
StackMap stack: com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int com.oracle.objectfile.ObjectFile$RelocationKind
7: aload 1
iconst_0
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
8: aload 4
areturn
end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 9 1 name Ljava/lang/String;
0 9 2 position J
1 9 4 symbol Lcom/oracle/objectfile/ObjectFile$Symbol;
4 9 5 baseSectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
5 9 6 offsetInSection I
MethodParameters:
Name Flags
name
position
public void build(org.graalvm.compiler.debug.DebugContext);
descriptor: (Lorg/graalvm/compiler/debug/DebugContext;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=25, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 1
ldc "NativeBootImage.build"
invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
astore 4
start local 4 2: invokestatic com.oracle.svm.hosted.c.CGlobalDataFeature.singleton:()Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
astore 5
start local 5 3: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
invokevirtual com.oracle.svm.hosted.image.NativeImageCodeCache.getAlignedConstantsSize:()I
i2l
lstore 6
start local 6 4: invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
aload 5
invokevirtual com.oracle.svm.hosted.c.CGlobalDataFeature.getSize:()I
invokevirtual com.oracle.svm.core.config.ObjectLayout.alignUp:(I)I
i2l
lstore 8
start local 8 5: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getLayouter:()Lcom/oracle/svm/core/image/ImageHeapLayouter;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
invokeinterface com.oracle.svm.core.image.ImageHeapLayouter.layout:(Lcom/oracle/svm/core/image/ImageHeap;I)Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;
astore 10
start local 10 6: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 7
aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjects:()Ljava/util/Collection;
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.hasDuplicatedObjects:(Ljava/util/Collection;)Z
ifeq 7
new java.lang.AssertionError
dup
ldc "heap.getObjects() must not contain any duplicates"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope com.oracle.svm.hosted.c.CGlobalDataFeature long long com.oracle.svm.core.image.ImageHeapLayoutInfo
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
invokevirtual com.oracle.svm.hosted.image.NativeImageCodeCache.getCodeCacheSize:()I
istore 11
start local 11 8: new com.oracle.svm.hosted.image.RelocatableBuffer
dup
iload 11
i2l
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
invokespecial com.oracle.svm.hosted.image.RelocatableBuffer.<init>:(JLjava/nio/ByteOrder;)V
astore 12
start local 12 9: aload 12
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
invokestatic com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl.factory:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;)Lcom/oracle/svm/hosted/image/NativeBootImage$NativeTextSectionImpl;
astore 13
start local 13 10: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
getstatic com.oracle.objectfile.SectionName.TEXT:Lcom/oracle/objectfile/SectionName;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.SectionName.getFormatDependentName:(Lcom/oracle/objectfile/ObjectFile$Format;)Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
iconst_0
iconst_1
aload 13
invokevirtual com.oracle.objectfile.ObjectFile.newProgbitsSection:(Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
putfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
11: getstatic com.oracle.svm.core.SubstrateOptions.ForceNoROSectionRelocations:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
istore 14
start local 14 12: new com.oracle.svm.hosted.image.RelocatableBuffer
dup
lload 6
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
invokespecial com.oracle.svm.hosted.image.RelocatableBuffer.<init>:(JLjava/nio/ByteOrder;)V
astore 15
start local 15 13: new com.oracle.objectfile.BasicProgbitsSectionImpl
dup
aload 15
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
astore 16
start local 16 14: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
getstatic com.oracle.objectfile.SectionName.RODATA:Lcom/oracle/objectfile/SectionName;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.SectionName.getFormatDependentName:(Lcom/oracle/objectfile/ObjectFile$Format;)Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
iload 14
iconst_0
aload 16
invokevirtual com.oracle.objectfile.ObjectFile.newProgbitsSection:(Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
putfield com.oracle.svm.hosted.image.NativeBootImage.roDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
15: new com.oracle.svm.hosted.image.RelocatableBuffer
dup
lload 8
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
invokespecial com.oracle.svm.hosted.image.RelocatableBuffer.<init>:(JLjava/nio/ByteOrder;)V
astore 17
start local 17 16: new com.oracle.objectfile.BasicProgbitsSectionImpl
dup
aload 17
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
astore 18
start local 18 17: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
getstatic com.oracle.objectfile.SectionName.DATA:Lcom/oracle/objectfile/SectionName;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.SectionName.getFormatDependentName:(Lcom/oracle/objectfile/ObjectFile$Format;)Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
iconst_1
iconst_0
aload 18
invokevirtual com.oracle.objectfile.ObjectFile.newProgbitsSection:(Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
putfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
18: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
iconst_0
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
19: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
ldc "__svm_text_end"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
iload 11
i2l
iconst_0
iconst_0
iconst_1
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
20: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.roDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.roDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
iconst_0
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
21: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
iconst_0
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
22: new com.oracle.svm.hosted.image.NativeImageHeapWriter
dup
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 10
invokespecial com.oracle.svm.hosted.image.NativeImageHeapWriter.<init>:(Lcom/oracle/svm/hosted/image/NativeImageHeap;Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;)V
astore 19
start local 19 23: aload 13
aload 1
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.entryPoints:Ljava/util/List;
invokevirtual com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl.writeTextSection:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/objectfile/ObjectFile$Section;Ljava/util/List;)V
24: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
aload 19
aload 15
invokevirtual com.oracle.svm.hosted.image.NativeImageCodeCache.writeConstants:(Lcom/oracle/svm/hosted/image/NativeImageHeapWriter;Lcom/oracle/svm/hosted/image/RelocatableBuffer;)V
25: aload 5
aload 17
26: aload 0
invokedynamic apply(Lcom/oracle/svm/hosted/image/NativeBootImage;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/image/NativeBootImage.lambda$13(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object; (7)
(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object;
27: aload 0
invokedynamic apply(Lcom/oracle/svm/hosted/image/NativeBootImage;)Ljava/util/function/BiFunction;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
com/oracle/svm/hosted/image/NativeBootImage.lambda$14(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object; (7)
(Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object;
28: invokevirtual com.oracle.svm.hosted.c.CGlobalDataFeature.writeData:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
29: aload 0
ldc "__svm_cglobaldata_base"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
30: getstatic com.oracle.svm.core.SubstrateOptions.GenerateDebugInfo:Lcom/oracle/svm/core/option/HostedOptionKey;
invokestatic com.oracle.svm.core.option.HostedOptionValues.singleton:()Lorg/graalvm/compiler/options/OptionValues;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:(Lorg/graalvm/compiler/options/OptionValues;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
ifle 34
31: ldc Lcom/oracle/svm/hosted/image/sources/SourceManager;
new com.oracle.svm.hosted.image.sources.SourceManager
dup
invokespecial com.oracle.svm.hosted.image.sources.SourceManager.<init>:()V
invokestatic org.graalvm.nativeimage.ImageSingletons.add:(Ljava/lang/Class;Ljava/lang/Object;)V
32: new com.oracle.svm.hosted.image.NativeImageDebugInfoProvider
dup
aload 1
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokespecial com.oracle.svm.hosted.image.NativeImageDebugInfoProvider.<init>:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/svm/hosted/image/NativeImageCodeCache;Lcom/oracle/svm/hosted/image/NativeImageHeap;)V
astore 20
start local 20 33: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 20
invokevirtual com.oracle.objectfile.ObjectFile.installDebugInfo:(Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;)V
end local 20 34: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope com.oracle.svm.hosted.c.CGlobalDataFeature long long com.oracle.svm.core.image.ImageHeapLayoutInfo int com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl com.oracle.svm.hosted.image.NativeImageHeapWriter
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
istore 20
start local 20 35: new com.oracle.svm.hosted.image.RelocatableBuffer
dup
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getImageHeapSize:()J
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
invokespecial com.oracle.svm.hosted.image.RelocatableBuffer.<init>:(JLjava/nio/ByteOrder;)V
astore 21
start local 21 36: new com.oracle.objectfile.BasicProgbitsSectionImpl
dup
aload 21
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
astore 22
start local 22 37: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
getstatic com.oracle.objectfile.SectionName.SVM_HEAP:Lcom/oracle/objectfile/SectionName;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getFormat:()Lcom/oracle/objectfile/ObjectFile$Format;
invokevirtual com.oracle.objectfile.SectionName.getFormatDependentName:(Lcom/oracle/objectfile/ObjectFile$Format;)Ljava/lang/String;
iload 20
iload 14
iconst_0
aload 22
invokevirtual com.oracle.objectfile.ObjectFile.newProgbitsSection:(Ljava/lang/String;IZZLcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)Lcom/oracle/objectfile/ObjectFile$Section;
putfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
38: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
iconst_0
iconst_0
iconst_0
invokevirtual com.oracle.objectfile.ObjectFile.createDefinedSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;JIZZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
39: aload 19
aload 1
aload 21
invokevirtual com.oracle.svm.hosted.image.NativeImageHeapWriter.writeHeap:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/svm/hosted/image/RelocatableBuffer;)J
lstore 23
start local 23 40: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 41
getstatic com.oracle.svm.core.SubstrateOptions.SpawnIsolates:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 41
aload 21
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getByteBuffer:()Ljava/nio/ByteBuffer;
lload 23
l2i
invokevirtual java.nio.ByteBuffer.getLong:(I)J
lconst_0
lcmp
ifeq 41
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
41: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope com.oracle.svm.hosted.c.CGlobalDataFeature long long com.oracle.svm.core.image.ImageHeapLayoutInfo int com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl com.oracle.svm.hosted.image.NativeImageHeapWriter int com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl long
StackMap stack:
aload 0
ldc "__svm_heap_begin"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
lconst_0
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
42: aload 0
ldc "__svm_heap_end"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getImageHeapSize:()J
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
43: aload 0
ldc "__svm_heap_relocatable_begin"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getReadOnlyRelocatableOffset:()J
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
44: aload 0
ldc "__svm_heap_relocatable_end"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getReadOnlyRelocatableOffset:()J
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getReadOnlyRelocatableSize:()J
ladd
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
45: aload 0
ldc "__svm_a_relocatable_pointer"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
lload 23
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
46: aload 0
ldc "__svm_heap_writable_begin"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getWritableOffset:()J
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
47: aload 0
ldc "__svm_heap_writable_end"
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getWritableOffset:()J
aload 10
invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getWritableSize:()J
ladd
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
48: aload 0
aload 12
aload 13
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
49: aload 0
aload 15
aload 16
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
50: aload 0
aload 17
aload 18
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
51: aload 0
aload 21
aload 22
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
52: aload 0
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getLayouter:()Lcom/oracle/svm/core/image/ImageHeapLayouter;
invokeinterface com.oracle.svm.core.image.ImageHeapLayouter.getPartitions:()[Lcom/oracle/svm/core/image/ImageHeapPartition;
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.printHeapStatistics:([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
end local 23 end local 22 end local 21 end local 20 end local 19 end local 18 end local 17 end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 8 end local 6 end local 5 53: aload 4
ifnull 59
aload 4
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
goto 59
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.lang.Throwable java.lang.Throwable org.graalvm.compiler.debug.DebugContext$Scope
StackMap stack: java.lang.Throwable
54: astore 2
aload 4
ifnull 55
aload 4
invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
end local 4 StackMap locals:
StackMap stack:
55: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
56: astore 3
aload 2
ifnonnull 57
aload 3
astore 2
goto 58
StackMap locals:
StackMap stack:
57: aload 2
aload 3
if_acmpeq 58
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
58: aload 2
athrow
59: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 60 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 60 1 debug Lorg/graalvm/compiler/debug/DebugContext;
2 55 4 buildScope Lorg/graalvm/compiler/debug/DebugContext$Scope;
3 53 5 cGlobals Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
4 53 6 roSectionSize J
5 53 8 rwSectionSize J
6 53 10 heapLayout Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;
8 53 11 textSectionSize I
9 53 12 textBuffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
10 53 13 textImpl Lcom/oracle/svm/hosted/image/NativeBootImage$NativeTextSectionImpl;
12 53 14 writable Z
13 53 15 roDataBuffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
14 53 16 roDataImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
16 53 17 rwDataBuffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
17 53 18 rwDataImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
23 53 19 writer Lcom/oracle/svm/hosted/image/NativeImageHeapWriter;
33 34 20 provider Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;
35 53 20 alignment I
36 53 21 heapSectionBuffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
37 53 22 heapSectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
40 53 23 offsetOfARelocatablePointer J
Exception table:
from to target type
2 53 54 any
1 56 56 any
MethodParameters:
Name Flags
debug
private boolean hasDuplicatedObjects(java.util.Collection<com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo>);
descriptor: (Ljava/util/Collection;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=5, args_size=2
start local 0 start local 1 0: new java.util.IdentityHashMap
dup
invokespecial java.util.IdentityHashMap.<init>:()V
invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
astore 2
start local 2 1: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 4
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.util.Collection java.util.Set top java.util.Iterator
StackMap stack:
2: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
astore 3
start local 3 3: aload 2
aload 3
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 3 4: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
5: aload 2
invokeinterface java.util.Set.size:()I
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjectCount:()I
if_icmpeq 6
iconst_1
ireturn
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage java.util.Collection java.util.Set
StackMap stack:
6: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 7 1 objects Ljava/util/Collection<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
1 7 2 deduplicated Ljava/util/Set<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
3 4 3 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
Signature: (Ljava/util/Collection<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;)Z
MethodParameters:
Name Flags
objects
private void markRelocationSitesFromBuffer(com.oracle.svm.hosted.image.RelocatableBuffer, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl);
descriptor: (Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 1
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getSortedRelocations:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 4
goto 14
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl top java.util.Iterator
StackMap stack:
1: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 3
start local 3 2: aload 3
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 5
start local 5 3: aload 3
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.RelocatableBuffer$Info
astore 6
start local 6 4: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 5
invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
getfield com.oracle.svm.core.SubstrateTargetDescription.arch:Ljdk/vm/ci/code/Architecture;
instanceof jdk.vm.ci.aarch64.AArch64
ifne 5
aload 2
iload 5
aload 6
invokestatic com.oracle.svm.hosted.image.NativeBootImage.checkEmbeddedOffset:(Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)Z
ifne 5
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
5: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl java.util.Map$Entry java.util.Iterator int com.oracle.svm.hosted.image.RelocatableBuffer$Info
StackMap stack:
aload 6
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
instanceof org.graalvm.nativeimage.c.function.CFunctionPointer
ifeq 8
6: aload 2
iload 5
aload 6
invokestatic com.oracle.svm.hosted.image.NativeBootImage.markFunctionRelocationSite:(Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)V
7: goto 14
8: StackMap locals:
StackMap stack:
aload 2
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
if_acmpne 11
9: aload 0
aload 1
aload 2
iload 5
aload 6
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markDataRelocationSiteFromText:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)V
10: goto 14
11: StackMap locals:
StackMap stack:
aload 6
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
astore 7
start local 7 12: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 7
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjectInfo:(Ljava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
astore 8
start local 8 13: aload 0
aload 2
iload 5
aload 6
aload 8
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markDataRelocationSite:(Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;)V
end local 8 end local 7 end local 6 end local 5 end local 3 14: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl top java.util.Iterator
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
15: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 16 1 buffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
0 16 2 sectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
2 14 3 entry Ljava/util/Map$Entry<Ljava/lang/Integer;Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;>;
3 14 5 offset I
4 14 6 info Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;
12 14 7 targetObject Ljava/lang/Object;
13 14 8 targetObjectInfo Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
MethodParameters:
Name Flags
buffer
sectionImpl
private static boolean checkEmbeddedOffset(com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl, int, com.oracle.svm.hosted.image.RelocatableBuffer$Info);
descriptor: (Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=6, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.getContent:()[B
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
aload 0
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
invokevirtual com.oracle.objectfile.ObjectFile$Element.getOwner:()Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getByteOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
astore 3
start local 3 1: aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
bipush 8
if_icmpne 4
2: aload 3
iload 1
invokevirtual java.nio.ByteBuffer.getLong:(I)J
lstore 4
start local 4 3: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 8
lload 4
lconst_0
lcmp
ifeq 8
lload 4
ldc -2401018187971961171
lcmp
ifeq 8
new java.lang.AssertionError
dup
ldc "unexpected embedded offset: 0x%x, info: %s"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 2
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
iconst_4
if_icmpne 7
5: aload 3
iload 1
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 4
start local 4 6: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 8
iload 4
ifeq 8
iload 4
ldc -559030611
if_icmpeq 8
new java.lang.AssertionError
dup
ldc "unexpected embedded offset"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 4 7: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "unsupported relocation size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
8: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 sectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
0 9 1 offset I
0 9 2 info Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;
1 9 3 dataBuf Ljava/nio/ByteBuffer;
3 4 4 value J
6 7 4 value I
MethodParameters:
Name Flags
sectionImpl
offset final
info final
private static void markFunctionRelocationSite(com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl, int, com.oracle.svm.hosted.image.RelocatableBuffer$Info);
descriptor: (Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=4, args_size=3
start local 0 start local 1 start local 2 0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 1
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
instanceof org.graalvm.nativeimage.c.function.CFunctionPointer
ifne 1
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Wrong type for FunctionPointer relocation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
invokevirtual java.lang.Object.toString:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 2
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
bipush 8
if_icmpeq 2
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Function relocation: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " should be "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
bipush 8
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " bytes."
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
2: StackMap locals:
StackMap stack:
aload 2
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.meta.MethodPointer
invokevirtual com.oracle.svm.hosted.meta.MethodPointer.getMethod:()Ljdk/vm/ci/meta/ResolvedJavaMethod;
astore 3
start local 3 3: aload 0
iload 1
bipush 8
invokestatic com.oracle.objectfile.ObjectFile$RelocationKind.getDirect:(I)Lcom/oracle/objectfile/ObjectFile$RelocationKind;
aload 3
invokestatic com.oracle.svm.hosted.image.NativeBootImage.localSymbolNameForMethod:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
iconst_0
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
4: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 sectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
0 5 1 offset I
0 5 2 info Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;
3 5 3 method Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
sectionImpl final
offset final
info final
private static boolean isAddendAligned(jdk.vm.ci.code.Architecture, long, com.oracle.objectfile.ObjectFile$RelocationKind);
descriptor: (Ljdk/vm/ci/code/Architecture;JLcom/oracle/objectfile/ObjectFile$RelocationKind;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
instanceof jdk.vm.ci.amd64.AMD64
ifeq 2
1: iconst_1
ireturn
2: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
aload 3
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iaload
tableswitch { // 23 - 25
23: 7
24: 5
25: 3
default: 9
}
3: StackMap locals:
StackMap stack:
lload 1
lconst_1
land
lconst_0
lcmp
ifne 4
iconst_1
ireturn
StackMap locals:
StackMap stack:
4: iconst_0
ireturn
5: StackMap locals:
StackMap stack:
lload 1
ldc 3
land
lconst_0
lcmp
ifne 6
iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
lload 1
ldc 7
land
lconst_0
lcmp
ifne 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
9: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 arch Ljdk/vm/ci/code/Architecture;
0 10 1 addend J
0 10 3 kind Lcom/oracle/objectfile/ObjectFile$RelocationKind;
MethodParameters:
Name Flags
arch
addend
kind
private void markDataRelocationSite(com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl, int, com.oracle.svm.hosted.image.RelocatableBuffer$Info, com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo);
descriptor: (Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=12, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 1
invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
getfield com.oracle.svm.core.SubstrateTargetDescription.arch:Ljdk/vm/ci/code/Architecture;
instanceof jdk.vm.ci.aarch64.AArch64
ifne 1
aload 3
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
iconst_4
if_icmpeq 1
aload 3
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
bipush 8
if_icmpeq 1
new java.lang.AssertionError
dup
ldc "AMD64 Data relocation size should be 4 or 8 bytes."
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 2
aload 4
ifnonnull 2
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
astore 5
start local 5 3: aload 4
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getAddress:()J
lstore 6
start local 6 4: aload 3
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.hasExplicitAddend:()Z
ifeq 5
aload 3
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getExplicitAddend:()Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
goto 6
StackMap locals: java.lang.String long
StackMap stack:
5: lconst_0
StackMap locals:
StackMap stack: long
6: lstore 8
start local 8 7: lload 6
lload 8
ladd
lstore 10
start local 10 8: aload 1
iload 2
aload 3
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
aload 5
iconst_0
lload 10
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
9: return
end local 10 end local 8 end local 6 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 10 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 10 1 sectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
0 10 2 offset I
0 10 3 info Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;
0 10 4 targetObjectInfo Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
3 10 5 targetSectionName Ljava/lang/String;
4 10 6 address J
7 10 8 relocationInfoAddend J
8 10 10 relocationAddend J
MethodParameters:
Name Flags
sectionImpl
offset
info
targetObjectInfo
private void markDataRelocationSiteFromText(com.oracle.svm.hosted.image.RelocatableBuffer, com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl, int, com.oracle.svm.hosted.image.RelocatableBuffer$Info);
descriptor: (Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=17, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: invokestatic com.oracle.svm.core.config.ConfigurationValues.getTarget:()Lcom/oracle/svm/core/SubstrateTargetDescription;
getfield com.oracle.svm.core.SubstrateTargetDescription.arch:Ljdk/vm/ci/code/Architecture;
astore 5
start local 5 1: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 3
aload 5
instanceof jdk.vm.ci.aarch64.AArch64
ifne 3
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
iconst_4
if_icmpeq 3
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
bipush 8
if_icmpeq 3
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "AMD64 Data relocation size should be 4 or 8 bytes. Got size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
2: aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals: jdk.vm.ci.code.Architecture
StackMap stack:
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
astore 6
start local 6 4: aload 6
instanceof jdk.vm.ci.code.site.DataSectionReference
ifeq 9
5: aload 6
checkcast jdk.vm.ci.code.site.DataSectionReference
invokevirtual jdk.vm.ci.code.site.DataSectionReference.getOffset:()I
i2l
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getExplicitAddend:()Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lsub
lstore 7
start local 7 6: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 7
aload 5
lload 7
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokestatic com.oracle.svm.hosted.image.NativeBootImage.isAddendAligned:(Ljdk/vm/ci/code/Architecture;JLcom/oracle/objectfile/ObjectFile$RelocationKind;)Z
ifne 7
new java.lang.AssertionError
dup
ldc "improper addend alignment"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
7: StackMap locals: java.lang.Object long
StackMap stack:
aload 2
iload 3
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.roDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
iconst_0
lload 7
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
end local 7 8: goto 60
StackMap locals:
StackMap stack:
9: aload 6
instanceof com.oracle.svm.core.graal.code.CGlobalDataReference
ifeq 23
10: aload 6
checkcast com.oracle.svm.core.graal.code.CGlobalDataReference
astore 7
start local 7 11: aload 7
invokevirtual com.oracle.svm.core.graal.code.CGlobalDataReference.getDataInfo:()Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
astore 8
start local 8 12: aload 8
invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getData:()Lcom/oracle/svm/core/c/CGlobalDataImpl;
astore 9
start local 9 13: lconst_0
aload 8
invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getOffset:()I
i2l
ladd
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getExplicitAddend:()Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lsub
lstore 10
start local 10 14: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 15
aload 5
lload 10
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokestatic com.oracle.svm.hosted.image.NativeBootImage.isAddendAligned:(Ljdk/vm/ci/code/Architecture;JLcom/oracle/objectfile/ObjectFile$RelocationKind;)Z
ifne 15
new java.lang.AssertionError
dup
ldc "improper addend alignment"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
15: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer$Info jdk.vm.ci.code.Architecture java.lang.Object com.oracle.svm.core.graal.code.CGlobalDataReference com.oracle.svm.core.graal.code.CGlobalDataInfo com.oracle.svm.core.c.CGlobalDataImpl long
StackMap stack:
aload 2
iload 3
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getName:()Ljava/lang/String;
iconst_0
lload 10
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
16: aload 8
invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.isSymbolReference:()Z
ifeq 60
17: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
aload 9
getfield com.oracle.svm.core.c.CGlobalDataImpl.symbolName:Ljava/lang/String;
invokeinterface com.oracle.objectfile.SymbolTable.getSymbol:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Symbol;
ifnonnull 19
18: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 9
getfield com.oracle.svm.core.c.CGlobalDataImpl.symbolName:Ljava/lang/String;
iconst_0
iconst_1
invokevirtual com.oracle.objectfile.ObjectFile.createUndefinedSymbol:(Ljava/lang/String;IZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
pop
19: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
invokevirtual com.oracle.objectfile.ObjectFile$Section.getImpl:()Lcom/oracle/objectfile/ElementImpl;
checkcast com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl
astore 12
start local 12 20: lconst_0
aload 8
invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getOffset:()I
i2l
ladd
invokestatic java.lang.Math.toIntExact:(J)I
istore 13
start local 13 21: aload 12
iload 13
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
invokestatic com.oracle.objectfile.ObjectFile$RelocationKind.getDirect:(I)Lcom/oracle/objectfile/ObjectFile$RelocationKind;
aload 9
getfield com.oracle.svm.core.c.CGlobalDataImpl.symbolName:Ljava/lang/String;
iconst_0
lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.markRelocationSite:(ILcom/oracle/objectfile/ObjectFile$RelocationKind;Ljava/lang/String;ZLjava/lang/Long;)Lcom/oracle/objectfile/ObjectFile$RelocationRecord;
pop
end local 13 end local 12 end local 10 end local 9 end local 8 end local 7 22: goto 60
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer$Info jdk.vm.ci.code.Architecture java.lang.Object
StackMap stack:
23: aload 6
instanceof jdk.vm.ci.code.site.ConstantReference
ifeq 59
24: aload 6
checkcast jdk.vm.ci.code.site.ConstantReference
invokevirtual jdk.vm.ci.code.site.ConstantReference.getConstant:()Ljdk/vm/ci/meta/VMConstant;
invokestatic com.oracle.svm.core.meta.SubstrateObjectConstant.asObject:(Ljdk/vm/ci/meta/Constant;)Ljava/lang/Object;
astore 7
start local 7 25: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
aload 7
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjectInfo:(Ljava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getAddress:()J
lstore 8
start local 8 26: ldc Lorg/graalvm/compiler/core/common/CompressEncoding;
invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast org.graalvm.compiler.core.common.CompressEncoding
invokevirtual org.graalvm.compiler.core.common.CompressEncoding.getShift:()I
istore 10
start local 10 27: lload 8
iload 10
lushr
lstore 11
start local 11 28: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 29
lload 11
iload 10
lshl
lload 8
lcmp
ifeq 29
new java.lang.AssertionError
dup
new java.lang.StringBuilder
dup
ldc "Reference compression shift discards non-zero bits: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 8
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
29: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer$Info jdk.vm.ci.code.Architecture java.lang.Object java.lang.Object long int long
StackMap stack:
aload 1
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getByteBuffer:()Ljava/nio/ByteBuffer;
astore 13
start local 13 30: aload 5
instanceof jdk.vm.ci.amd64.AMD64
ifeq 41
31: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 32
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_4:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
if_acmpeq 32
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_8:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
if_acmpeq 32
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
32: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
bipush 8
if_icmpne 35
33: aload 13
iload 3
lload 11
invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
pop
34: goto 60
StackMap locals:
StackMap stack:
35: aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
iconst_4
if_icmpne 38
36: aload 13
iload 3
lload 11
invokestatic org.graalvm.compiler.core.common.NumUtil.safeToInt:(J)I
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
37: goto 60
38: StackMap locals:
StackMap stack:
new java.lang.Exception
dup
invokespecial java.lang.Exception.<init>:()V
invokevirtual java.lang.Exception.printStackTrace:()V
39: new java.lang.StringBuilder
dup
ldc "Unsupported object reference size: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
pop
40: goto 60
StackMap locals:
StackMap stack:
41: aload 5
instanceof jdk.vm.ci.aarch64.AArch64
ifeq 60
42: iconst_0
istore 14
start local 14 43: invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iaload
tableswitch { // 12 - 18
12: 44
13: 44
14: 46
15: 46
16: 48
17: 48
18: 50
default: 52
}
44: StackMap locals: int
StackMap stack:
lload 11
l2i
ldc 65535
iand
istore 14
45: goto 53
46: StackMap locals:
StackMap stack:
lload 11
bipush 16
lshr
l2i
ldc 65535
iand
istore 14
47: goto 53
48: StackMap locals:
StackMap stack:
lload 11
bipush 32
lshr
l2i
ldc 65535
iand
istore 14
49: goto 53
50: StackMap locals:
StackMap stack:
lload 11
bipush 48
lshr
l2i
ldc 65535
iand
istore 14
51: goto 53
52: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
ldc "Unsupported AArch64 relocation kind: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
53: StackMap locals:
StackMap stack:
invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
aload 4
invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iaload
tableswitch { // 12 - 16
12: 54
13: 55
14: 54
15: 55
16: 54
default: 55
}
54: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 55
iload 14
ldc 65535
iand
iload 14
if_icmpeq 55
new java.lang.AssertionError
dup
ldc "value to patch does not fit"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
55: StackMap locals:
StackMap stack:
aload 13
iload 3
invokevirtual java.nio.ByteBuffer.getInt:(I)I
istore 15
start local 15 56: iload 15
iload 14
invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.patchMov:(II)I
istore 16
start local 16 57: aload 13
iload 3
iload 16
invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
pop
end local 16 end local 15 end local 14 end local 13 end local 11 end local 10 end local 8 end local 7 58: goto 60
59: StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.hosted.image.RelocatableBuffer com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl int com.oracle.svm.hosted.image.RelocatableBuffer$Info jdk.vm.ci.code.Architecture java.lang.Object
StackMap stack:
ldc "Unsupported target object for relocation in text section"
invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/String;)Ljava/lang/RuntimeException;
athrow
60: StackMap locals:
StackMap stack:
return
end local 6 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 61 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 61 1 buffer Lcom/oracle/svm/hosted/image/RelocatableBuffer;
0 61 2 sectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
0 61 3 offset I
0 61 4 info Lcom/oracle/svm/hosted/image/RelocatableBuffer$Info;
1 61 5 arch Ljdk/vm/ci/code/Architecture;
4 61 6 target Ljava/lang/Object;
6 8 7 addend J
11 22 7 ref Lcom/oracle/svm/core/graal/code/CGlobalDataReference;
12 22 8 dataInfo Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
13 22 9 data Lcom/oracle/svm/core/c/CGlobalDataImpl<*>;
14 22 10 addend J
20 22 12 baseSectionImpl Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;
21 22 13 offsetInSection I
25 58 7 object Ljava/lang/Object;
26 58 8 address J
27 58 10 encShift I
28 58 11 targetValue J
30 58 13 bufferBytes Ljava/nio/ByteBuffer;
43 58 14 patchValue I
56 58 15 originalInst I
57 58 16 newInst I
MethodParameters:
Name Flags
buffer
sectionImpl final
offset final
info final
public static java.lang.String localSymbolNameForMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.SubstrateUtil.uniqueShortName:(Ljava/lang/reflect/Member;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
m
public static java.lang.String localSymbolNameForMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
getstatic com.oracle.svm.core.SubstrateOptions.ImageSymbolsPrefix:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokestatic com.oracle.svm.core.SubstrateUtil.uniqueShortName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sm Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
sm
public static java.lang.String globalSymbolNameForMethod(java.lang.reflect.Method);
descriptor: (Ljava/lang/reflect/Method;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.SubstrateUtil.uniqueShortName:(Ljava/lang/reflect/Member;)Ljava/lang/String;
invokestatic com.oracle.svm.core.SubstrateUtil.mangleName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Ljava/lang/reflect/Method;
MethodParameters:
Name Flags
m
public static java.lang.String globalSymbolNameForMethod(jdk.vm.ci.meta.ResolvedJavaMethod);
descriptor: (Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.core.SubstrateUtil.uniqueShortName:(Ljdk/vm/ci/meta/ResolvedJavaMethod;)Ljava/lang/String;
invokestatic com.oracle.svm.core.SubstrateUtil.mangleName:(Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 sm Ljdk/vm/ci/meta/ResolvedJavaMethod;
MethodParameters:
Name Flags
sm
public com.oracle.objectfile.ObjectFile getOrCreateDebugObjectFile();
descriptor: ()Lcom/oracle/objectfile/ObjectFile;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 1
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
private void printHeapStatistics(com.oracle.svm.core.image.ImageHeapPartition[]);
descriptor: ([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: getstatic com.oracle.svm.hosted.NativeImageOptions.PrintHeapHistogram:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 3
1: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokestatic com.oracle.svm.hosted.image.ObjectGroupHistogram.print:(Lcom/oracle/svm/hosted/image/NativeImageHeap;)V
2: aload 0
aload 1
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.printHistogram:([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
3: StackMap locals:
StackMap stack:
getstatic com.oracle.svm.hosted.NativeImageOptions.PrintImageHeapPartitionSizes:Lcom/oracle/svm/core/option/HostedOptionKey;
invokevirtual com.oracle.svm.core.option.HostedOptionKey.getValue:()Ljava/lang/Object;
checkcast java.lang.Boolean
invokevirtual java.lang.Boolean.booleanValue:()Z
ifeq 5
4: aload 1
invokestatic com.oracle.svm.hosted.image.NativeBootImage.printSizes:([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
5: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 6 1 partitions [Lcom/oracle/svm/core/image/ImageHeapPartition;
MethodParameters:
Name Flags
partitions
private void printHistogram(com.oracle.svm.core.image.ImageHeapPartition[]);
descriptor: ([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=6, args_size=2
start local 0 start local 1 0: aload 1
dup
astore 5
arraylength
istore 4
iconst_0
istore 3
goto 4
StackMap locals: com.oracle.svm.hosted.image.NativeBootImage com.oracle.svm.core.image.ImageHeapPartition[] top int int com.oracle.svm.core.image.ImageHeapPartition[]
StackMap stack:
1: aload 5
iload 3
aaload
astore 2
start local 2 2: aload 2
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjects:()Ljava/util/Collection;
invokestatic com.oracle.svm.hosted.image.NativeBootImage.printHistogram:(Lcom/oracle/svm/core/image/ImageHeapPartition;Ljava/lang/Iterable;)V
end local 2 3: iinc 3 1
StackMap locals:
StackMap stack:
4: iload 3
iload 4
if_icmplt 1
5: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 6 1 partitions [Lcom/oracle/svm/core/image/ImageHeapPartition;
2 3 2 partition Lcom/oracle/svm/core/image/ImageHeapPartition;
MethodParameters:
Name Flags
partitions
private static void printSizes(com.oracle.svm.core.image.ImageHeapPartition[]);
descriptor: ([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=5, args_size=1
start local 0 0: aload 0
dup
astore 4
arraylength
istore 3
iconst_0
istore 2
goto 4
StackMap locals: com.oracle.svm.core.image.ImageHeapPartition[] top int int com.oracle.svm.core.image.ImageHeapPartition[]
StackMap stack:
1: aload 4
iload 2
aaload
astore 1
start local 1 2: aload 1
invokestatic com.oracle.svm.hosted.image.NativeBootImage.printSize:(Lcom/oracle/svm/core/image/ImageHeapPartition;)V
end local 1 3: iinc 2 1
StackMap locals:
StackMap stack:
4: iload 2
iload 3
if_icmplt 1
5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 partitions [Lcom/oracle/svm/core/image/ImageHeapPartition;
2 3 1 partition Lcom/oracle/svm/core/image/ImageHeapPartition;
MethodParameters:
Name Flags
partitions
private static void printHistogram(com.oracle.svm.core.image.ImageHeapPartition, java.lang.Iterable<com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo>);
descriptor: (Lcom/oracle/svm/core/image/ImageHeapPartition;Ljava/lang/Iterable;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=22, args_size=2
start local 0 start local 1 0: new com.oracle.svm.hosted.image.HeapHistogram
dup
invokespecial com.oracle.svm.hosted.image.HeapHistogram.<init>:()V
astore 2
start local 2 1: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 2: lconst_0
lstore 4
start local 4 3: lconst_0
lstore 6
start local 6 4: lconst_0
lstore 8
start local 8 5: lconst_0
lstore 10
start local 10 6: aload 1
invokeinterface java.lang.Iterable.iterator:()Ljava/util/Iterator;
astore 13
goto 16
StackMap locals: com.oracle.svm.core.image.ImageHeapPartition java.lang.Iterable com.oracle.svm.hosted.image.HeapHistogram java.util.Set long long long long top java.util.Iterator
StackMap stack:
7: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo
astore 12
start local 12 8: aload 0
aload 12
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getPartition:()Lcom/oracle/svm/core/image/ImageHeapPartition;
if_acmpne 16
9: aload 3
aload 12
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
ifeq 14
10: aload 2
aload 12
aload 12
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getSize:()J
invokevirtual com.oracle.svm.hosted.image.HeapHistogram.add:(Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;J)V
11: lload 4
lconst_1
ladd
lstore 4
12: lload 6
aload 12
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getSize:()J
ladd
lstore 6
13: goto 16
14: StackMap locals: com.oracle.svm.core.image.ImageHeapPartition java.lang.Iterable com.oracle.svm.hosted.image.HeapHistogram java.util.Set long long long long com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo java.util.Iterator
StackMap stack:
lload 8
lconst_1
ladd
lstore 8
15: lload 10
aload 12
invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getSize:()J
ladd
lstore 10
end local 12 16: StackMap locals: com.oracle.svm.core.image.ImageHeapPartition java.lang.Iterable com.oracle.svm.hosted.image.HeapHistogram java.util.Set long long long long top java.util.Iterator
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
17: lload 4
lload 8
ladd
lstore 12
start local 12 18: lload 6
lload 10
ladd
lstore 14
start local 14 19: getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
ifne 20
aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
lload 14
lcmp
ifge 20
new java.lang.AssertionError
dup
ldc "the total size can contain some overhead"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
20: StackMap locals: com.oracle.svm.core.image.ImageHeapPartition java.lang.Iterable com.oracle.svm.hosted.image.HeapHistogram java.util.Set long long long long long long
StackMap stack:
ldc 100.0
lload 4
l2d
lload 12
l2d
ddiv
dmul
dstore 16
start local 16 21: ldc 100.0
lload 6
l2d
lload 14
l2d
ddiv
dmul
dstore 18
start local 18 22: ldc 100.0
dconst_1
aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
l2d
lload 14
l2d
ddiv
dsub
dmul
dstore 20
start local 20 23: aload 2
ldc "=== Partition: %s count: %d / %d = %.1f%% object size: %d / %d = %.1f%% total size: %d (%.1f%% overhead) ==="
bipush 9
anewarray java.lang.Object
dup
iconst_0
24: aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getName:()Ljava/lang/String;
aastore
dup
iconst_1
25: lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 12
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_3
dload 16
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
iconst_4
26: lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_5
lload 14
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 6
dload 18
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
dup
bipush 7
27: aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
bipush 8
dload 20
invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
aastore
28: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.image.HeapHistogram.printHeadings:(Ljava/lang/String;)V
29: aload 2
invokevirtual com.oracle.svm.hosted.image.HeapHistogram.print:()V
30: return
end local 20 end local 18 end local 16 end local 14 end local 12 end local 10 end local 8 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 partition Lcom/oracle/svm/core/image/ImageHeapPartition;
0 31 1 objects Ljava/lang/Iterable<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
1 31 2 histogram Lcom/oracle/svm/hosted/image/HeapHistogram;
2 31 3 uniqueObjectInfo Ljava/util/Set<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;
3 31 4 uniqueCount J
4 31 6 uniqueSize J
5 31 8 canonicalizedCount J
6 31 10 canonicalizedSize J
8 16 12 info Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
18 31 12 nonuniqueCount J
19 31 14 nonuniqueSize J
21 31 16 countPercent D
22 31 18 sizePercent D
23 31 20 sizeOverheadPercent D
Signature: (Lcom/oracle/svm/core/image/ImageHeapPartition;Ljava/lang/Iterable<Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;>;)V
MethodParameters:
Name Flags
partition
objects
private static void printSize(com.oracle.svm.core.image.ImageHeapPartition);
descriptor: (Lcom/oracle/svm/core/image/ImageHeapPartition;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=7, locals=1, args_size=1
start local 0 0: getstatic java.lang.System.out:Ljava/io/PrintStream;
ldc "PrintImageHeapPartitionSizes: partition: %s size: %d%n"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getName:()Ljava/lang/String;
aastore
dup
iconst_1
aload 0
invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintStream.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintStream;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 partition Lcom/oracle/svm/core/image/ImageHeapPartition;
MethodParameters:
Name Flags
partition
static int[] $SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind();
descriptor: ()[I
flags: (0x1008) ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=1, args_size=0
0: getstatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:[I
dup
ifnull 1
areturn
StackMap locals:
StackMap stack: int[]
1: pop
invokestatic com.oracle.objectfile.ObjectFile$RelocationKind.values:()[Lcom/oracle/objectfile/ObjectFile$RelocationKind;
arraylength
newarray 10
astore 0
2: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_ADD_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 20
iastore
3: goto 5
StackMap locals: int[]
StackMap stack: java.lang.NoSuchFieldError
4: pop
StackMap locals:
StackMap stack:
5: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_ADR_PREL_PG_HI21:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 19
iastore
6: goto 8
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
7: pop
StackMap locals:
StackMap stack:
8: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_LDST128_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 27
iastore
9: goto 11
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
10: pop
StackMap locals:
StackMap stack:
11: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_LDST16_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 25
iastore
12: goto 14
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
13: pop
StackMap locals:
StackMap stack:
14: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_LDST32_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 24
iastore
15: goto 17
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
16: pop
StackMap locals:
StackMap stack:
17: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_LDST64_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 23
iastore
18: goto 20
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
19: pop
StackMap locals:
StackMap stack:
20: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_AARCH64_LDST8_ABS_LO12_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 26
iastore
21: goto 23
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
22: pop
StackMap locals:
StackMap stack:
23: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_GOT_LD_PREL19:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 22
iastore
24: goto 26
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
25: pop
StackMap locals:
StackMap stack:
26: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_LD_PREL_LO19:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 21
iastore
27: goto 29
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
28: pop
StackMap locals:
StackMap stack:
29: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G0:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 12
iastore
30: goto 32
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
31: pop
StackMap locals:
StackMap stack:
32: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G0_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 13
iastore
33: goto 35
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
34: pop
StackMap locals:
StackMap stack:
35: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G1:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 14
iastore
36: goto 38
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
37: pop
StackMap locals:
StackMap stack:
38: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G1_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 15
iastore
39: goto 41
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
40: pop
StackMap locals:
StackMap stack:
41: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G2:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 16
iastore
42: goto 44
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
43: pop
StackMap locals:
StackMap stack:
44: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G2_NC:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 17
iastore
45: goto 47
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
46: pop
StackMap locals:
StackMap stack:
47: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.AARCH64_R_MOVW_UABS_G3:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 18
iastore
48: goto 50
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
49: pop
StackMap locals:
StackMap stack:
50: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_1:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iconst_2
iastore
51: goto 53
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
52: pop
StackMap locals:
StackMap stack:
53: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_2:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iconst_3
iastore
54: goto 56
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
55: pop
StackMap locals:
StackMap stack:
56: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_4:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iconst_4
iastore
57: goto 59
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
58: pop
StackMap locals:
StackMap stack:
59: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.DIRECT_8:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iconst_5
iastore
60: goto 62
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
61: pop
StackMap locals:
StackMap stack:
62: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.PC_RELATIVE_1:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 8
iastore
63: goto 65
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
64: pop
StackMap locals:
StackMap stack:
65: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.PC_RELATIVE_2:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 9
iastore
66: goto 68
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
67: pop
StackMap locals:
StackMap stack:
68: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.PC_RELATIVE_4:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 10
iastore
69: goto 71
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
70: pop
StackMap locals:
StackMap stack:
71: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.PC_RELATIVE_8:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 11
iastore
72: goto 74
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
73: pop
StackMap locals:
StackMap stack:
74: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.SECREL_4:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 7
iastore
75: goto 77
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
76: pop
StackMap locals:
StackMap stack:
77: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.SECTION_2:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
bipush 6
iastore
78: goto 80
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
79: pop
StackMap locals:
StackMap stack:
80: aload 0
getstatic com.oracle.objectfile.ObjectFile$RelocationKind.UNKNOWN:Lcom/oracle/objectfile/ObjectFile$RelocationKind;
invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
iconst_1
iastore
81: goto 83
StackMap locals:
StackMap stack: java.lang.NoSuchFieldError
82: pop
StackMap locals:
StackMap stack:
83: aload 0
dup
putstatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:[I
areturn
LocalVariableTable:
Start End Slot Name Signature
Exception table:
from to target type
2 3 4 Class java.lang.NoSuchFieldError
5 6 7 Class java.lang.NoSuchFieldError
8 9 10 Class java.lang.NoSuchFieldError
11 12 13 Class java.lang.NoSuchFieldError
14 15 16 Class java.lang.NoSuchFieldError
17 18 19 Class java.lang.NoSuchFieldError
20 21 22 Class java.lang.NoSuchFieldError
23 24 25 Class java.lang.NoSuchFieldError
26 27 28 Class java.lang.NoSuchFieldError
29 30 31 Class java.lang.NoSuchFieldError
32 33 34 Class java.lang.NoSuchFieldError
35 36 37 Class java.lang.NoSuchFieldError
38 39 40 Class java.lang.NoSuchFieldError
41 42 43 Class java.lang.NoSuchFieldError
44 45 46 Class java.lang.NoSuchFieldError
47 48 49 Class java.lang.NoSuchFieldError
50 51 52 Class java.lang.NoSuchFieldError
53 54 55 Class java.lang.NoSuchFieldError
56 57 58 Class java.lang.NoSuchFieldError
59 60 61 Class java.lang.NoSuchFieldError
62 63 64 Class java.lang.NoSuchFieldError
65 66 67 Class java.lang.NoSuchFieldError
68 69 70 Class java.lang.NoSuchFieldError
71 72 73 Class java.lang.NoSuchFieldError
74 75 76 Class java.lang.NoSuchFieldError
77 78 79 Class java.lang.NoSuchFieldError
80 81 82 Class java.lang.NoSuchFieldError
private void lambda$0(java.nio.channels.FileChannel);
descriptor: (Ljava/nio/channels/FileChannel;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 0: aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
aload 1
invokevirtual com.oracle.objectfile.ObjectFile.write:(Ljava/nio/channels/FileChannel;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
private static org.graalvm.collections.Pair lambda$2(com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/meta/HostedMethod;)Lorg/graalvm/collections/Pair;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokestatic com.oracle.svm.hosted.image.NativeBootImage.cHeader:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/Class;
aload 0
invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 m Lcom/oracle/svm/hosted/meta/HostedMethod;
private void lambda$5(java.lang.String, java.nio.file.Path, boolean, java.lang.Class, java.util.List);
descriptor: (Ljava/lang/String;Ljava/nio/file/Path;ZLjava/lang/Class;Ljava/util/List;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 4 start local 5 0: aload 5
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
com/oracle/svm/hosted/image/NativeBootImage.sortMethodsByFileNameAndPosition(Lcom/oracle/svm/hosted/meta/HostedMethod;Lcom/oracle/svm/hosted/meta/HostedMethod;)I (6)
(Lcom/oracle/svm/hosted/meta/HostedMethod;Lcom/oracle/svm/hosted/meta/HostedMethod;)I
invokeinterface java.util.List.sort:(Ljava/util/Comparator;)V
1: aload 4
ldc Lcom/oracle/svm/core/c/CHeader$Header;
if_acmpne 2
aload 1
invokestatic com.oracle.svm.hosted.image.NativeBootImage.defaultCHeaderAnnotation:(Ljava/lang/String;)Lcom/oracle/svm/core/c/CHeader$Header;
goto 3
StackMap locals:
StackMap stack:
2: aload 4
invokestatic com.oracle.svm.hosted.image.NativeBootImage.instantiateCHeader:(Ljava/lang/Class;)Lcom/oracle/svm/core/c/CHeader$Header;
StackMap locals:
StackMap stack: com.oracle.svm.core.c.CHeader$Header
3: astore 6
start local 6 4: aload 0
aload 2
aload 6
aload 5
iload 3
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.writeHeaderFile:(Ljava/nio/file/Path;Lcom/oracle/svm/core/c/CHeader$Header;Ljava/util/List;Z)V
end local 6 5: return
end local 5 end local 4 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 6 4 headerClass Ljava/lang/Class<TT;>;
0 6 5 methods Ljava/util/List<Lcom/oracle/svm/hosted/meta/HostedMethod;>;
4 5 6 header Lcom/oracle/svm/core/c/CHeader$Header;
private static java.lang.String (java.lang.String, com.oracle.svm.core.c.CHeader$Header);
descriptor: (Ljava/lang/String;Lcom/oracle/svm/core/c/CHeader$Header;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=2, args_size=2
start local 1 0: new java.lang.StringBuilder
dup
ldc "<"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokeinterface com.oracle.svm.core.c.CHeader$Header.name:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ">"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 depHeader Lcom/oracle/svm/core/c/CHeader$Header;
private void lambda$9(com.oracle.svm.hosted.c.codegen.CSourceCodeWriter, boolean, com.oracle.svm.hosted.meta.HostedMethod);
descriptor: (Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;ZLcom/oracle/svm/hosted/meta/HostedMethod;)V
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 3 0: aload 0
aload 3
aload 1
iload 2
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.writeMethodHeader:(Lcom/oracle/svm/hosted/meta/HostedMethod;Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;Z)V
return
end local 3 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 3 m Lcom/oracle/svm/hosted/meta/HostedMethod;
private static void lambda$10(com.oracle.svm.hosted.c.codegen.CSourceCodeWriter, java.lang.String);
descriptor: (Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;Ljava/lang/String;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=4, locals=2, args_size=2
start local 1 0: aload 0
new java.lang.StringBuilder
dup
ldc " * "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 l Ljava/lang/String;
private java.lang.Object lambda$13(java.lang.Integer, java.lang.String);
descriptor: (Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=7, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 0
getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
aload 1
invokevirtual java.lang.Integer.intValue:()I
i2l
lconst_0
ladd
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 1 offset Ljava/lang/Integer;
0 1 2 symbolName Ljava/lang/String;
private java.lang.Object lambda$14(java.lang.Integer, java.lang.String);
descriptor: (Ljava/lang/Integer;Ljava/lang/String;)Ljava/lang/Object;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 2
aload 1
invokevirtual java.lang.Integer.intValue:()I
i2l
invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineRelocationForSymbol:(Ljava/lang/String;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lcom/oracle/svm/hosted/image/NativeBootImage;
0 1 1 offset Ljava/lang/Integer;
0 1 2 symbolName Ljava/lang/String;
}
SourceFile: "NativeBootImage.java"
NestMembers:
com.oracle.svm.hosted.image.NativeBootImage$1 com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl
InnerClasses:
public abstract Element = com.oracle.objectfile.ObjectFile$Element of com.oracle.objectfile.ObjectFile
public final Format = com.oracle.objectfile.ObjectFile$Format of com.oracle.objectfile.ObjectFile
public abstract ProgbitsSectionImpl = com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl of com.oracle.objectfile.ObjectFile
public final RelocationKind = com.oracle.objectfile.ObjectFile$RelocationKind of com.oracle.objectfile.ObjectFile
public abstract RelocationRecord = com.oracle.objectfile.ObjectFile$RelocationRecord of com.oracle.objectfile.ObjectFile
public abstract Section = com.oracle.objectfile.ObjectFile$Section of com.oracle.objectfile.ObjectFile
public abstract Symbol = com.oracle.objectfile.ObjectFile$Symbol of com.oracle.objectfile.ObjectFile
public abstract Header = com.oracle.svm.core.c.CHeader$Header of com.oracle.svm.core.c.CHeader
public final Publish = com.oracle.svm.core.c.function.CEntryPointOptions$Publish of com.oracle.svm.core.c.function.CEntryPointOptions
public UserException = com.oracle.svm.core.util.UserError$UserException of com.oracle.svm.core.util.UserError
public NativeImageKind = com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind of com.oracle.svm.hosted.image.AbstractBootImage
com.oracle.svm.hosted.image.NativeBootImage$1
public abstract NativeTextSectionImpl = com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl of com.oracle.svm.hosted.image.NativeBootImage
public final ObjectInfo = com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo of com.oracle.svm.hosted.image.NativeImageHeap
final Info = com.oracle.svm.hosted.image.RelocatableBuffer$Info of com.oracle.svm.hosted.image.RelocatableBuffer
public final ReflectionUtilError = com.oracle.svm.util.ReflectionUtil$ReflectionUtilError of com.oracle.svm.util.ReflectionUtil
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Entry = java.util.Map$Entry of java.util.Map
public Parameter = jdk.vm.ci.meta.ResolvedJavaMethod$Parameter of jdk.vm.ci.meta.ResolvedJavaMethod
public PatcherUtil = org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil of org.graalvm.compiler.asm.aarch64.AArch64Assembler
public abstract Scope = org.graalvm.compiler.debug.DebugContext$Scope of org.graalvm.compiler.debug.DebugContext