class jdk.internal.foreign.abi.SharedUtils$AllocHolder
  minor version: 0
  major version: 59
  flags: flags: (0x0020) ACC_SUPER
  this_class: jdk.internal.foreign.abi.SharedUtils$AllocHolder
  super_class: java.lang.Object
{
  static final jdk.incubator.foreign.LibraryLookup LOOKUP;
    descriptor: Ljdk/incubator/foreign/LibraryLookup;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.MethodHandle MH_MALLOC;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static final java.lang.invoke.MethodHandle MH_FREE;
    descriptor: Ljava/lang/invoke/MethodHandle;
    flags: (0x0018) ACC_STATIC, ACC_FINAL

  static void <clinit>();
    descriptor: ()V
    flags: (0x0008) ACC_STATIC
    Code:
      stack=8, locals=0, args_size=0
         0: .line 270
            invokestatic jdk.incubator.foreign.LibraryLookup.ofDefault:()Ljdk/incubator/foreign/LibraryLookup;
            putstatic jdk.internal.foreign.abi.SharedUtils$AllocHolder.LOOKUP:Ljdk/incubator/foreign/LibraryLookup;
         1: .line 272
            invokestatic jdk.internal.foreign.abi.SharedUtils.getSystemLinker:()Ljdk/incubator/foreign/CLinker;
            getstatic jdk.internal.foreign.abi.SharedUtils$AllocHolder.LOOKUP:Ljdk/incubator/foreign/LibraryLookup;
            ldc "malloc"
            invokeinterface jdk.incubator.foreign.LibraryLookup.lookup:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast jdk.incubator.foreign.Addressable
         2: .line 273
            ldc Ljdk/incubator/foreign/MemoryAddress;
            getstatic java.lang.Long.TYPE:Ljava/lang/Class;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
         3: .line 274
            getstatic jdk.incubator.foreign.CLinker.C_POINTER:Ljdk/incubator/foreign/ValueLayout;
            iconst_1
            anewarray jdk.incubator.foreign.MemoryLayout
            dup
            iconst_0
            getstatic jdk.incubator.foreign.CLinker.C_LONG_LONG:Ljdk/incubator/foreign/ValueLayout;
            aastore
            invokestatic jdk.incubator.foreign.FunctionDescriptor.of:(Ljdk/incubator/foreign/MemoryLayout;[Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor;
         4: .line 272
            invokeinterface jdk.incubator.foreign.CLinker.downcallHandle:(Ljdk/incubator/foreign/Addressable;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.internal.foreign.abi.SharedUtils$AllocHolder.MH_MALLOC:Ljava/lang/invoke/MethodHandle;
         5: .line 276
            invokestatic jdk.internal.foreign.abi.SharedUtils.getSystemLinker:()Ljdk/incubator/foreign/CLinker;
            getstatic jdk.internal.foreign.abi.SharedUtils$AllocHolder.LOOKUP:Ljdk/incubator/foreign/LibraryLookup;
            ldc "free"
            invokeinterface jdk.incubator.foreign.LibraryLookup.lookup:(Ljava/lang/String;)Ljava/util/Optional;
            invokevirtual java.util.Optional.get:()Ljava/lang/Object;
            checkcast jdk.incubator.foreign.Addressable
         6: .line 277
            getstatic java.lang.Void.TYPE:Ljava/lang/Class;
            ldc Ljdk/incubator/foreign/MemoryAddress;
            invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
            iconst_1
            anewarray jdk.incubator.foreign.MemoryLayout
            dup
            iconst_0
         7: .line 278
            getstatic jdk.incubator.foreign.CLinker.C_POINTER:Ljdk/incubator/foreign/ValueLayout;
            aastore
            invokestatic jdk.incubator.foreign.FunctionDescriptor.ofVoid:([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/FunctionDescriptor;
         8: .line 276
            invokeinterface jdk.incubator.foreign.CLinker.downcallHandle:(Ljdk/incubator/foreign/Addressable;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle;
            putstatic jdk.internal.foreign.abi.SharedUtils$AllocHolder.MH_FREE:Ljava/lang/invoke/MethodHandle;
         9: .line 278
            return
      LocalVariableTable:
        Start  End  Slot  Name  Signature

  private void <init>();
    descriptor: ()V
    flags: (0x0002) ACC_PRIVATE
    Code:
      stack=1, locals=1, args_size=1
        start local 0 // jdk.internal.foreign.abi.SharedUtils$AllocHolder this
         0: .line 268
            aload 0 /* this */
            invokespecial java.lang.Object.<init>:()V
            return
        end local 0 // jdk.internal.foreign.abi.SharedUtils$AllocHolder this
      LocalVariableTable:
        Start  End  Slot  Name  Signature
            0    1     0  this  Ljdk/internal/foreign/abi/SharedUtils$AllocHolder;
}
SourceFile: "SharedUtils.java"
NestHost: jdk.internal.foreign.abi.SharedUtils
InnerClasses:
  public abstract Symbol = jdk.incubator.foreign.LibraryLookup$Symbol of jdk.incubator.foreign.LibraryLookup
  private AllocHolder = jdk.internal.foreign.abi.SharedUtils$AllocHolder of jdk.internal.foreign.abi.SharedUtils