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: .line 122
            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: .line 123
            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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind k
        start local 2 // com.oracle.svm.hosted.meta.HostedUniverse universe
        start local 3 // com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess
        start local 4 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        start local 5 // com.oracle.svm.hosted.image.NativeImageHeap heap
        start local 6 // com.oracle.svm.hosted.image.NativeImageCodeCache codeCache
        start local 7 // java.util.List entryPoints
        start local 8 // java.lang.ClassLoader imageClassLoader
         0: .line 137
            aload 0 /* this */
            aload 1 /* k */
            aload 2 /* universe */
            aload 3 /* metaAccess */
            aload 4 /* nativeLibs */
            aload 5 /* heap */
            aload 6 /* codeCache */
            aload 7 /* entryPoints */
            aload 8 /* imageClassLoader */
            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: .line 127
            aload 0 /* this */
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            putfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
         2: .line 139
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
            aload 7 /* entryPoints */
            invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
            pop
         3: .line 141
            invokestatic com.oracle.svm.hosted.NativeImageOptions.getPageSize:()I
            istore 9 /* pageSize */
        start local 9 // int pageSize
         4: .line 142
            aload 0 /* this */
            iload 9 /* pageSize */
            invokestatic com.oracle.objectfile.ObjectFile.getNativeObjectFile:(I)Lcom/oracle/objectfile/ObjectFile;
            putfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
         5: .line 143
            aload 0 /* this */
            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: .line 144
            aload 0 /* this */
            invokestatic com.oracle.svm.core.FrameAccess.wordSize:()I
            putfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
         7: .line 145
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 8
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            invokevirtual com.oracle.objectfile.ObjectFile.getWordSizeInBytes:()I
            aload 0 /* this */
            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: .line 146
      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 // int pageSize
        end local 8 // java.lang.ClassLoader imageClassLoader
        end local 7 // java.util.List entryPoints
        end local 6 // com.oracle.svm.hosted.image.NativeImageCodeCache codeCache
        end local 5 // com.oracle.svm.hosted.image.NativeImageHeap heap
        end local 4 // com.oracle.svm.hosted.c.NativeLibraries nativeLibs
        end local 3 // com.oracle.svm.hosted.meta.HostedMetaAccess metaAccess
        end local 2 // com.oracle.svm.hosted.meta.HostedUniverse universe
        end local 1 // com.oracle.svm.hosted.image.AbstractBootImage$NativeImageKind k
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
         0: .line 150
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 151
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
            areturn
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // org.graalvm.compiler.debug.DebugContext context
        start local 2 // java.nio.file.Path outputFile
         0: .line 159
            aload 2 /* outputFile */
            invokeinterface java.nio.file.Path.normalize:()Ljava/nio/file/Path;
            invokeinterface java.nio.file.Path.getParent:()Ljava/nio/file/Path;
            astore 3 /* outFileParent */
        start local 3 // java.nio.file.Path outFileParent
         1: .line 160
            aload 3 /* outFileParent */
            ifnull 3
         2: .line 161
            aload 3 /* outFileParent */
            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: .line 163
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aconst_null
            astore 4
            aconst_null
            astore 5
         4: aload 2 /* outputFile */
            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 /* channel */
        start local 6 // java.nio.channels.FileChannel channel
         5: .line 164
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 1 /* context */
            ldc "ObjectFile.write"
            aload 0 /* this */
            aload 6 /* channel */
            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: .line 167
            aload 6 /* channel */
            ifnull 14
            aload 6 /* channel */
            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 /* channel */
            ifnull 8
            aload 6 /* channel */
            invokevirtual java.nio.channels.FileChannel.close:()V
        end local 6 // java.nio.channels.FileChannel channel
      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 // java.nio.file.Path outFileParent
        12: .line 168
      StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path
      StackMap stack: java.lang.Exception
            astore 3 /* ex */
        start local 3 // java.lang.Exception ex
        13: .line 169
            aload 3 /* ex */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 3 // java.lang.Exception ex
        14: .line 171
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 2 /* outputFile */
            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: .line 172
            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: .line 173
            aload 0 /* this */
            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 /* e */
        start local 3 // com.oracle.objectfile.ObjectFile$Element e
        18: .line 174
            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 /* e */
            aload 0 /* this */
            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 /* e */
            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 // com.oracle.objectfile.ObjectFile$Element e
        19: .line 173
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 17
        20: .line 177
      StackMap locals: com.oracle.svm.hosted.image.NativeBootImage org.graalvm.compiler.debug.DebugContext java.nio.file.Path
      StackMap stack:
            return
        end local 2 // java.nio.file.Path outputFile
        end local 1 // org.graalvm.compiler.debug.DebugContext context
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 writeHeaderFiles(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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.nio.file.Path outputDir
        start local 2 // java.lang.String imageName
        start local 3 // boolean dynamic
         0: .line 181
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.uniqueEntryPoints:Ljava/util/Set;
            invokeinterface java.util.Set.stream:()Ljava/util/stream/Stream;
         1: .line 182
            aload 0 /* this */
            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: .line 183
            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: .line 184
            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: .line 181
            astore 4 /* hostedMethods */
        start local 4 // java.util.Map hostedMethods
         5: .line 186
            aload 4 /* hostedMethods */
            aload 0 /* this */
            aload 2 /* imageName */
            aload 1 /* outputDir */
            iload 3 /* dynamic */
            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: .line 191
            return
        end local 4 // java.util.Map hostedMethods
        end local 3 // boolean dynamic
        end local 2 // java.lang.String imageName
        end local 1 // java.nio.file.Path outputDir
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.nio.file.Path outDir
        start local 2 // com.oracle.svm.core.c.CHeader$Header header
        start local 3 // java.util.List methods
        start local 4 // boolean dynamic
         0: .line 194
            new com.oracle.svm.hosted.c.codegen.CSourceCodeWriter
            dup
            aload 1 /* outDir */
            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 /* writer */
        start local 5 // com.oracle.svm.hosted.c.codegen.CSourceCodeWriter writer
         1: .line 195
            new java.lang.StringBuilder
            dup
            ldc "__"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* header */
            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 /* imageHeaderGuard */
        start local 6 // java.lang.String imageHeaderGuard
         2: .line 196
            iload 4 /* dynamic */
            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 /* dynamicSuffix */
        start local 7 // java.lang.String dynamicSuffix
         5: .line 198
            aload 5 /* writer */
            new java.lang.StringBuilder
            dup
            ldc "#ifndef "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* imageHeaderGuard */
            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: .line 199
            aload 5 /* writer */
            new java.lang.StringBuilder
            dup
            ldc "#define "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 6 /* imageHeaderGuard */
            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: .line 201
            aload 5 /* writer */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
         8: .line 203
            aload 5 /* writer */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.writeCStandardHeaders:()V
         9: .line 205
            aload 2 /* header */
            invokeinterface com.oracle.svm.core.c.CHeader$Header.dependsOn:()Ljava/util/List;
            invokeinterface java.util.List.stream:()Ljava/util/stream/Stream;
        10: .line 206
            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: .line 207
            aload 7 /* dynamicSuffix */
            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: .line 205
            astore 8 /* dependencies */
        start local 8 // java.util.List dependencies
        13: .line 208
            aload 5 /* writer */
            aload 8 /* dependencies */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.includeFiles:(Ljava/util/List;)V
        14: .line 210
            new java.io.ByteArrayOutputStream
            dup
            invokespecial java.io.ByteArrayOutputStream.<init>:()V
            astore 9 /* baos */
        start local 9 // java.io.ByteArrayOutputStream baos
        15: .line 211
            new java.io.PrintWriter
            dup
            aload 9 /* baos */
            invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
            astore 10 /* printWriter */
        start local 10 // java.io.PrintWriter printWriter
        16: .line 212
            aload 2 /* header */
            aload 10 /* printWriter */
            invokeinterface com.oracle.svm.core.c.CHeader$Header.writePreamble:(Ljava/io/PrintWriter;)V
        17: .line 213
            aload 10 /* printWriter */
            invokevirtual java.io.PrintWriter.flush:()V
        18: .line 214
            aload 9 /* baos */
            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 /* line */
        start local 11 // java.lang.String line
        20: .line 215
            aload 5 /* writer */
            aload 11 /* line */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        end local 11 // java.lang.String line
        21: .line 214
            iinc 12 1
      StackMap locals:
      StackMap stack:
        22: iload 12
            iload 13
            if_icmplt 19
        23: .line 218
            aload 3 /* methods */
            invokeinterface java.util.List.size:()I
            ifle 33
        24: .line 219
            aload 5 /* writer */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
        25: .line 220
            aload 5 /* writer */
            ldc "#if defined(__cplusplus)"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        26: .line 221
            aload 5 /* writer */
            ldc "extern \"C\" {"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        27: .line 222
            aload 5 /* writer */
            ldc "#endif"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        28: .line 223
            aload 5 /* writer */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
        29: .line 225
            aload 3 /* methods */
            aload 0 /* this */
            aload 5 /* writer */
            iload 4 /* dynamic */
            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: .line 227
            aload 5 /* writer */
            ldc "#if defined(__cplusplus)"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        31: .line 228
            aload 5 /* writer */
            ldc "}"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        32: .line 229
            aload 5 /* writer */
            ldc "#endif"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        33: .line 232
      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 /* writer */
            ldc "#endif"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        34: .line 233
            aload 1 /* outDir */
            invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
            astore 11 /* fileNamePath */
        start local 11 // java.nio.file.Path fileNamePath
        35: .line 234
            aload 11 /* fileNamePath */
            ifnonnull 37
        36: .line 235
            ldc "Cannot determine header file name for directory %s"
            iconst_1
            anewarray java.lang.Object
            dup
            iconst_0
            aload 1 /* outDir */
            aastore
            invokestatic com.oracle.svm.core.util.UserError.abort:(Ljava/lang/String;[Ljava/lang/Object;)Lcom/oracle/svm/core/util/UserError$UserException;
            athrow
        37: .line 237
      StackMap locals: java.nio.file.Path
      StackMap stack:
            aload 11 /* fileNamePath */
            new java.lang.StringBuilder
            dup
            aload 2 /* header */
            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 /* dynamicSuffix */
            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 /* fileName */
        start local 12 // java.lang.String fileName
        38: .line 238
            aload 5 /* writer */
            aload 12 /* fileName */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.writeFile:(Ljava/lang/String;)Ljava/nio/file/Path;
            pop
        end local 12 // java.lang.String fileName
        39: .line 240
            return
        end local 11 // java.nio.file.Path fileNamePath
        end local 10 // java.io.PrintWriter printWriter
        end local 9 // java.io.ByteArrayOutputStream baos
        end local 8 // java.util.List dependencies
        end local 7 // java.lang.String dynamicSuffix
        end local 6 // java.lang.String imageHeaderGuard
        end local 5 // com.oracle.svm.hosted.c.codegen.CSourceCodeWriter writer
        end local 4 // boolean dynamic
        end local 3 // java.util.List methods
        end local 2 // com.oracle.svm.core.c.CHeader$Header header
        end local 1 // java.nio.file.Path outDir
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.meta.HostedMethod entryPointStub
         0: .line 248
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 0 /* entryPointStub */
            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 /* entryPoint */
        start local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod entryPoint
         1: .line 249
            aload 1 /* entryPoint */
            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 /* methodAnnotation */
        start local 2 // com.oracle.svm.core.c.CHeader methodAnnotation
         2: .line 250
            aload 2 /* methodAnnotation */
            ifnull 4
         3: .line 251
            aload 2 /* methodAnnotation */
            invokeinterface com.oracle.svm.core.c.CHeader.value:()Ljava/lang/Class;
            areturn
         4: .line 255
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisMethod com.oracle.svm.core.c.CHeader
      StackMap stack:
            aload 1 /* entryPoint */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getDeclaringClass:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 3 /* enclosingType */
        start local 3 // com.oracle.graal.pointsto.meta.AnalysisType enclosingType
         5: .line 256
            goto 10
         6: .line 257
      StackMap locals: com.oracle.graal.pointsto.meta.AnalysisType
      StackMap stack:
            aload 3 /* enclosingType */
            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 /* enclosing */
        start local 4 // com.oracle.svm.core.c.CHeader enclosing
         7: .line 258
            aload 4 /* enclosing */
            ifnull 9
         8: .line 259
            aload 4 /* enclosing */
            invokeinterface com.oracle.svm.core.c.CHeader.value:()Ljava/lang/Class;
            areturn
         9: .line 261
      StackMap locals: com.oracle.svm.core.c.CHeader
      StackMap stack:
            aload 3 /* enclosingType */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisType.getEnclosingType:()Lcom/oracle/graal/pointsto/meta/AnalysisType;
            astore 3 /* enclosingType */
        end local 4 // com.oracle.svm.core.c.CHeader enclosing
        10: .line 256
      StackMap locals:
      StackMap stack:
            aload 3 /* enclosingType */
            ifnonnull 6
        11: .line 264
            ldc Lcom/oracle/svm/core/c/CHeader$Header;
            areturn
        end local 3 // com.oracle.graal.pointsto.meta.AnalysisType enclosingType
        end local 2 // com.oracle.svm.core.c.CHeader methodAnnotation
        end local 1 // com.oracle.graal.pointsto.meta.AnalysisMethod entryPoint
        end local 0 // com.oracle.svm.hosted.meta.HostedMethod entryPointStub
      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 // java.lang.Class header
         0: .line 269
            aload 0 /* header */
            invokestatic com.oracle.svm.util.ReflectionUtil.newInstance:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.c.CHeader$Header
         1: areturn
         2: .line 270
      StackMap locals:
      StackMap stack: com.oracle.svm.util.ReflectionUtil$ReflectionUtilError
            astore 1 /* ex */
        start local 1 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
         3: .line 271
            aload 1 /* ex */
            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 /* header */
            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 // com.oracle.svm.util.ReflectionUtil$ReflectionUtilError ex
        end local 0 // java.lang.Class header
      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 defaultCHeaderAnnotation(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 // java.lang.String defaultHeaderName
         0: .line 276
            new com.oracle.svm.hosted.image.NativeBootImage$1
            dup
            aload 0 /* defaultHeaderName */
            invokespecial com.oracle.svm.hosted.image.NativeBootImage$1.<init>:(Ljava/lang/String;)V
            areturn
        end local 0 // java.lang.String defaultHeaderName
      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 // com.oracle.svm.hosted.meta.HostedMethod stub1
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod stub2
         0: .line 290
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 0 /* stub1 */
            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 /* rm1 */
        start local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rm1
         1: .line 291
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 1 /* stub2 */
            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 /* rm2 */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod rm2
         2: .line 293
            aload 2 /* rm1 */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getDeclaringClass:()Ljdk/vm/ci/meta/ResolvedJavaType;
            invokeinterface jdk.vm.ci.meta.ResolvedJavaType.getSourceFileName:()Ljava/lang/String;
            aload 3 /* rm2 */
            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 /* fileComparison */
        start local 4 // int fileComparison
         3: .line 294
            iload 4 /* fileComparison */
            ifeq 5
         4: .line 295
            iload 4 /* fileComparison */
            ireturn
         5: .line 297
      StackMap locals: jdk.vm.ci.meta.ResolvedJavaMethod jdk.vm.ci.meta.ResolvedJavaMethod int
      StackMap stack:
            aload 2 /* rm1 */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
            ifnull 6
            aload 2 /* rm1 */
            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 /* rm1Line */
        start local 5 // int rm1Line
         8: .line 298
            aload 3 /* rm2 */
            invokeinterface jdk.vm.ci.meta.ResolvedJavaMethod.getLineNumberTable:()Ljdk/vm/ci/meta/LineNumberTable;
            ifnull 9
            aload 3 /* rm2 */
            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 /* rm2Line */
        start local 6 // int rm2Line
        11: .line 299
            iload 5 /* rm1Line */
            iload 6 /* rm2Line */
            isub
            ireturn
        end local 6 // int rm2Line
        end local 5 // int rm1Line
        end local 4 // int fileComparison
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod rm2
        end local 2 // jdk.vm.ci.meta.ResolvedJavaMethod rm1
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod stub2
        end local 0 // com.oracle.svm.hosted.meta.HostedMethod stub1
      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 writeMethodHeader(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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod m
        start local 2 // com.oracle.svm.hosted.c.codegen.CSourceCodeWriter writer
        start local 3 // boolean dynamic
         0: .line 303
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 1
            aload 1 /* m */
            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: .line 304
      StackMap locals:
      StackMap stack:
            aload 1 /* m */
            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 /* cEntryPointData */
        start local 4 // com.oracle.svm.hosted.code.CEntryPointData cEntryPointData
         2: .line 305
            aload 4 /* cEntryPointData */
            invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getDocumentation:()Ljava/lang/String;
            astore 5 /* docComment */
        start local 5 // java.lang.String docComment
         3: .line 306
            aload 5 /* docComment */
            ifnull 7
            aload 5 /* docComment */
            invokevirtual java.lang.String.isEmpty:()Z
            ifne 7
         4: .line 307
            aload 2 /* writer */
            ldc "/*"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
         5: .line 308
            aload 5 /* docComment */
            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 /* writer */
            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: .line 309
            aload 2 /* writer */
            ldc " */"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
         7: .line 312
      StackMap locals: com.oracle.svm.hosted.code.CEntryPointData java.lang.String
      StackMap stack:
            iload 3 /* dynamic */
            ifeq 9
         8: .line 313
            aload 2 /* writer */
            ldc "typedef "
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
         9: .line 316
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getAnnotatedReturnType:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/reflect/AnnotatedType;
            astore 6 /* annotatedReturnType */
        start local 6 // java.lang.reflect.AnnotatedType annotatedReturnType
        10: .line 317
            aload 2 /* writer */
            aload 1 /* m */
        11: .line 318
            aload 1 /* m */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            aload 1 /* m */
            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: .line 319
            aload 6 /* annotatedReturnType */
            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: .line 320
            iconst_0
        14: .line 321
            aload 6 /* annotatedReturnType */
            ldc Lcom/oracle/svm/core/c/CUnsigned;
            invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
        15: .line 322
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
        16: .line 317
            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: .line 323
            aload 2 /* writer */
            ldc " "
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
        18: .line 325
            aload 4 /* cEntryPointData */
            invokevirtual com.oracle.svm.hosted.code.CEntryPointData.getSymbolName:()Ljava/lang/String;
            astore 7 /* symbolName */
        start local 7 // java.lang.String symbolName
        19: .line 326
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 20
            aload 7 /* symbolName */
            invokevirtual java.lang.String.isEmpty:()Z
            ifeq 20
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        20: .line 327
      StackMap locals: java.lang.reflect.AnnotatedType java.lang.String
      StackMap stack:
            iload 3 /* dynamic */
            ifeq 23
        21: .line 328
            aload 2 /* writer */
            ldc "(*"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            aload 7 /* symbolName */
            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: .line 329
            goto 24
        23: .line 330
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            aload 7 /* symbolName */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
        24: .line 332
      StackMap locals:
      StackMap stack:
            aload 2 /* writer */
            ldc "("
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
        25: .line 334
            ldc ""
            astore 8 /* sep */
        start local 8 // java.lang.String sep
        26: .line 335
            aload 0 /* this */
            aload 1 /* m */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.getAnnotatedParameterTypes:(Lcom/oracle/svm/hosted/meta/HostedMethod;)[Ljava/lang/reflect/AnnotatedType;
            astore 9 /* annotatedParameterTypes */
        start local 9 // java.lang.reflect.AnnotatedType[] annotatedParameterTypes
        27: .line 336
            aload 1 /* m */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getParameters:()[Ljdk/vm/ci/meta/ResolvedJavaMethod$Parameter;
            astore 10 /* parameters */
        start local 10 // jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] parameters
        28: .line 337
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 29
            aload 10 /* parameters */
            ifnonnull 29
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
        29: .line 338
      StackMap locals: java.lang.String java.lang.reflect.AnnotatedType[] jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[]
      StackMap stack:
            iconst_0
            istore 11 /* i */
        start local 11 // int i
        30: goto 44
        31: .line 339
      StackMap locals: int
      StackMap stack:
            aload 2 /* writer */
            aload 8 /* sep */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
        32: .line 340
            ldc ", "
            astore 8 /* sep */
        33: .line 341
            aload 2 /* writer */
            aload 1 /* m */
        34: .line 342
            aload 1 /* m */
            invokevirtual com.oracle.svm.hosted.meta.HostedMethod.getSignature:()Ljdk/vm/ci/meta/Signature;
            iload 11 /* i */
            aload 1 /* m */
            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: .line 343
            aload 9 /* annotatedParameterTypes */
            iload 11 /* i */
            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: .line 344
            aload 9 /* annotatedParameterTypes */
            iload 11 /* i */
            aaload
            ldc Lcom/oracle/svm/core/c/CConst;
            invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
        37: .line 345
            aload 9 /* annotatedParameterTypes */
            iload 11 /* i */
            aaload
            ldc Lcom/oracle/svm/core/c/CUnsigned;
            invokeinterface java.lang.reflect.AnnotatedType.isAnnotationPresent:(Ljava/lang/Class;)Z
        38: .line 346
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.metaAccess:Lcom/oracle/svm/hosted/meta/HostedMetaAccess;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.nativeLibs:Lcom/oracle/svm/hosted/c/NativeLibraries;
        39: .line 341
            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: .line 347
            aload 10 /* parameters */
            iload 11 /* i */
            aaload
            invokevirtual jdk.vm.ci.meta.ResolvedJavaMethod$Parameter.isNamePresent:()Z
            ifeq 43
        41: .line 348
            aload 2 /* writer */
            ldc " "
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.append:(Ljava/lang/String;)Lcom/oracle/svm/hosted/c/codegen/CSourceCodeWriter;
            pop
        42: .line 349
            aload 2 /* writer */
            aload 10 /* parameters */
            iload 11 /* i */
            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: .line 338
      StackMap locals:
      StackMap stack:
            iinc 11 /* i */ 1
      StackMap locals:
      StackMap stack:
        44: iload 11 /* i */
            aload 1 /* m */
            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 // int i
        45: .line 352
            aload 2 /* writer */
            ldc ");"
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:(Ljava/lang/String;)V
        46: .line 353
            aload 2 /* writer */
            invokevirtual com.oracle.svm.hosted.c.codegen.CSourceCodeWriter.appendln:()V
        47: .line 354
            return
        end local 10 // jdk.vm.ci.meta.ResolvedJavaMethod$Parameter[] parameters
        end local 9 // java.lang.reflect.AnnotatedType[] annotatedParameterTypes
        end local 8 // java.lang.String sep
        end local 7 // java.lang.String symbolName
        end local 6 // java.lang.reflect.AnnotatedType annotatedReturnType
        end local 5 // java.lang.String docComment
        end local 4 // com.oracle.svm.hosted.code.CEntryPointData cEntryPointData
        end local 3 // boolean dynamic
        end local 2 // com.oracle.svm.hosted.c.codegen.CSourceCodeWriter writer
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod m
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
         0: .line 358
            aload 0 /* this */
            aload 1 /* hostedMethod */
            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 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
         0: .line 363
            aload 0 /* this */
            aload 1 /* hostedMethod */
            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 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
         0: .line 367
            invokestatic com.oracle.svm.hosted.code.CEntryPointCallStubSupport.singleton:()Lcom/oracle/svm/hosted/code/CEntryPointCallStubSupport;
            aload 1 /* hostedMethod */
            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 /* entryPoint */
        start local 2 // com.oracle.graal.pointsto.meta.AnalysisMethod entryPoint
         1: .line 370
            aload 2 /* entryPoint */
            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 /* entryPoint */
            invokevirtual com.oracle.graal.pointsto.meta.AnalysisMethod.getName:()Ljava/lang/String;
         2: .line 371
            aload 2 /* entryPoint */
            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 /* this */
            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: .line 370
            invokevirtual java.lang.Class.getDeclaredMethod:(Ljava/lang/String;[Ljava/lang/Class;)Ljava/lang/reflect/Method;
            astore 3 /* method */
        start local 3 // java.lang.reflect.Method method
         4: .line 372
            goto 7
        end local 3 // java.lang.reflect.Method method
      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 /* e */
        start local 4 // java.lang.NoSuchMethodException e
         6: .line 373
            aload 4 /* e */
            invokestatic com.oracle.svm.core.util.VMError.shouldNotReachHere:(Ljava/lang/Throwable;)Ljava/lang/RuntimeException;
            athrow
        end local 4 // java.lang.NoSuchMethodException e
        start local 3 // java.lang.reflect.Method method
         7: .line 375
      StackMap locals: java.lang.reflect.Method
      StackMap stack:
            aload 3 /* method */
            areturn
        end local 3 // java.lang.reflect.Method method
        end local 2 // com.oracle.graal.pointsto.meta.AnalysisMethod entryPoint
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod hostedMethod
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 shouldWriteHeader(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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.meta.HostedMethod method
         0: .line 379
            aload 1 /* method */
            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 /* data */
        start local 2 // java.lang.Object data
         1: .line 380
            aload 2 /* data */
            instanceof com.oracle.svm.hosted.code.CEntryPointData
            ifeq 2
            aload 2 /* data */
            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 // java.lang.Object data
        end local 1 // com.oracle.svm.hosted.meta.HostedMethod method
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.lang.String name
        start local 2 // com.oracle.objectfile.ObjectFile$Element section
        start local 3 // long position
         0: .line 384
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 1 /* name */
            aload 2 /* section */
            lload 3 /* position */
            aload 0 /* this */
            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 // long position
        end local 2 // com.oracle.objectfile.ObjectFile$Element section
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.lang.String name
        start local 2 // long position
         0: .line 388
            aconst_null
            astore 4 /* symbol */
        start local 4 // com.oracle.objectfile.ObjectFile$Symbol symbol
         1: .line 389
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
            aload 1 /* name */
            invokeinterface com.oracle.objectfile.SymbolTable.getSymbol:(Ljava/lang/String;)Lcom/oracle/objectfile/ObjectFile$Symbol;
            ifnonnull 3
         2: .line 390
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 1 /* name */
            iconst_0
            iconst_1
            invokevirtual com.oracle.objectfile.ObjectFile.createUndefinedSymbol:(Ljava/lang/String;IZ)Lcom/oracle/objectfile/ObjectFile$Symbol;
            astore 4 /* symbol */
         3: .line 392
      StackMap locals: com.oracle.objectfile.ObjectFile$Symbol
      StackMap stack:
            aload 0 /* this */
            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 /* baseSectionImpl */
        start local 5 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl baseSectionImpl
         4: .line 393
            lconst_0
            lload 2 /* position */
            ladd
            invokestatic java.lang.Math.toIntExact:(J)I
            istore 6 /* offsetInSection */
        start local 6 // int offsetInSection
         5: .line 394
            aload 5 /* baseSectionImpl */
            iload 6 /* offsetInSection */
            aload 0 /* this */
            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 /* name */
            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: .line 395
            aload 4 /* symbol */
            areturn
        end local 6 // int offsetInSection
        end local 5 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl baseSectionImpl
        end local 4 // com.oracle.objectfile.ObjectFile$Symbol symbol
        end local 2 // long position
        end local 1 // java.lang.String name
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // org.graalvm.compiler.debug.DebugContext debug
         0: .line 404
            aconst_null
            astore 2
            aconst_null
            astore 3
         1: aload 1 /* debug */
            ldc "NativeBootImage.build"
            invokevirtual org.graalvm.compiler.debug.DebugContext.scope:(Ljava/lang/Object;)Lorg/graalvm/compiler/debug/DebugContext$Scope;
            astore 4 /* buildScope */
        start local 4 // org.graalvm.compiler.debug.DebugContext$Scope buildScope
         2: .line 405
            invokestatic com.oracle.svm.hosted.c.CGlobalDataFeature.singleton:()Lcom/oracle/svm/hosted/c/CGlobalDataFeature;
            astore 5 /* cGlobals */
        start local 5 // com.oracle.svm.hosted.c.CGlobalDataFeature cGlobals
         3: .line 407
            aload 0 /* this */
            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 /* roSectionSize */
        start local 6 // long roSectionSize
         4: .line 408
            invokestatic com.oracle.svm.core.config.ConfigurationValues.getObjectLayout:()Lcom/oracle/svm/core/config/ObjectLayout;
            aload 5 /* cGlobals */
            invokevirtual com.oracle.svm.hosted.c.CGlobalDataFeature.getSize:()I
            invokevirtual com.oracle.svm.core.config.ObjectLayout.alignUp:(I)I
            i2l
            lstore 8 /* rwSectionSize */
        start local 8 // long rwSectionSize
         5: .line 409
            aload 0 /* this */
            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 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
            aload 0 /* this */
            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 /* heapLayout */
        start local 10 // com.oracle.svm.core.image.ImageHeapLayoutInfo heapLayout
         6: .line 411
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 7
            aload 0 /* this */
            aload 0 /* this */
            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: .line 414
      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 /* this */
            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 /* textSectionSize */
        start local 11 // int textSectionSize
         8: .line 415
            new com.oracle.svm.hosted.image.RelocatableBuffer
            dup
            iload 11 /* textSectionSize */
            i2l
            aload 0 /* this */
            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 /* textBuffer */
        start local 12 // com.oracle.svm.hosted.image.RelocatableBuffer textBuffer
         9: .line 416
            aload 12 /* textBuffer */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 0 /* this */
            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 /* textImpl */
        start local 13 // com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl textImpl
        10: .line 417
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            getstatic com.oracle.objectfile.SectionName.TEXT:Lcom/oracle/objectfile/SectionName;
            aload 0 /* this */
            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 /* this */
            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 /* textImpl */
            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: .line 419
            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 /* writable */
        start local 14 // boolean writable
        12: .line 422
            new com.oracle.svm.hosted.image.RelocatableBuffer
            dup
            lload 6 /* roSectionSize */
            aload 0 /* this */
            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 /* roDataBuffer */
        start local 15 // com.oracle.svm.hosted.image.RelocatableBuffer roDataBuffer
        13: .line 423
            new com.oracle.objectfile.BasicProgbitsSectionImpl
            dup
            aload 15 /* roDataBuffer */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
            invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
            astore 16 /* roDataImpl */
        start local 16 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl roDataImpl
        14: .line 424
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            getstatic com.oracle.objectfile.SectionName.RODATA:Lcom/oracle/objectfile/SectionName;
            aload 0 /* this */
            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 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
            iload 14 /* writable */
            iconst_0
            aload 16 /* roDataImpl */
            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: .line 427
            new com.oracle.svm.hosted.image.RelocatableBuffer
            dup
            lload 8 /* rwSectionSize */
            aload 0 /* this */
            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 /* rwDataBuffer */
        start local 17 // com.oracle.svm.hosted.image.RelocatableBuffer rwDataBuffer
        16: .line 428
            new com.oracle.objectfile.BasicProgbitsSectionImpl
            dup
            aload 17 /* rwDataBuffer */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
            invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
            astore 18 /* rwDataImpl */
        start local 18 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl rwDataImpl
        17: .line 429
            aload 0 /* this */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            getstatic com.oracle.objectfile.SectionName.DATA:Lcom/oracle/objectfile/SectionName;
            aload 0 /* this */
            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 /* this */
            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 /* rwDataImpl */
            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: .line 432
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 0 /* this */
            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 /* this */
            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: .line 433
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            ldc "__svm_text_end"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
            iload 11 /* textSectionSize */
            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: .line 434
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 0 /* this */
            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 /* this */
            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: .line 435
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 0 /* this */
            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 /* this */
            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: .line 437
            new com.oracle.svm.hosted.image.NativeImageHeapWriter
            dup
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
            aload 10 /* heapLayout */
            invokespecial com.oracle.svm.hosted.image.NativeImageHeapWriter.<init>:(Lcom/oracle/svm/hosted/image/NativeImageHeap;Lcom/oracle/svm/core/image/ImageHeapLayoutInfo;)V
            astore 19 /* writer */
        start local 19 // com.oracle.svm.hosted.image.NativeImageHeapWriter writer
        23: .line 440
            aload 13 /* textImpl */
            aload 1 /* debug */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 0 /* this */
            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: .line 442
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
            aload 19 /* writer */
            aload 15 /* roDataBuffer */
            invokevirtual com.oracle.svm.hosted.image.NativeImageCodeCache.writeConstants:(Lcom/oracle/svm/hosted/image/NativeImageHeapWriter;Lcom/oracle/svm/hosted/image/RelocatableBuffer;)V
        25: .line 444
            aload 5 /* cGlobals */
            aload 17 /* rwDataBuffer */
        26: .line 445
            aload 0 /* this */
            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: .line 446
            aload 0 /* this */
            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: .line 444
            invokevirtual com.oracle.svm.hosted.c.CGlobalDataFeature.writeData:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Ljava/util/function/BiFunction;Ljava/util/function/BiFunction;)V
        29: .line 447
            aload 0 /* this */
            ldc "__svm_cglobaldata_base"
            aload 0 /* this */
            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: .line 452
            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: .line 453
            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: .line 454
            new com.oracle.svm.hosted.image.NativeImageDebugInfoProvider
            dup
            aload 1 /* debug */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.codeCache:Lcom/oracle/svm/hosted/image/NativeImageCodeCache;
            aload 0 /* this */
            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 /* provider */
        start local 20 // com.oracle.objectfile.debuginfo.DebugInfoProvider provider
        33: .line 455
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 20 /* provider */
            invokevirtual com.oracle.objectfile.ObjectFile.installDebugInfo:(Lcom/oracle/objectfile/debuginfo/DebugInfoProvider;)V
        end local 20 // com.oracle.objectfile.debuginfo.DebugInfoProvider provider
        34: .line 460
      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 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            invokevirtual com.oracle.objectfile.ObjectFile.getPageSize:()I
            istore 20 /* alignment */
        start local 20 // int alignment
        35: .line 461
            new com.oracle.svm.hosted.image.RelocatableBuffer
            dup
            aload 10 /* heapLayout */
            invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getImageHeapSize:()J
            aload 0 /* this */
            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 /* heapSectionBuffer */
        start local 21 // com.oracle.svm.hosted.image.RelocatableBuffer heapSectionBuffer
        36: .line 462
            new com.oracle.objectfile.BasicProgbitsSectionImpl
            dup
            aload 21 /* heapSectionBuffer */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getBackingArray:()[B
            invokespecial com.oracle.objectfile.BasicProgbitsSectionImpl.<init>:([B)V
            astore 22 /* heapSectionImpl */
        start local 22 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl heapSectionImpl
        37: .line 463
            aload 0 /* this */
            aload 0 /* this */
            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 /* this */
            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 /* alignment */
            iload 14 /* writable */
            iconst_0
            aload 22 /* heapSectionImpl */
            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: .line 464
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 0 /* this */
            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 /* this */
            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: .line 466
            aload 19 /* writer */
            aload 1 /* debug */
            aload 21 /* heapSectionBuffer */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeapWriter.writeHeap:(Lorg/graalvm/compiler/debug/DebugContext;Lcom/oracle/svm/hosted/image/RelocatableBuffer;)J
            lstore 23 /* offsetOfARelocatablePointer */
        start local 23 // long offsetOfARelocatablePointer
        40: .line 467
            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 /* heapSectionBuffer */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getByteBuffer:()Ljava/nio/ByteBuffer;
            lload 23 /* offsetOfARelocatablePointer */
            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: .line 469
      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 /* this */
            ldc "__svm_heap_begin"
            aload 0 /* this */
            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: .line 470
            aload 0 /* this */
            ldc "__svm_heap_end"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 10 /* heapLayout */
            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: .line 471
            aload 0 /* this */
            ldc "__svm_heap_relocatable_begin"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 10 /* heapLayout */
            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: .line 472
            aload 0 /* this */
            ldc "__svm_heap_relocatable_end"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 10 /* heapLayout */
            invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getReadOnlyRelocatableOffset:()J
            aload 10 /* heapLayout */
            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: .line 473
            aload 0 /* this */
            ldc "__svm_a_relocatable_pointer"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            lload 23 /* offsetOfARelocatablePointer */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.defineDataSymbol:(Ljava/lang/String;Lcom/oracle/objectfile/ObjectFile$Element;J)Lcom/oracle/objectfile/ObjectFile$Symbol;
            pop
        46: .line 474
            aload 0 /* this */
            ldc "__svm_heap_writable_begin"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 10 /* heapLayout */
            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: .line 475
            aload 0 /* this */
            ldc "__svm_heap_writable_end"
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heapSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 10 /* heapLayout */
            invokevirtual com.oracle.svm.core.image.ImageHeapLayoutInfo.getWritableOffset:()J
            aload 10 /* heapLayout */
            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: .line 478
            aload 0 /* this */
            aload 12 /* textBuffer */
            aload 13 /* textImpl */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
        49: .line 479
            aload 0 /* this */
            aload 15 /* roDataBuffer */
            aload 16 /* roDataImpl */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
        50: .line 480
            aload 0 /* this */
            aload 17 /* rwDataBuffer */
            aload 18 /* rwDataImpl */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
        51: .line 481
            aload 0 /* this */
            aload 21 /* heapSectionBuffer */
            aload 22 /* heapSectionImpl */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.markRelocationSitesFromBuffer:(Lcom/oracle/svm/hosted/image/RelocatableBuffer;Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;)V
        52: .line 485
            aload 0 /* this */
            aload 0 /* this */
            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 // long offsetOfARelocatablePointer
        end local 22 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl heapSectionImpl
        end local 21 // com.oracle.svm.hosted.image.RelocatableBuffer heapSectionBuffer
        end local 20 // int alignment
        end local 19 // com.oracle.svm.hosted.image.NativeImageHeapWriter writer
        end local 18 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl rwDataImpl
        end local 17 // com.oracle.svm.hosted.image.RelocatableBuffer rwDataBuffer
        end local 16 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl roDataImpl
        end local 15 // com.oracle.svm.hosted.image.RelocatableBuffer roDataBuffer
        end local 14 // boolean writable
        end local 13 // com.oracle.svm.hosted.image.NativeBootImage$NativeTextSectionImpl textImpl
        end local 12 // com.oracle.svm.hosted.image.RelocatableBuffer textBuffer
        end local 11 // int textSectionSize
        end local 10 // com.oracle.svm.core.image.ImageHeapLayoutInfo heapLayout
        end local 8 // long rwSectionSize
        end local 6 // long roSectionSize
        end local 5 // com.oracle.svm.hosted.c.CGlobalDataFeature cGlobals
        53: .line 486
            aload 4 /* buildScope */
            ifnull 59
            aload 4 /* buildScope */
            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 /* buildScope */
            ifnull 55
            aload 4 /* buildScope */
            invokeinterface org.graalvm.compiler.debug.DebugContext$Scope.close:()V
        end local 4 // org.graalvm.compiler.debug.DebugContext$Scope buildScope
      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: .line 513
      StackMap locals:
      StackMap stack:
            return
        end local 1 // org.graalvm.compiler.debug.DebugContext debug
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.util.Collection objects
         0: .line 516
            new java.util.IdentityHashMap
            dup
            invokespecial java.util.IdentityHashMap.<init>:()V
            invokestatic java.util.Collections.newSetFromMap:(Ljava/util/Map;)Ljava/util/Set;
            astore 2 /* deduplicated */
        start local 2 // java.util.Set deduplicated
         1: .line 517
            aload 1 /* objects */
            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 /* info */
        start local 3 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo info
         3: .line 518
            aload 2 /* deduplicated */
            aload 3 /* info */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            pop
        end local 3 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo info
         4: .line 517
      StackMap locals:
      StackMap stack:
            aload 4
            invokeinterface java.util.Iterator.hasNext:()Z
            ifne 2
         5: .line 520
            aload 2 /* deduplicated */
            invokeinterface java.util.Set.size:()I
            aload 0 /* this */
            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 // java.util.Set deduplicated
        end local 1 // java.util.Collection objects
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.image.RelocatableBuffer buffer
        start local 2 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
         0: .line 524
            aload 1 /* buffer */
            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 /* entry */
        start local 3 // java.util.Map$Entry entry
         2: .line 525
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
            checkcast java.lang.Integer
            invokevirtual java.lang.Integer.intValue:()I
            istore 5 /* offset */
        start local 5 // int offset
         3: .line 526
            aload 3 /* entry */
            invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
            checkcast com.oracle.svm.hosted.image.RelocatableBuffer$Info
            astore 6 /* info */
        start local 6 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
         4: .line 528
            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 /* sectionImpl */
            iload 5 /* offset */
            aload 6 /* info */
            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: .line 531
      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 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
            instanceof org.graalvm.nativeimage.c.function.CFunctionPointer
            ifeq 8
         6: .line 533
            aload 2 /* sectionImpl */
            iload 5 /* offset */
            aload 6 /* info */
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.markFunctionRelocationSite:(Lcom/oracle/objectfile/ObjectFile$ProgbitsSectionImpl;ILcom/oracle/svm/hosted/image/RelocatableBuffer$Info;)V
         7: .line 534
            goto 14
         8: .line 536
      StackMap locals:
      StackMap stack:
            aload 2 /* sectionImpl */
            invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.getElement:()Lcom/oracle/objectfile/ObjectFile$Element;
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.textSection:Lcom/oracle/objectfile/ObjectFile$Section;
            if_acmpne 11
         9: .line 539
            aload 0 /* this */
            aload 1 /* buffer */
            aload 2 /* sectionImpl */
            iload 5 /* offset */
            aload 6 /* info */
            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: .line 540
            goto 14
        11: .line 543
      StackMap locals:
      StackMap stack:
            aload 6 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
            astore 7 /* targetObject */
        start local 7 // java.lang.Object targetObject
        12: .line 544
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
            aload 7 /* targetObject */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap.getObjectInfo:(Ljava/lang/Object;)Lcom/oracle/svm/hosted/image/NativeImageHeap$ObjectInfo;
            astore 8 /* targetObjectInfo */
        start local 8 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo targetObjectInfo
        13: .line 545
            aload 0 /* this */
            aload 2 /* sectionImpl */
            iload 5 /* offset */
            aload 6 /* info */
            aload 8 /* targetObjectInfo */
            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 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo targetObjectInfo
        end local 7 // java.lang.Object targetObject
        end local 6 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        end local 5 // int offset
        end local 3 // java.util.Map$Entry entry
        14: .line 524
      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: .line 549
            return
        end local 2 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        end local 1 // com.oracle.svm.hosted.image.RelocatableBuffer buffer
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        start local 1 // int offset
        start local 2 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
         0: .line 552
            aload 0 /* sectionImpl */
            invokeinterface com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl.getContent:()[B
            invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
            aload 0 /* sectionImpl */
            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 /* dataBuf */
        start local 3 // java.nio.ByteBuffer dataBuf
         1: .line 553
            aload 2 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            bipush 8
            if_icmpne 4
         2: .line 554
            aload 3 /* dataBuf */
            iload 1 /* offset */
            invokevirtual java.nio.ByteBuffer.getLong:(I)J
            lstore 4 /* value */
        start local 4 // long value
         3: .line 555
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 8
            lload 4 /* value */
            lconst_0
            lcmp
            ifeq 8
            lload 4 /* value */
            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 /* value */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_1
            aload 2 /* info */
            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 // long value
         4: .line 556
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 2 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            iconst_4
            if_icmpne 7
         5: .line 557
            aload 3 /* dataBuf */
            iload 1 /* offset */
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 4 /* value */
        start local 4 // int value
         6: .line 558
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 8
            iload 4 /* value */
            ifeq 8
            iload 4 /* value */
            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 // int value
         7: .line 560
      StackMap locals:
      StackMap stack:
            new java.lang.StringBuilder
            dup
            ldc "unsupported relocation size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 2 /* info */
            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: .line 562
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // java.nio.ByteBuffer dataBuf
        end local 2 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        end local 1 // int offset
        end local 0 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
      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 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        start local 1 // int offset
        start local 2 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
         0: .line 566
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 1
            aload 2 /* info */
            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 /* info */
            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: .line 568
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 2
            aload 2 /* info */
            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 /* info */
            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: .line 570
      StackMap locals:
      StackMap stack:
            aload 2 /* info */
            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 /* method */
        start local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
         3: .line 572
            aload 0 /* sectionImpl */
            iload 1 /* offset */
            bipush 8
            invokestatic com.oracle.objectfile.ObjectFile$RelocationKind.getDirect:(I)Lcom/oracle/objectfile/ObjectFile$RelocationKind;
            aload 3 /* method */
            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: .line 573
            return
        end local 3 // jdk.vm.ci.meta.ResolvedJavaMethod method
        end local 2 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        end local 1 // int offset
        end local 0 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
      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 // jdk.vm.ci.code.Architecture arch
        start local 1 // long addend
        start local 3 // com.oracle.objectfile.ObjectFile$RelocationKind kind
         0: .line 576
            aload 0 /* arch */
            instanceof jdk.vm.ci.amd64.AMD64
            ifeq 2
         1: .line 577
            iconst_1
            ireturn
         2: .line 581
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
            aload 3 /* kind */
            invokevirtual com.oracle.objectfile.ObjectFile$RelocationKind.ordinal:()I
            iaload
            tableswitch { // 23 - 25
                   23: 7
                   24: 5
                   25: 3
              default: 9
          }
         3: .line 583
      StackMap locals:
      StackMap stack:
            lload 1 /* addend */
            lconst_1
            land
            lconst_0
            lcmp
            ifne 4
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         4: iconst_0
            ireturn
         5: .line 585
      StackMap locals:
      StackMap stack:
            lload 1 /* addend */
            ldc 3
            land
            lconst_0
            lcmp
            ifne 6
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         6: iconst_0
            ireturn
         7: .line 587
      StackMap locals:
      StackMap stack:
            lload 1 /* addend */
            ldc 7
            land
            lconst_0
            lcmp
            ifne 8
            iconst_1
            ireturn
      StackMap locals:
      StackMap stack:
         8: iconst_0
            ireturn
         9: .line 589
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 3 // com.oracle.objectfile.ObjectFile$RelocationKind kind
        end local 1 // long addend
        end local 0 // jdk.vm.ci.code.Architecture arch
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        start local 2 // int offset
        start local 3 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        start local 4 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo targetObjectInfo
         0: .line 599
            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 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            iconst_4
            if_icmpeq 1
            aload 3 /* info */
            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: .line 600
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 2
            aload 4 /* targetObjectInfo */
            ifnonnull 2
            new java.lang.AssertionError
            dup
            invokespecial java.lang.AssertionError.<init>:()V
            athrow
         2: .line 601
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* targetSectionName */
        start local 5 // java.lang.String targetSectionName
         3: .line 602
            aload 4 /* targetObjectInfo */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getAddress:()J
            lstore 6 /* address */
        start local 6 // long address
         4: .line 603
            aload 3 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.hasExplicitAddend:()Z
            ifeq 5
            aload 3 /* info */
            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 /* relocationInfoAddend */
        start local 8 // long relocationInfoAddend
         7: .line 604
            lload 6 /* address */
            lload 8 /* relocationInfoAddend */
            ladd
            lstore 10 /* relocationAddend */
        start local 10 // long relocationAddend
         8: .line 605
            aload 1 /* sectionImpl */
            iload 2 /* offset */
            aload 3 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
            aload 5 /* targetSectionName */
            iconst_0
            lload 10 /* relocationAddend */
            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: .line 606
            return
        end local 10 // long relocationAddend
        end local 8 // long relocationInfoAddend
        end local 6 // long address
        end local 5 // java.lang.String targetSectionName
        end local 4 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo targetObjectInfo
        end local 3 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        end local 2 // int offset
        end local 1 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.hosted.image.RelocatableBuffer buffer
        start local 2 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        start local 3 // int offset
        start local 4 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
         0: .line 609
            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 /* arch */
        start local 5 // jdk.vm.ci.code.Architecture arch
         1: .line 610
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 3
            aload 5 /* arch */
            instanceof jdk.vm.ci.aarch64.AArch64
            ifne 3
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            iconst_4
            if_icmpeq 3
            aload 4 /* info */
            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: .line 611
            aload 4 /* info */
            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: .line 612
      StackMap locals: jdk.vm.ci.code.Architecture
      StackMap stack:
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getTargetObject:()Ljava/lang/Object;
            astore 6 /* target */
        start local 6 // java.lang.Object target
         4: .line 613
            aload 6 /* target */
            instanceof jdk.vm.ci.code.site.DataSectionReference
            ifeq 9
         5: .line 614
            aload 6 /* target */
            checkcast jdk.vm.ci.code.site.DataSectionReference
            invokevirtual jdk.vm.ci.code.site.DataSectionReference.getOffset:()I
            i2l
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getExplicitAddend:()Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lsub
            lstore 7 /* addend */
        start local 7 // long addend
         6: .line 615
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 7
            aload 5 /* arch */
            lload 7 /* addend */
            aload 4 /* info */
            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: .line 616
      StackMap locals: java.lang.Object long
      StackMap stack:
            aload 2 /* sectionImpl */
            iload 3 /* offset */
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
            aload 0 /* this */
            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 /* addend */
            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 // long addend
         8: .line 617
            goto 60
      StackMap locals:
      StackMap stack:
         9: aload 6 /* target */
            instanceof com.oracle.svm.core.graal.code.CGlobalDataReference
            ifeq 23
        10: .line 618
            aload 6 /* target */
            checkcast com.oracle.svm.core.graal.code.CGlobalDataReference
            astore 7 /* ref */
        start local 7 // com.oracle.svm.core.graal.code.CGlobalDataReference ref
        11: .line 619
            aload 7 /* ref */
            invokevirtual com.oracle.svm.core.graal.code.CGlobalDataReference.getDataInfo:()Lcom/oracle/svm/core/graal/code/CGlobalDataInfo;
            astore 8 /* dataInfo */
        start local 8 // com.oracle.svm.core.graal.code.CGlobalDataInfo dataInfo
        12: .line 620
            aload 8 /* dataInfo */
            invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getData:()Lcom/oracle/svm/core/c/CGlobalDataImpl;
            astore 9 /* data */
        start local 9 // com.oracle.svm.core.c.CGlobalDataImpl data
        13: .line 621
            lconst_0
            aload 8 /* dataInfo */
            invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getOffset:()I
            i2l
            ladd
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getExplicitAddend:()Ljava/lang/Long;
            invokevirtual java.lang.Long.longValue:()J
            lsub
            lstore 10 /* addend */
        start local 10 // long addend
        14: .line 622
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 15
            aload 5 /* arch */
            lload 10 /* addend */
            aload 4 /* info */
            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: .line 623
      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 /* sectionImpl */
            iload 3 /* offset */
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationKind:()Lcom/oracle/objectfile/ObjectFile$RelocationKind;
            aload 0 /* this */
            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 /* addend */
            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: .line 624
            aload 8 /* dataInfo */
            invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.isSymbolReference:()Z
            ifeq 60
        17: .line 625
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            invokevirtual com.oracle.objectfile.ObjectFile.getSymbolTable:()Lcom/oracle/objectfile/SymbolTable;
            aload 9 /* data */
            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: .line 626
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            aload 9 /* data */
            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: .line 628
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            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 /* baseSectionImpl */
        start local 12 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl baseSectionImpl
        20: .line 629
            lconst_0
            aload 8 /* dataInfo */
            invokevirtual com.oracle.svm.core.graal.code.CGlobalDataInfo.getOffset:()I
            i2l
            ladd
            invokestatic java.lang.Math.toIntExact:(J)I
            istore 13 /* offsetInSection */
        start local 13 // int offsetInSection
        21: .line 630
            aload 12 /* baseSectionImpl */
            iload 13 /* offsetInSection */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.wordSize:I
            invokestatic com.oracle.objectfile.ObjectFile$RelocationKind.getDirect:(I)Lcom/oracle/objectfile/ObjectFile$RelocationKind;
            aload 9 /* data */
            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 // int offsetInSection
        end local 12 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl baseSectionImpl
        end local 10 // long addend
        end local 9 // com.oracle.svm.core.c.CGlobalDataImpl data
        end local 8 // com.oracle.svm.core.graal.code.CGlobalDataInfo dataInfo
        end local 7 // com.oracle.svm.core.graal.code.CGlobalDataReference ref
        22: .line 632
            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 /* target */
            instanceof jdk.vm.ci.code.site.ConstantReference
            ifeq 59
        24: .line 634
            aload 6 /* target */
            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 /* object */
        start local 7 // java.lang.Object object
        25: .line 635
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.heap:Lcom/oracle/svm/hosted/image/NativeImageHeap;
            aload 7 /* object */
            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 /* address */
        start local 8 // long address
        26: .line 636
            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 /* encShift */
        start local 10 // int encShift
        27: .line 637
            lload 8 /* address */
            iload 10 /* encShift */
            lushr
            lstore 11 /* targetValue */
        start local 11 // long targetValue
        28: .line 638
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 29
            lload 11 /* targetValue */
            iload 10 /* encShift */
            lshl
            lload 8 /* address */
            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 /* address */
            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: .line 639
      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 /* buffer */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer.getByteBuffer:()Ljava/nio/ByteBuffer;
            astore 13 /* bufferBytes */
        start local 13 // java.nio.ByteBuffer bufferBytes
        30: .line 640
            aload 5 /* arch */
            instanceof jdk.vm.ci.amd64.AMD64
            ifeq 41
        31: .line 641
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 32
            aload 4 /* info */
            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 /* info */
            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: .line 642
      StackMap locals: java.nio.ByteBuffer
      StackMap stack:
            aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            bipush 8
            if_icmpne 35
        33: .line 643
            aload 13 /* bufferBytes */
            iload 3 /* offset */
            lload 11 /* targetValue */
            invokevirtual java.nio.ByteBuffer.putLong:(IJ)Ljava/nio/ByteBuffer;
            pop
        34: .line 644
            goto 60
      StackMap locals:
      StackMap stack:
        35: aload 4 /* info */
            invokevirtual com.oracle.svm.hosted.image.RelocatableBuffer$Info.getRelocationSize:()I
            iconst_4
            if_icmpne 38
        36: .line 645
            aload 13 /* bufferBytes */
            iload 3 /* offset */
            lload 11 /* targetValue */
            invokestatic org.graalvm.compiler.core.common.NumUtil.safeToInt:(J)I
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        37: .line 646
            goto 60
        38: .line 647
      StackMap locals:
      StackMap stack:
            new java.lang.Exception
            dup
            invokespecial java.lang.Exception.<init>:()V
            invokevirtual java.lang.Exception.printStackTrace:()V
        39: .line 648
            new java.lang.StringBuilder
            dup
            ldc "Unsupported object reference size: "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 4 /* info */
            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: .line 650
            goto 60
      StackMap locals:
      StackMap stack:
        41: aload 5 /* arch */
            instanceof jdk.vm.ci.aarch64.AArch64
            ifeq 60
        42: .line 651
            iconst_0
            istore 14 /* patchValue */
        start local 14 // int patchValue
        43: .line 652
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
            aload 4 /* info */
            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: .line 655
      StackMap locals: int
      StackMap stack:
            lload 11 /* targetValue */
            l2i
            ldc 65535
            iand
            istore 14 /* patchValue */
        45: .line 656
            goto 53
        46: .line 659
      StackMap locals:
      StackMap stack:
            lload 11 /* targetValue */
            bipush 16
            lshr
            l2i
            ldc 65535
            iand
            istore 14 /* patchValue */
        47: .line 660
            goto 53
        48: .line 663
      StackMap locals:
      StackMap stack:
            lload 11 /* targetValue */
            bipush 32
            lshr
            l2i
            ldc 65535
            iand
            istore 14 /* patchValue */
        49: .line 664
            goto 53
        50: .line 666
      StackMap locals:
      StackMap stack:
            lload 11 /* targetValue */
            bipush 48
            lshr
            l2i
            ldc 65535
            iand
            istore 14 /* patchValue */
        51: .line 667
            goto 53
        52: .line 669
      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 /* info */
            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: .line 672
      StackMap locals:
      StackMap stack:
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.$SWITCH_TABLE$com$oracle$objectfile$ObjectFile$RelocationKind:()[I
            aload 4 /* info */
            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: .line 676
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 55
            iload 14 /* patchValue */
            ldc 65535
            iand
            iload 14 /* patchValue */
            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: .line 678
      StackMap locals:
      StackMap stack:
            aload 13 /* bufferBytes */
            iload 3 /* offset */
            invokevirtual java.nio.ByteBuffer.getInt:(I)I
            istore 15 /* originalInst */
        start local 15 // int originalInst
        56: .line 679
            iload 15 /* originalInst */
            iload 14 /* patchValue */
            invokestatic org.graalvm.compiler.asm.aarch64.AArch64Assembler$PatcherUtil.patchMov:(II)I
            istore 16 /* newInst */
        start local 16 // int newInst
        57: .line 680
            aload 13 /* bufferBytes */
            iload 3 /* offset */
            iload 16 /* newInst */
            invokevirtual java.nio.ByteBuffer.putInt:(II)Ljava/nio/ByteBuffer;
            pop
        end local 16 // int newInst
        end local 15 // int originalInst
        end local 14 // int patchValue
        end local 13 // java.nio.ByteBuffer bufferBytes
        end local 11 // long targetValue
        end local 10 // int encShift
        end local 8 // long address
        end local 7 // java.lang.Object object
        58: .line 682
            goto 60
        59: .line 683
      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: .line 685
      StackMap locals:
      StackMap stack:
            return
        end local 6 // java.lang.Object target
        end local 5 // jdk.vm.ci.code.Architecture arch
        end local 4 // com.oracle.svm.hosted.image.RelocatableBuffer$Info info
        end local 3 // int offset
        end local 2 // com.oracle.objectfile.ObjectFile$ProgbitsSectionImpl sectionImpl
        end local 1 // com.oracle.svm.hosted.image.RelocatableBuffer buffer
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // java.lang.reflect.Method m
         0: .line 699
            aload 0 /* m */
            invokestatic com.oracle.svm.core.SubstrateUtil.uniqueShortName:(Ljava/lang/reflect/Member;)Ljava/lang/String;
            areturn
        end local 0 // java.lang.reflect.Method m
      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 // jdk.vm.ci.meta.ResolvedJavaMethod sm
         0: .line 714
            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 /* sm */
            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 // jdk.vm.ci.meta.ResolvedJavaMethod sm
      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 // java.lang.reflect.Method m
         0: .line 729
            aload 0 /* m */
            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 // java.lang.reflect.Method m
      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 // jdk.vm.ci.meta.ResolvedJavaMethod sm
         0: .line 744
            aload 0 /* sm */
            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 // jdk.vm.ci.meta.ResolvedJavaMethod sm
      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 // com.oracle.svm.hosted.image.NativeBootImage this
         0: .line 749
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 1
            aload 0 /* this */
            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: .line 755
      StackMap locals:
      StackMap stack:
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.objectFile:Lcom/oracle/objectfile/ObjectFile;
            areturn
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
         0: .line 759
            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: .line 761
            aload 0 /* this */
            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: .line 763
            aload 0 /* this */
            aload 1 /* partitions */
            invokevirtual com.oracle.svm.hosted.image.NativeBootImage.printHistogram:([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
         3: .line 765
      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: .line 766
            aload 1 /* partitions */
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.printSizes:([Lcom/oracle/svm/core/image/ImageHeapPartition;)V
         5: .line 768
      StackMap locals:
      StackMap stack:
            return
        end local 1 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
         0: .line 771
            aload 1 /* partitions */
            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 /* partition */
        start local 2 // com.oracle.svm.core.image.ImageHeapPartition partition
         2: .line 772
            aload 2 /* partition */
            aload 0 /* this */
            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 // com.oracle.svm.core.image.ImageHeapPartition partition
         3: .line 771
            iinc 3 1
      StackMap locals:
      StackMap stack:
         4: iload 3
            iload 4
            if_icmplt 1
         5: .line 774
            return
        end local 1 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
         0: .line 777
            aload 0 /* partitions */
            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 /* partition */
        start local 1 // com.oracle.svm.core.image.ImageHeapPartition partition
         2: .line 778
            aload 1 /* partition */
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.printSize:(Lcom/oracle/svm/core/image/ImageHeapPartition;)V
        end local 1 // com.oracle.svm.core.image.ImageHeapPartition partition
         3: .line 777
            iinc 2 1
      StackMap locals:
      StackMap stack:
         4: iload 2
            iload 3
            if_icmplt 1
         5: .line 780
            return
        end local 0 // com.oracle.svm.core.image.ImageHeapPartition[] partitions
      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 // com.oracle.svm.core.image.ImageHeapPartition partition
        start local 1 // java.lang.Iterable objects
         0: .line 783
            new com.oracle.svm.hosted.image.HeapHistogram
            dup
            invokespecial com.oracle.svm.hosted.image.HeapHistogram.<init>:()V
            astore 2 /* histogram */
        start local 2 // com.oracle.svm.hosted.image.HeapHistogram histogram
         1: .line 784
            new java.util.HashSet
            dup
            invokespecial java.util.HashSet.<init>:()V
            astore 3 /* uniqueObjectInfo */
        start local 3 // java.util.Set uniqueObjectInfo
         2: .line 786
            lconst_0
            lstore 4 /* uniqueCount */
        start local 4 // long uniqueCount
         3: .line 787
            lconst_0
            lstore 6 /* uniqueSize */
        start local 6 // long uniqueSize
         4: .line 788
            lconst_0
            lstore 8 /* canonicalizedCount */
        start local 8 // long canonicalizedCount
         5: .line 789
            lconst_0
            lstore 10 /* canonicalizedSize */
        start local 10 // long canonicalizedSize
         6: .line 790
            aload 1 /* objects */
            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 /* info */
        start local 12 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo info
         8: .line 791
            aload 0 /* partition */
            aload 12 /* info */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getPartition:()Lcom/oracle/svm/core/image/ImageHeapPartition;
            if_acmpne 16
         9: .line 792
            aload 3 /* uniqueObjectInfo */
            aload 12 /* info */
            invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
            ifeq 14
        10: .line 793
            aload 2 /* histogram */
            aload 12 /* info */
            aload 12 /* info */
            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: .line 794
            lload 4 /* uniqueCount */
            lconst_1
            ladd
            lstore 4 /* uniqueCount */
        12: .line 795
            lload 6 /* uniqueSize */
            aload 12 /* info */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getSize:()J
            ladd
            lstore 6 /* uniqueSize */
        13: .line 796
            goto 16
        14: .line 797
      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 /* canonicalizedCount */
            lconst_1
            ladd
            lstore 8 /* canonicalizedCount */
        15: .line 798
            lload 10 /* canonicalizedSize */
            aload 12 /* info */
            invokevirtual com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo.getSize:()J
            ladd
            lstore 10 /* canonicalizedSize */
        end local 12 // com.oracle.svm.hosted.image.NativeImageHeap$ObjectInfo info
        16: .line 790
      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: .line 803
            lload 4 /* uniqueCount */
            lload 8 /* canonicalizedCount */
            ladd
            lstore 12 /* nonuniqueCount */
        start local 12 // long nonuniqueCount
        18: .line 804
            lload 6 /* uniqueSize */
            lload 10 /* canonicalizedSize */
            ladd
            lstore 14 /* nonuniqueSize */
        start local 14 // long nonuniqueSize
        19: .line 805
            getstatic com.oracle.svm.hosted.image.NativeBootImage.$assertionsDisabled:Z
            ifne 20
            aload 0 /* partition */
            invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
            lload 14 /* nonuniqueSize */
            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: .line 807
      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 /* uniqueCount */
            l2d
            lload 12 /* nonuniqueCount */
            l2d
            ddiv
            dmul
            dstore 16 /* countPercent */
        start local 16 // double countPercent
        21: .line 808
            ldc 100.0
            lload 6 /* uniqueSize */
            l2d
            lload 14 /* nonuniqueSize */
            l2d
            ddiv
            dmul
            dstore 18 /* sizePercent */
        start local 18 // double sizePercent
        22: .line 809
            ldc 100.0
            dconst_1
            aload 0 /* partition */
            invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
            l2d
            lload 14 /* nonuniqueSize */
            l2d
            ddiv
            dsub
            dmul
            dstore 20 /* sizeOverheadPercent */
        start local 20 // double sizeOverheadPercent
        23: .line 810
            aload 2 /* histogram */
            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: .line 811
            aload 0 /* partition */
            invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
        25: .line 812
            lload 4 /* uniqueCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_2
            lload 12 /* nonuniqueCount */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_3
            dload 16 /* countPercent */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            iconst_4
        26: .line 813
            lload 6 /* uniqueSize */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            iconst_5
            lload 14 /* nonuniqueSize */
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 6
            dload 18 /* sizePercent */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
            dup
            bipush 7
        27: .line 814
            aload 0 /* partition */
            invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getSize:()J
            invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
            aastore
            dup
            bipush 8
            dload 20 /* sizeOverheadPercent */
            invokestatic java.lang.Double.valueOf:(D)Ljava/lang/Double;
            aastore
        28: .line 810
            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: .line 815
            aload 2 /* histogram */
            invokevirtual com.oracle.svm.hosted.image.HeapHistogram.print:()V
        30: .line 816
            return
        end local 20 // double sizeOverheadPercent
        end local 18 // double sizePercent
        end local 16 // double countPercent
        end local 14 // long nonuniqueSize
        end local 12 // long nonuniqueCount
        end local 10 // long canonicalizedSize
        end local 8 // long canonicalizedCount
        end local 6 // long uniqueSize
        end local 4 // long uniqueCount
        end local 3 // java.util.Set uniqueObjectInfo
        end local 2 // com.oracle.svm.hosted.image.HeapHistogram histogram
        end local 1 // java.lang.Iterable objects
        end local 0 // com.oracle.svm.core.image.ImageHeapPartition partition
      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 // com.oracle.svm.core.image.ImageHeapPartition partition
         0: .line 819
            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 /* partition */
            invokeinterface com.oracle.svm.core.image.ImageHeapPartition.getName:()Ljava/lang/String;
            aastore
            dup
            iconst_1
            aload 0 /* partition */
            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: .line 820
            return
        end local 0 // com.oracle.svm.core.image.ImageHeapPartition partition
      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: .line 122
            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 // com.oracle.svm.hosted.image.NativeBootImage this
         0: .line 165
            aload 0 /* this */
            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: .line 166
            return
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.meta.HostedMethod m
         0: .line 183
            aload 0 /* m */
            invokestatic com.oracle.svm.hosted.image.NativeBootImage.cHeader:(Lcom/oracle/svm/hosted/meta/HostedMethod;)Ljava/lang/Class;
            aload 0 /* m */
            invokestatic org.graalvm.collections.Pair.create:(Ljava/lang/Object;Ljava/lang/Object;)Lorg/graalvm/collections/Pair;
            areturn
        end local 0 // com.oracle.svm.hosted.meta.HostedMethod m
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 4 // java.lang.Class headerClass
        start local 5 // java.util.List methods
         0: .line 187
            aload 5 /* methods */
            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: .line 188
            aload 4 /* headerClass */
            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 /* headerClass */
            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 /* header */
        start local 6 // com.oracle.svm.core.c.CHeader$Header header
         4: .line 189
            aload 0 /* this */
            aload 2
            aload 6 /* header */
            aload 5 /* methods */
            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 // com.oracle.svm.core.c.CHeader$Header header
         5: .line 190
            return
        end local 5 // java.util.List methods
        end local 4 // java.lang.Class headerClass
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 lambda$8(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 // com.oracle.svm.core.c.CHeader$Header depHeader
         0: .line 207
            new java.lang.StringBuilder
            dup
            ldc "<"
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* depHeader */
            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 // com.oracle.svm.core.c.CHeader$Header depHeader
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 3 // com.oracle.svm.hosted.meta.HostedMethod m
         0: .line 225
            aload 0 /* this */
            aload 3 /* m */
            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 // com.oracle.svm.hosted.meta.HostedMethod m
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // java.lang.String l
         0: .line 308
            aload 0
            new java.lang.StringBuilder
            dup
            ldc " * "
            invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
            aload 1 /* l */
            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 // java.lang.String l
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.lang.Integer offset
        start local 2 // java.lang.String symbolName
         0: .line 445
            aload 0 /* this */
            aload 2 /* symbolName */
            aload 0 /* this */
            getfield com.oracle.svm.hosted.image.NativeBootImage.rwDataSection:Lcom/oracle/objectfile/ObjectFile$Section;
            aload 1 /* offset */
            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 // java.lang.String symbolName
        end local 1 // java.lang.Integer offset
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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 // com.oracle.svm.hosted.image.NativeBootImage this
        start local 1 // java.lang.Integer offset
        start local 2 // java.lang.String symbolName
         0: .line 446
            aload 0 /* this */
            aload 2 /* symbolName */
            aload 1 /* offset */
            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 // java.lang.String symbolName
        end local 1 // java.lang.Integer offset
        end local 0 // com.oracle.svm.hosted.image.NativeBootImage this
      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