public abstract class jdk.internal.foreign.abi.Binding
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.internal.foreign.abi.Binding
super_class: java.lang.Object
{
private static final java.lang.invoke.MethodHandle MH_UNBOX_ADDRESS;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MH_BOX_ADDRESS;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MH_BASE_ADDRESS;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MH_COPY_BUFFER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MH_ALLOCATE_BUFFER;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.invoke.MethodHandle MH_TO_SEGMENT;
descriptor: Ljava/lang/invoke/MethodHandle;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private final jdk.internal.foreign.abi.Binding$Tag tag;
descriptor: Ljdk/internal/foreign/abi/Binding$Tag;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=9, locals=1, args_size=0
0: ldc Ljdk/internal/foreign/abi/Binding;
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 jdk.internal.foreign.abi.Binding.$assertionsDisabled:Z
3: invokestatic java.lang.invoke.MethodHandles.lookup:()Ljava/lang/invoke/MethodHandles$Lookup;
astore 0
start local 0 4: aload 0
ldc Ljdk/incubator/foreign/MemoryAddress;
ldc "toRawLongValue"
5: getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
6: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_UNBOX_ADDRESS:Ljava/lang/invoke/MethodHandle;
7: aload 0
ldc Ljdk/incubator/foreign/MemoryAddress;
ldc "ofLong"
8: 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;
9: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_BOX_ADDRESS:Ljava/lang/invoke/MethodHandle;
10: aload 0
ldc Ljdk/incubator/foreign/MemorySegment;
ldc "address"
11: ldc Ljdk/incubator/foreign/MemoryAddress;
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
12: invokevirtual java.lang.invoke.MethodHandles$Lookup.findVirtual:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_BASE_ADDRESS:Ljava/lang/invoke/MethodHandle;
13: aload 0
ldc Ljdk/internal/foreign/abi/Binding$Copy;
ldc "copyBuffer"
14: ldc Ljdk/incubator/foreign/MemorySegment;
ldc Ljdk/incubator/foreign/MemorySegment;
iconst_3
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
iconst_2
ldc Ljdk/internal/foreign/abi/SharedUtils$Allocator;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
15: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_COPY_BUFFER:Ljava/lang/invoke/MethodHandle;
16: aload 0
ldc Ljdk/internal/foreign/abi/Binding$Allocate;
ldc "allocateBuffer"
17: ldc Ljdk/incubator/foreign/MemorySegment;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
iconst_2
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
dup
iconst_1
ldc Ljdk/internal/foreign/abi/SharedUtils$Allocator;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
18: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_ALLOCATE_BUFFER:Ljava/lang/invoke/MethodHandle;
19: aload 0
ldc Ljdk/internal/foreign/abi/Binding$ToSegment;
ldc "toSegment"
20: ldc Ljdk/incubator/foreign/MemorySegment;
ldc Ljdk/incubator/foreign/MemoryAddress;
iconst_1
anewarray java.lang.Class
dup
iconst_0
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
aastore
invokestatic java.lang.invoke.MethodType.methodType:(Ljava/lang/Class;Ljava/lang/Class;[Ljava/lang/Class;)Ljava/lang/invoke/MethodType;
21: invokevirtual java.lang.invoke.MethodHandles$Lookup.findStatic:(Ljava/lang/Class;Ljava/lang/String;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/MethodHandle;
putstatic jdk.internal.foreign.abi.Binding.MH_TO_SEGMENT:Ljava/lang/invoke/MethodHandle;
end local 0 22: goto 25
StackMap locals:
StackMap stack: java.lang.ReflectiveOperationException
23: astore 0
start local 0 24: new java.lang.RuntimeException
dup
aload 0
invokespecial java.lang.RuntimeException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 0 25: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
4 22 0 lookup Ljava/lang/invoke/MethodHandles$Lookup;
24 25 0 e Ljava/lang/ReflectiveOperationException;
Exception table:
from to target type
3 22 23 Class java.lang.ReflectiveOperationException
private void <init>(jdk.internal.foreign.abi.Binding$Tag);
descriptor: (Ljdk/internal/foreign/abi/Binding$Tag;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield jdk.internal.foreign.abi.Binding.tag:Ljdk/internal/foreign/abi/Binding$Tag;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/foreign/abi/Binding;
0 3 1 tag Ljdk/internal/foreign/abi/Binding$Tag;
MethodParameters:
Name Flags
tag
public jdk.internal.foreign.abi.Binding$Tag tag();
descriptor: ()Ljdk/internal/foreign/abi/Binding$Tag;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.abi.Binding.tag:Ljdk/internal/foreign/abi/Binding$Tag;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/abi/Binding;
public abstract void verify(java.util.Deque<java.lang.Class<?>>);
descriptor: (Ljava/util/Deque;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/util/Deque<Ljava/lang/Class<*>;>;)V
MethodParameters:
Name Flags
stack
public abstract void interpret(java.util.Deque<java.lang.Object>, jdk.internal.foreign.abi.BindingInterpreter$StoreFunc, jdk.internal.foreign.abi.BindingInterpreter$LoadFunc, jdk.internal.foreign.abi.SharedUtils$Allocator);
descriptor: (Ljava/util/Deque;Ljdk/internal/foreign/abi/BindingInterpreter$StoreFunc;Ljdk/internal/foreign/abi/BindingInterpreter$LoadFunc;Ljdk/internal/foreign/abi/SharedUtils$Allocator;)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: (Ljava/util/Deque<Ljava/lang/Object;>;Ljdk/internal/foreign/abi/BindingInterpreter$StoreFunc;Ljdk/internal/foreign/abi/BindingInterpreter$LoadFunc;Ljdk/internal/foreign/abi/SharedUtils$Allocator;)V
MethodParameters:
Name Flags
stack
storeFunc
loadFunc
allocator
public abstract java.lang.invoke.MethodHandle specialize(java.lang.invoke.MethodHandle, int, int);
descriptor: (Ljava/lang/invoke/MethodHandle;II)Ljava/lang/invoke/MethodHandle;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
specializedHandle
insertPos
allocatorPos
private static java.lang.invoke.MethodHandle mergeArguments(java.lang.invoke.MethodHandle, int, int);
descriptor: (Ljava/lang/invoke/MethodHandle;II)Ljava/lang/invoke/MethodHandle;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
astore 3
start local 3 1: aload 3
iload 1
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 4
start local 4 2: aload 3
iload 2
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 5
start local 5 3: aload 4
aload 5
if_acmpeq 5
4: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Parameter types differ: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
ldc " != "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: java.lang.invoke.MethodType java.lang.Class java.lang.Class
StackMap stack:
aload 3
iload 2
iload 2
iconst_1
iadd
invokevirtual java.lang.invoke.MethodType.dropParameterTypes:(II)Ljava/lang/invoke/MethodType;
astore 6
start local 6 6: aload 3
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
newarray 10
astore 7
start local 7 7: getstatic jdk.internal.foreign.abi.Binding.$assertionsDisabled:Z
ifne 8
iload 2
iload 1
if_icmpgt 8
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
8: StackMap locals: java.lang.invoke.MethodType int[]
StackMap stack:
iconst_0
istore 8
start local 8 9: iconst_0
istore 9
start local 9 10: goto 16
11: StackMap locals: int int
StackMap stack:
iload 8
iload 2
if_icmpeq 14
12: aload 7
iload 8
iload 9
iinc 9 1
iastore
13: goto 15
14: StackMap locals:
StackMap stack:
aload 7
iload 8
iload 1
iastore
15: StackMap locals:
StackMap stack:
iinc 8 1
StackMap locals:
StackMap stack:
16: iload 8
aload 7
arraylength
if_icmplt 11
end local 9 end local 8 17: aload 0
aload 6
aload 7
invokestatic java.lang.invoke.MethodHandles.permuteArguments:(Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;[I)Ljava/lang/invoke/MethodHandle;
areturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 mh Ljava/lang/invoke/MethodHandle;
0 18 1 sourceIndex I
0 18 2 destIndex I
1 18 3 oldType Ljava/lang/invoke/MethodType;
2 18 4 sourceType Ljava/lang/Class<*>;
3 18 5 destType Ljava/lang/Class<*>;
6 18 6 newType Ljava/lang/invoke/MethodType;
7 18 7 reorder [I
9 17 8 i I
10 17 9 index I
MethodParameters:
Name Flags
mh
sourceIndex
destIndex
private static void checkType(java.lang.Class<?>);
descriptor: (Ljava/lang/Class;)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual java.lang.Class.isPrimitive:()Z
ifeq 1
aload 0
getstatic java.lang.Void.TYPE:Ljava/lang/Class;
if_acmpeq 1
aload 0
getstatic java.lang.Boolean.TYPE:Ljava/lang/Class;
if_acmpne 2
1: StackMap locals:
StackMap stack:
new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Illegal type: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 type Ljava/lang/Class<*>;
Signature: (Ljava/lang/Class<*>;)V
MethodParameters:
Name Flags
type
private static void checkOffset(long);
descriptor: (J)V
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: lload 0
lconst_0
lcmp
ifge 2
1: new java.lang.IllegalArgumentException
dup
new java.lang.StringBuilder
dup
ldc "Negative offset: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 0
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 offset J
MethodParameters:
Name Flags
offset
public static jdk.internal.foreign.abi.Binding$VMStore vmStore(jdk.internal.foreign.abi.VMStorage, java.lang.Class<?>);
descriptor: (Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)Ljdk/internal/foreign/abi/Binding$VMStore;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.internal.foreign.abi.Binding.checkType:(Ljava/lang/Class;)V
1: new jdk.internal.foreign.abi.Binding$VMStore
dup
aload 0
aload 1
invokespecial jdk.internal.foreign.abi.Binding$VMStore.<init>:(Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 storage Ljdk/internal/foreign/abi/VMStorage;
0 2 1 type Ljava/lang/Class<*>;
Signature: (Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class<*>;)Ljdk/internal/foreign/abi/Binding$VMStore;
MethodParameters:
Name Flags
storage
type
public static jdk.internal.foreign.abi.Binding$VMLoad vmLoad(jdk.internal.foreign.abi.VMStorage, java.lang.Class<?>);
descriptor: (Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)Ljdk/internal/foreign/abi/Binding$VMLoad;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokestatic jdk.internal.foreign.abi.Binding.checkType:(Ljava/lang/Class;)V
1: new jdk.internal.foreign.abi.Binding$VMLoad
dup
aload 0
aload 1
invokespecial jdk.internal.foreign.abi.Binding$VMLoad.<init>:(Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 storage Ljdk/internal/foreign/abi/VMStorage;
0 2 1 type Ljava/lang/Class<*>;
Signature: (Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class<*>;)Ljdk/internal/foreign/abi/Binding$VMLoad;
MethodParameters:
Name Flags
storage
type
public static jdk.internal.foreign.abi.Binding$BufferStore bufferStore(long, java.lang.Class<?>);
descriptor: (JLjava/lang/Class;)Ljdk/internal/foreign/abi/Binding$BufferStore;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: aload 2
invokestatic jdk.internal.foreign.abi.Binding.checkType:(Ljava/lang/Class;)V
1: lload 0
invokestatic jdk.internal.foreign.abi.Binding.checkOffset:(J)V
2: new jdk.internal.foreign.abi.Binding$BufferStore
dup
lload 0
aload 2
invokespecial jdk.internal.foreign.abi.Binding$BufferStore.<init>:(JLjava/lang/Class;)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 offset J
0 3 2 type Ljava/lang/Class<*>;
Signature: (JLjava/lang/Class<*>;)Ljdk/internal/foreign/abi/Binding$BufferStore;
MethodParameters:
Name Flags
offset
type
public static jdk.internal.foreign.abi.Binding$BufferLoad bufferLoad(long, java.lang.Class<?>);
descriptor: (JLjava/lang/Class;)Ljdk/internal/foreign/abi/Binding$BufferLoad;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: aload 2
invokestatic jdk.internal.foreign.abi.Binding.checkType:(Ljava/lang/Class;)V
1: lload 0
invokestatic jdk.internal.foreign.abi.Binding.checkOffset:(J)V
2: new jdk.internal.foreign.abi.Binding$BufferLoad
dup
lload 0
aload 2
invokespecial jdk.internal.foreign.abi.Binding$BufferLoad.<init>:(JLjava/lang/Class;)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 offset J
0 3 2 type Ljava/lang/Class<*>;
Signature: (JLjava/lang/Class<*>;)Ljdk/internal/foreign/abi/Binding$BufferLoad;
MethodParameters:
Name Flags
offset
type
public static jdk.internal.foreign.abi.Binding$Copy copy(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/internal/foreign/abi/Binding$Copy;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new jdk.internal.foreign.abi.Binding$Copy
dup
aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.byteSize:()J
aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.byteAlignment:()J
invokespecial jdk.internal.foreign.abi.Binding$Copy.<init>:(JJ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
layout
public static jdk.internal.foreign.abi.Binding$Allocate allocate(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/internal/foreign/abi/Binding$Allocate;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new jdk.internal.foreign.abi.Binding$Allocate
dup
aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.byteSize:()J
aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.byteAlignment:()J
invokespecial jdk.internal.foreign.abi.Binding$Allocate.<init>:(JJ)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
layout
public static jdk.internal.foreign.abi.Binding$BoxAddress boxAddress();
descriptor: ()Ljdk/internal/foreign/abi/Binding$BoxAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.foreign.abi.Binding$BoxAddress.INSTANCE:Ljdk/internal/foreign/abi/Binding$BoxAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.foreign.abi.Binding$UnboxAddress unboxAddress();
descriptor: ()Ljdk/internal/foreign/abi/Binding$UnboxAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.foreign.abi.Binding$UnboxAddress.INSTANCE:Ljdk/internal/foreign/abi/Binding$UnboxAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.foreign.abi.Binding$BaseAddress baseAddress();
descriptor: ()Ljdk/internal/foreign/abi/Binding$BaseAddress;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.foreign.abi.Binding$BaseAddress.INSTANCE:Ljdk/internal/foreign/abi/Binding$BaseAddress;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.foreign.abi.Binding$ToSegment toSegment(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/internal/foreign/abi/Binding$ToSegment;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.internal.foreign.abi.Binding$ToSegment
dup
aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.byteSize:()J
invokespecial jdk.internal.foreign.abi.Binding$ToSegment.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 layout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
layout
public static jdk.internal.foreign.abi.Binding$Dup dup();
descriptor: ()Ljdk/internal/foreign/abi/Binding$Dup;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic jdk.internal.foreign.abi.Binding$Dup.INSTANCE:Ljdk/internal/foreign/abi/Binding$Dup;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static jdk.internal.foreign.abi.Binding$Builder builder();
descriptor: ()Ljdk/internal/foreign/abi/Binding$Builder;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: new jdk.internal.foreign.abi.Binding$Builder
dup
invokespecial jdk.internal.foreign.abi.Binding$Builder.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
public boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 1
iconst_1
ireturn
1: StackMap locals:
StackMap stack:
aload 1
ifnull 2
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
aload 1
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
if_acmpeq 3
StackMap locals:
StackMap stack:
2: iconst_0
ireturn
3: StackMap locals:
StackMap stack:
aload 1
checkcast jdk.internal.foreign.abi.Binding
astore 2
start local 2 4: aload 0
getfield jdk.internal.foreign.abi.Binding.tag:Ljdk/internal/foreign/abi/Binding$Tag;
aload 2
getfield jdk.internal.foreign.abi.Binding.tag:Ljdk/internal/foreign/abi/Binding$Tag;
if_acmpne 5
iconst_1
ireturn
StackMap locals: jdk.internal.foreign.abi.Binding
StackMap stack:
5: iconst_0
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/foreign/abi/Binding;
0 6 1 o Ljava/lang/Object;
4 6 2 binding Ljdk/internal/foreign/abi/Binding;
MethodParameters:
Name Flags
o
public int hashCode();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.foreign.abi.Binding.tag:Ljdk/internal/foreign/abi/Binding$Tag;
aastore
invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/abi/Binding;
}
SourceFile: "Binding.java"
NestMembers:
jdk.internal.foreign.abi.Binding$Allocate jdk.internal.foreign.abi.Binding$BaseAddress jdk.internal.foreign.abi.Binding$BoxAddress jdk.internal.foreign.abi.Binding$BufferLoad jdk.internal.foreign.abi.Binding$BufferStore jdk.internal.foreign.abi.Binding$Builder jdk.internal.foreign.abi.Binding$Copy jdk.internal.foreign.abi.Binding$Dereference jdk.internal.foreign.abi.Binding$Dup jdk.internal.foreign.abi.Binding$Move jdk.internal.foreign.abi.Binding$Tag jdk.internal.foreign.abi.Binding$ToSegment jdk.internal.foreign.abi.Binding$UnboxAddress jdk.internal.foreign.abi.Binding$VMLoad jdk.internal.foreign.abi.Binding$VMStore
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public Allocate = jdk.internal.foreign.abi.Binding$Allocate of jdk.internal.foreign.abi.Binding
public BaseAddress = jdk.internal.foreign.abi.Binding$BaseAddress of jdk.internal.foreign.abi.Binding
public BoxAddress = jdk.internal.foreign.abi.Binding$BoxAddress of jdk.internal.foreign.abi.Binding
public BufferLoad = jdk.internal.foreign.abi.Binding$BufferLoad of jdk.internal.foreign.abi.Binding
public BufferStore = jdk.internal.foreign.abi.Binding$BufferStore of jdk.internal.foreign.abi.Binding
public Builder = jdk.internal.foreign.abi.Binding$Builder of jdk.internal.foreign.abi.Binding
public Copy = jdk.internal.foreign.abi.Binding$Copy of jdk.internal.foreign.abi.Binding
private abstract Dereference = jdk.internal.foreign.abi.Binding$Dereference of jdk.internal.foreign.abi.Binding
public Dup = jdk.internal.foreign.abi.Binding$Dup of jdk.internal.foreign.abi.Binding
abstract Move = jdk.internal.foreign.abi.Binding$Move of jdk.internal.foreign.abi.Binding
final Tag = jdk.internal.foreign.abi.Binding$Tag of jdk.internal.foreign.abi.Binding
public ToSegment = jdk.internal.foreign.abi.Binding$ToSegment of jdk.internal.foreign.abi.Binding
public UnboxAddress = jdk.internal.foreign.abi.Binding$UnboxAddress of jdk.internal.foreign.abi.Binding
public VMLoad = jdk.internal.foreign.abi.Binding$VMLoad of jdk.internal.foreign.abi.Binding
public VMStore = jdk.internal.foreign.abi.Binding$VMStore of jdk.internal.foreign.abi.Binding
abstract LoadFunc = jdk.internal.foreign.abi.BindingInterpreter$LoadFunc of jdk.internal.foreign.abi.BindingInterpreter
abstract StoreFunc = jdk.internal.foreign.abi.BindingInterpreter$StoreFunc of jdk.internal.foreign.abi.BindingInterpreter
public abstract Allocator = jdk.internal.foreign.abi.SharedUtils$Allocator of jdk.internal.foreign.abi.SharedUtils