public class com.oracle.svm.core.JavaMainWrapper
  minor version: 0
  major version: 59
  flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
  this_class: com.oracle.svm.core.JavaMainWrapper
  super_class: java.lang.Object
{
  public static final com.oracle.svm.core.c.CGlobalData<com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters> MAIN_ISOLATE_PARAMETERS;
    descriptor: Lcom/oracle/svm/core/c/CGlobalData;
    flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
    Signature: Lcom/oracle/svm/core/c/CGlobalData<Lcom/oracle/svm/core/c/function/CEntryPointCreateIsolateParameters;>;

  private static org.graalvm.word.UnsignedWord argvLength;
    descriptor: Lorg/graalvm/word/UnsignedWord;
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 70
            invokedynamic getAsInt()Ljava/util/function/IntSupplier;
              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:
                  ()I
                  com/oracle/svm/core/JavaMainWrapper.lambda$0()I (6)
                  ()I
            invokestatic com.oracle.svm.core.c.CGlobalDataFactory.createBytes:(Ljava/util/function/IntSupplier;)Lcom/oracle/svm/core/c/CGlobalData;
            putstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
         1: .line 74
            invokestatic org.graalvm.compiler.word.Word.ensureInitialized:()V
         2: .line 76
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            putstatic com.oracle.svm.core.JavaMainWrapper.argvLength:Lorg/graalvm/word/UnsignedWord;
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  public void <init>();
    descriptor: ()V
    flags: (0x0001) ACC_PUBLIC
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // com.oracle.svm.core.JavaMainWrapper this
         0: .line 65
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // com.oracle.svm.core.JavaMainWrapper this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Lcom/oracle/svm/core/JavaMainWrapper;

  public static int runCore();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=2, locals=5, args_size=0
         0: .line 125
            ldc Lcom/oracle/svm/core/SubstrateTargetDescription;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.SubstrateTargetDescription
            getfield com.oracle.svm.core.SubstrateTargetDescription.arch:Ljdk/vm/ci/code/Architecture;
            astore 0 /* imageArchitecture */
        start local 0 // jdk.vm.ci.code.Architecture imageArchitecture
         1: .line 126
            ldc Lcom/oracle/svm/core/CPUFeatureAccess;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.CPUFeatureAccess
            astore 1 /* cpuFeatureAccess */
        start local 1 // com.oracle.svm.core.CPUFeatureAccess cpuFeatureAccess
         2: .line 127
            aload 1 /* cpuFeatureAccess */
            aload 0 /* imageArchitecture */
            invokeinterface com.oracle.svm.core.CPUFeatureAccess.verifyHostSupportsArchitecture:(Ljdk/vm/ci/code/Architecture;)V
         3: .line 131
            getstatic com.oracle.svm.core.SubstrateOptions.ParseRuntimeOptions: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 137
            invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
            invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.executeStartupHooks:()V
         5: .line 145
      StackMap locals: jdk.vm.ci.code.Architecture com.oracle.svm.core.CPUFeatureAccess
      StackMap stack:
            ldc Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
            invokestatic org.graalvm.nativeimage.ImageSingletons.lookup:(Ljava/lang/Class;)Ljava/lang/Object;
            checkcast com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
            astore 3 /* mainSupport */
        start local 3 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport mainSupport
         6: .line 146
            aload 3 /* mainSupport */
            getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.javaMainHandle:Ljava/lang/invoke/MethodHandle;
            aload 3 /* mainSupport */
            getfield com.oracle.svm.core.JavaMainWrapper$JavaMainSupport.mainArgs:[Ljava/lang/String;
            invokevirtual java.lang.invoke.MethodHandle.invokeExact:([Ljava/lang/String;)V
         7: .line 149
            iconst_0
            istore 2 /* exitCode */
        end local 3 // com.oracle.svm.core.JavaMainWrapper$JavaMainSupport mainSupport
        start local 2 // int exitCode
         8: .line 151
            goto 20
        end local 2 // int exitCode
      StackMap locals:
      StackMap stack: java.lang.Throwable
         9: astore 3 /* ex */
        start local 3 // java.lang.Throwable ex
        10: .line 152
            invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
            aload 3 /* ex */
            invokestatic com.oracle.svm.core.thread.JavaThreads.dispatchUncaughtException:(Ljava/lang/Thread;Ljava/lang/Throwable;)V
        11: .line 159
            iconst_1
            istore 2 /* exitCode */
        end local 3 // java.lang.Throwable ex
        start local 2 // int exitCode
        12: .line 165
            invokestatic com.oracle.svm.core.thread.JavaThreads.singleton:()Lcom/oracle/svm/core/thread/JavaThreads;
            invokevirtual com.oracle.svm.core.thread.JavaThreads.joinAllNonDaemons:()V
        13: .line 171
            invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
            invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.shutdown:()V
        14: .line 173
            invokestatic com.oracle.svm.core.util.Counter.logValues:()V
            goto 23
        end local 2 // int exitCode
        15: .line 161
      StackMap locals:
      StackMap stack: java.lang.Throwable
            astore 4
        16: .line 165
            invokestatic com.oracle.svm.core.thread.JavaThreads.singleton:()Lcom/oracle/svm/core/thread/JavaThreads;
            invokevirtual com.oracle.svm.core.thread.JavaThreads.joinAllNonDaemons:()V
        17: .line 171
            invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
            invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.shutdown:()V
        18: .line 173
            invokestatic com.oracle.svm.core.util.Counter.logValues:()V
        19: .line 174
            aload 4
            athrow
        start local 2 // int exitCode
        20: .line 165
      StackMap locals: int
      StackMap stack:
            invokestatic com.oracle.svm.core.thread.JavaThreads.singleton:()Lcom/oracle/svm/core/thread/JavaThreads;
            invokevirtual com.oracle.svm.core.thread.JavaThreads.joinAllNonDaemons:()V
        21: .line 171
            invokestatic com.oracle.svm.core.jdk.RuntimeSupport.getRuntimeSupport:()Lcom/oracle/svm/core/jdk/RuntimeSupport;
            invokevirtual com.oracle.svm.core.jdk.RuntimeSupport.shutdown:()V
        22: .line 173
            invokestatic com.oracle.svm.core.util.Counter.logValues:()V
        23: .line 175
      StackMap locals:
      StackMap stack:
            iload 2 /* exitCode */
            ireturn
        end local 2 // int exitCode
        end local 1 // com.oracle.svm.core.CPUFeatureAccess cpuFeatureAccess
        end local 0 // jdk.vm.ci.code.Architecture imageArchitecture
      LocalVariableTable:
        Start  End  Slot               Name  Signature
            1   24     0  imageArchitecture  Ljdk/vm/ci/code/Architecture;
            2   24     1   cpuFeatureAccess  Lcom/oracle/svm/core/CPUFeatureAccess;
            8    9     2           exitCode  I
           12   15     2           exitCode  I
           20   24     2           exitCode  I
            6    8     3        mainSupport  Lcom/oracle/svm/core/JavaMainWrapper$JavaMainSupport;
           10   12     3                 ex  Ljava/lang/Throwable;
      Exception table:
        from    to  target  type
           3     8       9  Class java.lang.Throwable
           3    12      15  any
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.annotate.AlwaysInline(value = "Single callee from the main entry point.")

  public static int run(int, org.graalvm.nativeimage.c.type.CCharPointerPointer);
    descriptor: (ILorg/graalvm/nativeimage/c/type/CCharPointerPointer;)I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=1, locals=2, args_size=2
        start local 0 // int argc
        start local 1 // org.graalvm.nativeimage.c.type.CCharPointerPointer argv
         0: .line 182
            invokestatic com.oracle.svm.core.JavaMainWrapper.runCore:()I
            ireturn
        end local 1 // org.graalvm.nativeimage.c.type.CCharPointerPointer argv
        end local 0 // int argc
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  argc  I
            0    1     1  argv  Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
    RuntimeVisibleAnnotations: 
      org.graalvm.nativeimage.c.function.CEntryPoint()
      com.oracle.svm.core.c.function.CEntryPointOptions(prologue = Lcom/oracle/svm/core/JavaMainWrapper$EnterCreateIsolateWithCArgumentsPrologue;, include = Lcom/oracle/svm/core/c/function/CEntryPointOptions$NotIncludedAutomatically;)
    MethodParameters:
      Name  Flags
      argc  
      argv  

  private static boolean isArgumentBlockSupported();
    descriptor: ()Z
    flags: (0x000a) ACC_PRIVATE, ACC_STATIC
    Code:
      stack=1, locals=1, args_size=0
         0: .line 186
            ldc Lorg/graalvm/nativeimage/Platform$LINUX;
            invokestatic org.graalvm.nativeimage.Platform.includedIn:(Ljava/lang/Class;)Z
            ifne 2
            ldc Lorg/graalvm/nativeimage/Platform$DARWIN;
            invokestatic org.graalvm.nativeimage.Platform.includedIn:(Ljava/lang/Class;)Z
            ifne 2
         1: .line 187
            iconst_0
            ireturn
         2: .line 189
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
            astore 0 /* args */
        start local 0 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
         3: .line 190
            aload 0 /* args */
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.isNull:()Z
            ifne 4
            aload 0 /* args */
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgc:()I
            ifgt 5
         4: .line 191
      StackMap locals: com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
      StackMap stack:
            iconst_0
            ireturn
         5: .line 193
      StackMap locals:
      StackMap stack:
            iconst_1
            ireturn
        end local 0 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            3    6     0  args  Lcom/oracle/svm/core/c/function/CEntryPointCreateIsolateParameters;

  public static int getCRuntimeArgumentBlockLength();
    descriptor: ()I
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=4, args_size=0
         0: .line 211
            invokestatic com.oracle.svm.core.JavaMainWrapper.isArgumentBlockSupported:()Z
            ifne 2
         1: .line 212
            iconst_m1
            ireturn
         2: .line 215
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
            astore 0 /* args */
        start local 0 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
         3: .line 216
            aload 0 /* args */
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            iconst_0
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.read:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            astore 1 /* firstArgPos */
        start local 1 // org.graalvm.nativeimage.c.type.CCharPointer firstArgPos
         4: .line 217
            getstatic com.oracle.svm.core.JavaMainWrapper.argvLength:Lorg/graalvm/word/UnsignedWord;
            invokestatic org.graalvm.word.WordFactory.zero:()Lorg/graalvm/word/WordBase;
            checkcast org.graalvm.word.UnsignedWord
            invokeinterface org.graalvm.word.UnsignedWord.equal:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 8
         5: .line 219
            aload 0 /* args */
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            aload 0 /* args */
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgc:()I
            iconst_1
            isub
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.read:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            astore 2 /* lastArgPos */
        start local 2 // org.graalvm.nativeimage.c.type.CCharPointer lastArgPos
         6: .line 221
            aload 2 /* lastArgPos */
            invokestatic com.oracle.svm.core.SubstrateUtil.strlen:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/word/UnsignedWord;
            astore 3 /* lastArgLength */
        start local 3 // org.graalvm.word.UnsignedWord lastArgLength
         7: .line 223
            aload 2 /* lastArgPos */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.rawValue:()J
            invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
            aload 3 /* lastArgLength */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            aload 1 /* firstArgPos */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.rawValue:()J
            invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            putstatic com.oracle.svm.core.JavaMainWrapper.argvLength:Lorg/graalvm/word/UnsignedWord;
        end local 3 // org.graalvm.word.UnsignedWord lastArgLength
        end local 2 // org.graalvm.nativeimage.c.type.CCharPointer lastArgPos
         8: .line 225
      StackMap locals: com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters org.graalvm.nativeimage.c.type.CCharPointer
      StackMap stack:
            getstatic com.oracle.svm.core.JavaMainWrapper.argvLength:Lorg/graalvm/word/UnsignedWord;
            invokeinterface org.graalvm.word.UnsignedWord.rawValue:()J
            invokestatic java.lang.Math.toIntExact:(J)I
            ireturn
        end local 1 // org.graalvm.nativeimage.c.type.CCharPointer firstArgPos
        end local 0 // com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters args
      LocalVariableTable:
        Start  End  Slot           Name  Signature
            3    9     0           args  Lcom/oracle/svm/core/c/function/CEntryPointCreateIsolateParameters;
            4    9     1    firstArgPos  Lorg/graalvm/nativeimage/c/type/CCharPointer;
            6    8     2     lastArgPos  Lorg/graalvm/nativeimage/c/type/CCharPointer;
            7    8     3  lastArgLength  Lorg/graalvm/word/UnsignedWord;

  public static boolean setCRuntimeArgument0(java.lang.String);
    descriptor: (Ljava/lang/String;)Z
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=10, args_size=1
        start local 0 // java.lang.String arg0
         0: .line 229
            invokestatic com.oracle.svm.core.JavaMainWrapper.isArgumentBlockSupported:()Z
            ifne 2
         1: .line 230
            new java.lang.UnsupportedOperationException
            dup
            ldc "Argument vector support not available"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 232
      StackMap locals:
      StackMap stack:
            iconst_0
            istore 1 /* arg0truncation */
        start local 1 // boolean arg0truncation
         3: .line 234
            aconst_null
            astore 2
            aconst_null
            astore 3
         4: aload 0 /* arg0 */
            invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toCString:(Ljava/lang/CharSequence;)Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
            astore 4 /* arg0Pin */
        start local 4 // org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder arg0Pin
         5: .line 235
            aload 4 /* arg0Pin */
            invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.get:()Lorg/graalvm/nativeimage/c/type/CCharPointer;
            astore 5 /* arg0Pointer */
        start local 5 // org.graalvm.nativeimage.c.type.CCharPointer arg0Pointer
         6: .line 236
            aload 5 /* arg0Pointer */
            invokestatic com.oracle.svm.core.SubstrateUtil.strlen:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Lorg/graalvm/word/UnsignedWord;
            astore 6 /* arg0Length */
        start local 6 // org.graalvm.word.UnsignedWord arg0Length
         7: .line 238
            invokestatic com.oracle.svm.core.JavaMainWrapper.getCRuntimeArgumentBlockLength:()I
            invokestatic org.graalvm.word.WordFactory.unsigned:(I)Lorg/graalvm/word/UnsignedWord;
            astore 7 /* origLength */
        start local 7 // org.graalvm.word.UnsignedWord origLength
         8: .line 239
            aload 7 /* origLength */
            astore 8 /* newArgLength */
        start local 8 // org.graalvm.word.UnsignedWord newArgLength
         9: .line 240
            aload 6 /* arg0Length */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            aload 7 /* origLength */
            invokeinterface org.graalvm.word.UnsignedWord.belowThan:(Lorg/graalvm/word/UnsignedWord;)Z
            ifeq 11
        10: .line 241
            aload 6 /* arg0Length */
            iconst_1
            invokeinterface org.graalvm.word.UnsignedWord.add:(I)Lorg/graalvm/word/UnsignedWord;
            astore 8 /* newArgLength */
        11: .line 243
      StackMap locals: java.lang.String int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder org.graalvm.nativeimage.c.type.CCharPointer org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord org.graalvm.word.UnsignedWord
      StackMap stack:
            aload 6 /* arg0Length */
            aload 7 /* origLength */
            invokeinterface org.graalvm.word.UnsignedWord.aboveThan:(Lorg/graalvm/word/UnsignedWord;)Z
            istore 1 /* arg0truncation */
        12: .line 245
            getstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            iconst_0
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.read:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            astore 9 /* firstArgPos */
        start local 9 // org.graalvm.nativeimage.c.type.CCharPointer firstArgPos
        13: .line 247
            aload 5 /* arg0Pointer */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.rawValue:()J
            invokestatic org.graalvm.word.WordFactory.pointer:(J)Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            aload 9 /* firstArgPos */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.rawValue:()J
            invokestatic org.graalvm.word.WordFactory.pointer:(J)Lorg/graalvm/word/PointerBase;
            checkcast org.graalvm.word.Pointer
            aload 8 /* newArgLength */
            invokestatic com.oracle.svm.core.MemoryUtil.copyConjointMemoryAtomic:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;)V
        14: .line 249
            aload 9 /* firstArgPos */
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointer.rawValue:()J
            invokestatic org.graalvm.word.WordFactory.unsigned:(J)Lorg/graalvm/word/UnsignedWord;
            aload 8 /* newArgLength */
            invokeinterface org.graalvm.word.UnsignedWord.add:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            checkcast org.graalvm.word.Pointer
            aload 7 /* origLength */
            aload 8 /* newArgLength */
            invokeinterface org.graalvm.word.UnsignedWord.subtract:(Lorg/graalvm/word/UnsignedWord;)Lorg/graalvm/word/UnsignedWord;
            iconst_0
            invokestatic com.oracle.svm.core.MemoryUtil.fillToMemoryAtomic:(Lorg/graalvm/word/Pointer;Lorg/graalvm/word/UnsignedWord;B)V
        end local 9 // org.graalvm.nativeimage.c.type.CCharPointer firstArgPos
        end local 8 // org.graalvm.word.UnsignedWord newArgLength
        end local 7 // org.graalvm.word.UnsignedWord origLength
        end local 6 // org.graalvm.word.UnsignedWord arg0Length
        end local 5 // org.graalvm.nativeimage.c.type.CCharPointer arg0Pointer
        15: .line 250
            aload 4 /* arg0Pin */
            ifnull 21
            aload 4 /* arg0Pin */
            invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
            goto 21
      StackMap locals: java.lang.String int java.lang.Throwable java.lang.Throwable org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder
      StackMap stack: java.lang.Throwable
        16: astore 2
            aload 4 /* arg0Pin */
            ifnull 17
            aload 4 /* arg0Pin */
            invokeinterface org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder.close:()V
        end local 4 // org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder arg0Pin
      StackMap locals:
      StackMap stack:
        17: aload 2
            athrow
      StackMap locals:
      StackMap stack: java.lang.Throwable
        18: astore 3
            aload 2
            ifnonnull 19
            aload 3
            astore 2
            goto 20
      StackMap locals:
      StackMap stack:
        19: aload 2
            aload 3
            if_acmpeq 20
            aload 2
            aload 3
            invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
      StackMap locals:
      StackMap stack:
        20: aload 2
            athrow
        21: .line 253
      StackMap locals:
      StackMap stack:
            iload 1 /* arg0truncation */
            ireturn
        end local 1 // boolean arg0truncation
        end local 0 // java.lang.String arg0
      LocalVariableTable:
        Start  End  Slot            Name  Signature
            0   22     0            arg0  Ljava/lang/String;
            3   22     1  arg0truncation  Z
            5   17     4         arg0Pin  Lorg/graalvm/nativeimage/c/type/CTypeConversion$CCharPointerHolder;
            6   15     5     arg0Pointer  Lorg/graalvm/nativeimage/c/type/CCharPointer;
            7   15     6      arg0Length  Lorg/graalvm/word/UnsignedWord;
            8   15     7      origLength  Lorg/graalvm/word/UnsignedWord;
            9   15     8    newArgLength  Lorg/graalvm/word/UnsignedWord;
           13   15     9     firstArgPos  Lorg/graalvm/nativeimage/c/type/CCharPointer;
      Exception table:
        from    to  target  type
           5    15      16  any
           4    18      18  any
    MethodParameters:
      Name  Flags
      arg0  

  public static java.lang.String getCRuntimeArgument0();
    descriptor: ()Ljava/lang/String;
    flags: (0x0009) ACC_PUBLIC, ACC_STATIC
    Code:
      stack=3, locals=0, args_size=0
         0: .line 257
            invokestatic com.oracle.svm.core.JavaMainWrapper.isArgumentBlockSupported:()Z
            ifne 2
         1: .line 258
            new java.lang.UnsupportedOperationException
            dup
            ldc "Argument vector support not available"
            invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
            athrow
         2: .line 260
      StackMap locals:
      StackMap stack:
            getstatic com.oracle.svm.core.JavaMainWrapper.MAIN_ISOLATE_PARAMETERS:Lcom/oracle/svm/core/c/CGlobalData;
            invokevirtual com.oracle.svm.core.c.CGlobalData.get:()Lorg/graalvm/word/PointerBase;
            checkcast com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters
            invokeinterface com.oracle.svm.core.c.function.CEntryPointCreateIsolateParameters.getArgv:()Lorg/graalvm/nativeimage/c/type/CCharPointerPointer;
            iconst_0
            invokeinterface org.graalvm.nativeimage.c.type.CCharPointerPointer.read:(I)Lorg/graalvm/nativeimage/c/type/CCharPointer;
            invokestatic org.graalvm.nativeimage.c.type.CTypeConversion.toJavaString:(Lorg/graalvm/nativeimage/c/type/CCharPointer;)Ljava/lang/String;
            areturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private static int lambda$0();
    descriptor: ()I
    flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
    Code:
      stack=1, locals=0, args_size=0
         0: .line 70
            ldc Lcom/oracle/svm/core/c/function/CEntryPointCreateIsolateParameters;
            invokestatic org.graalvm.nativeimage.c.struct.SizeOf.get:(Ljava/lang/Class;)I
            ireturn
      LocalVariableTable:
        Start  End  Slot  Name  Signature
}
SourceFile: "JavaMainWrapper.java"
NestMembers:
  com.oracle.svm.core.JavaMainWrapper$EnterCreateIsolateWithCArgumentsPrologue  com.oracle.svm.core.JavaMainWrapper$JavaMainSupport
InnerClasses:
  private EnterCreateIsolateWithCArgumentsPrologue = com.oracle.svm.core.JavaMainWrapper$EnterCreateIsolateWithCArgumentsPrologue of com.oracle.svm.core.JavaMainWrapper
  public JavaMainSupport = com.oracle.svm.core.JavaMainWrapper$JavaMainSupport of com.oracle.svm.core.JavaMainWrapper
  public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
  public abstract DARWIN = org.graalvm.nativeimage.Platform$DARWIN of org.graalvm.nativeimage.Platform
  public abstract LINUX = org.graalvm.nativeimage.Platform$LINUX of org.graalvm.nativeimage.Platform
  public abstract CCharPointerHolder = org.graalvm.nativeimage.c.type.CTypeConversion$CCharPointerHolder of org.graalvm.nativeimage.c.type.CTypeConversion
    RuntimeVisibleAnnotations: 
      com.oracle.svm.core.jdk.InternalVMMethod()