public class jdk.internal.foreign.abi.x64.sysv.CallArranger
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.foreign.abi.x64.sysv.CallArranger
super_class: java.lang.Object
{
private static final jdk.internal.foreign.abi.ABIDescriptor CSysV;
descriptor: Ljdk/internal/foreign/abi/ABIDescriptor;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=10, locals=0, args_size=0
0: bipush 7
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rdi:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rsi:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_2
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rdx:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_3
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rcx:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_4
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.r8:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_5
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.r9:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
bipush 6
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rax:Ljdk/internal/foreign/abi/VMStorage;
aastore
1: bipush 8
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm0:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm1:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_2
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm2:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_3
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm3:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_4
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm4:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_5
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm5:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
bipush 6
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm6:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
bipush 7
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm7:Ljdk/internal/foreign/abi/VMStorage;
aastore
2: iconst_2
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rax:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rdx:Ljdk/internal/foreign/abi/VMStorage;
aastore
3: iconst_2
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm0:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm1:Ljdk/internal/foreign/abi/VMStorage;
aastore
4: iconst_2
5: iconst_2
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.r10:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.r11:Ljdk/internal/foreign/abi/VMStorage;
aastore
6: bipush 8
anewarray jdk.internal.foreign.abi.VMStorage
dup
iconst_0
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm8:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_1
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm9:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_2
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm10:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_3
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm11:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_4
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm12:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
iconst_5
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm13:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
bipush 6
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm14:Ljdk/internal/foreign/abi/VMStorage;
aastore
dup
bipush 7
getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.xmm15:Ljdk/internal/foreign/abi/VMStorage;
aastore
7: bipush 16
8: iconst_0
9: invokestatic jdk.internal.foreign.abi.x64.X86_64Architecture.abiFor:([Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;I[Ljdk/internal/foreign/abi/VMStorage;[Ljdk/internal/foreign/abi/VMStorage;II)Ljdk/internal/foreign/abi/ABIDescriptor;
putstatic jdk.internal.foreign.abi.x64.sysv.CallArranger.CSysV:Ljdk/internal/foreign/abi/ABIDescriptor;
10: 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 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/abi/x64/sysv/CallArranger;
public static jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings getBindings(java.lang.invoke.MethodType, jdk.incubator.foreign.FunctionDescriptor, boolean);
descriptor: (Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;Z)Ljdk/internal/foreign/abi/x64/sysv/CallArranger$Bindings;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc 64
invokestatic jdk.internal.foreign.abi.SharedUtils.checkFunctionTypes:(Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;J)V
1: new jdk.internal.foreign.abi.CallingSequenceBuilder
dup
iload 2
invokespecial jdk.internal.foreign.abi.CallingSequenceBuilder.<init>:(Z)V
astore 3
start local 3 2: iload 2
ifeq 3
new jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator
dup
iconst_1
invokespecial jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator.<init>:(Z)V
goto 4
StackMap locals: jdk.internal.foreign.abi.CallingSequenceBuilder
StackMap stack:
3: new jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator
dup
iconst_1
invokespecial jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator.<init>:(Z)V
StackMap locals:
StackMap stack: jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator
4: astore 4
start local 4 5: iload 2
ifeq 6
new jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator
dup
iconst_0
invokespecial jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator.<init>:(Z)V
goto 7
StackMap locals: jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator
StackMap stack:
6: new jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator
dup
iconst_0
invokespecial jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator.<init>:(Z)V
StackMap locals:
StackMap stack: jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator
7: astore 5
start local 5 8: aload 1
invokevirtual jdk.incubator.foreign.FunctionDescriptor.returnLayout:()Ljava/util/Optional;
invokestatic jdk.internal.foreign.abi.x64.sysv.CallArranger.isInMemoryReturn:(Ljava/util/Optional;)Z
istore 6
start local 6 9: iload 6
ifeq 14
10: ldc Ljdk/incubator/foreign/MemoryAddress;
astore 7
start local 7 11: getstatic jdk.internal.foreign.PlatformLayouts$SysV.C_POINTER:Ljdk/incubator/foreign/ValueLayout;
astore 8
start local 8 12: aload 3
aload 7
aload 8
aload 4
aload 7
aload 8
invokevirtual jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator.getBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/List;
invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.addArgumentBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;Ljava/util/List;)Ljdk/internal/foreign/abi/CallingSequenceBuilder;
pop
end local 8 end local 7 13: goto 18
StackMap locals: jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator int
StackMap stack:
14: aload 1
invokevirtual jdk.incubator.foreign.FunctionDescriptor.returnLayout:()Ljava/util/Optional;
invokevirtual java.util.Optional.isPresent:()Z
ifeq 18
15: aload 0
invokevirtual java.lang.invoke.MethodType.returnType:()Ljava/lang/Class;
astore 7
start local 7 16: aload 1
invokevirtual jdk.incubator.foreign.FunctionDescriptor.returnLayout:()Ljava/util/Optional;
invokevirtual java.util.Optional.get:()Ljava/lang/Object;
checkcast jdk.incubator.foreign.MemoryLayout
astore 8
start local 8 17: aload 3
aload 7
aload 8
aload 5
aload 7
aload 8
invokevirtual jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator.getBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/List;
invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.setReturnBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;Ljava/util/List;)Ljdk/internal/foreign/abi/CallingSequenceBuilder;
pop
end local 8 end local 7 18: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 19: goto 24
20: StackMap locals: int
StackMap stack:
aload 0
iload 7
invokevirtual java.lang.invoke.MethodType.parameterType:(I)Ljava/lang/Class;
astore 8
start local 8 21: aload 1
invokevirtual jdk.incubator.foreign.FunctionDescriptor.argumentLayouts:()Ljava/util/List;
iload 7
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jdk.incubator.foreign.MemoryLayout
astore 9
start local 9 22: aload 3
aload 8
aload 9
aload 4
aload 8
aload 9
invokevirtual jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator.getBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;)Ljava/util/List;
invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.addArgumentBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;Ljava/util/List;)Ljdk/internal/foreign/abi/CallingSequenceBuilder;
pop
end local 9 end local 8 23: iinc 7 1
StackMap locals:
StackMap stack:
24: iload 7
aload 0
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
if_icmplt 20
end local 7 25: iload 2
ifne 29
26: aload 3
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
getstatic jdk.internal.foreign.PlatformLayouts$SysV.C_LONG:Ljdk/incubator/foreign/ValueLayout;
27: getstatic jdk.internal.foreign.abi.x64.X86_64Architecture.rax:Ljdk/internal/foreign/abi/VMStorage;
getstatic java.lang.Long.TYPE:Ljava/lang/Class;
invokestatic jdk.internal.foreign.abi.Binding.vmStore:(Ljdk/internal/foreign/abi/VMStorage;Ljava/lang/Class;)Ljdk/internal/foreign/abi/Binding$VMStore;
invokestatic java.util.List.of:(Ljava/lang/Object;)Ljava/util/List;
28: invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.addArgumentBindings:(Ljava/lang/Class;Ljdk/incubator/foreign/MemoryLayout;Ljava/util/List;)Ljdk/internal/foreign/abi/CallingSequenceBuilder;
pop
29: StackMap locals:
StackMap stack:
aload 3
aload 1
invokestatic jdk.internal.foreign.abi.SharedUtils.isTrivial:(Ljdk/incubator/foreign/FunctionDescriptor;)Z
invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.setTrivial:(Z)Ljdk/internal/foreign/abi/CallingSequenceBuilder;
pop
30: new jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings
dup
aload 3
invokevirtual jdk.internal.foreign.abi.CallingSequenceBuilder.build:()Ljdk/internal/foreign/abi/CallingSequence;
iload 6
aload 4
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator.storageCalculator:Ljdk/internal/foreign/abi/x64/sysv/CallArranger$StorageCalculator;
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$StorageCalculator.nVectorReg:I
invokespecial jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.<init>:(Ljdk/internal/foreign/abi/CallingSequence;ZI)V
areturn
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 31 0 mt Ljava/lang/invoke/MethodType;
0 31 1 cDesc Ljdk/incubator/foreign/FunctionDescriptor;
0 31 2 forUpcall Z
2 31 3 csb Ljdk/internal/foreign/abi/CallingSequenceBuilder;
5 31 4 argCalc Ljdk/internal/foreign/abi/x64/sysv/CallArranger$BindingCalculator;
8 31 5 retCalc Ljdk/internal/foreign/abi/x64/sysv/CallArranger$BindingCalculator;
9 31 6 returnInMemory Z
11 13 7 carrier Ljava/lang/Class<*>;
12 13 8 layout Ljdk/incubator/foreign/MemoryLayout;
16 18 7 carrier Ljava/lang/Class<*>;
17 18 8 layout Ljdk/incubator/foreign/MemoryLayout;
19 25 7 i I
21 23 8 carrier Ljava/lang/Class<*>;
22 23 9 layout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
mt
cDesc
forUpcall
public static java.lang.invoke.MethodHandle arrangeDowncall(jdk.incubator.foreign.Addressable, java.lang.invoke.MethodType, jdk.incubator.foreign.FunctionDescriptor);
descriptor: (Ljdk/incubator/foreign/Addressable;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
iconst_0
invokestatic jdk.internal.foreign.abi.x64.sysv.CallArranger.getBindings:(Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;Z)Ljdk/internal/foreign/abi/x64/sysv/CallArranger$Bindings;
astore 3
start local 3 1: new jdk.internal.foreign.abi.ProgrammableInvoker
dup
getstatic jdk.internal.foreign.abi.x64.sysv.CallArranger.CSysV:Ljdk/internal/foreign/abi/ABIDescriptor;
aload 0
aload 3
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.callingSequence:Ljdk/internal/foreign/abi/CallingSequence;
invokespecial jdk.internal.foreign.abi.ProgrammableInvoker.<init>:(Ljdk/internal/foreign/abi/ABIDescriptor;Ljdk/incubator/foreign/Addressable;Ljdk/internal/foreign/abi/CallingSequence;)V
invokevirtual jdk.internal.foreign.abi.ProgrammableInvoker.getBoundMethodHandle:()Ljava/lang/invoke/MethodHandle;
astore 4
start local 4 2: aload 4
aload 4
invokevirtual java.lang.invoke.MethodHandle.type:()Ljava/lang/invoke/MethodType;
invokevirtual java.lang.invoke.MethodType.parameterCount:()I
iconst_1
isub
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 3
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.nVectorArgs:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokestatic java.lang.invoke.MethodHandles.insertArguments:(Ljava/lang/invoke/MethodHandle;I[Ljava/lang/Object;)Ljava/lang/invoke/MethodHandle;
astore 4
3: aload 3
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.isInMemoryReturn:Z
ifeq 5
4: aload 4
aload 2
invokestatic jdk.internal.foreign.abi.SharedUtils.adaptDowncallForIMR:(Ljava/lang/invoke/MethodHandle;Ljdk/incubator/foreign/FunctionDescriptor;)Ljava/lang/invoke/MethodHandle;
astore 4
5: StackMap locals: jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings java.lang.invoke.MethodHandle
StackMap stack:
aload 4
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 addr Ljdk/incubator/foreign/Addressable;
0 6 1 mt Ljava/lang/invoke/MethodType;
0 6 2 cDesc Ljdk/incubator/foreign/FunctionDescriptor;
1 6 3 bindings Ljdk/internal/foreign/abi/x64/sysv/CallArranger$Bindings;
2 6 4 handle Ljava/lang/invoke/MethodHandle;
MethodParameters:
Name Flags
addr
mt
cDesc
public static jdk.internal.foreign.abi.UpcallHandler arrangeUpcall(java.lang.invoke.MethodHandle, java.lang.invoke.MethodType, jdk.incubator.foreign.FunctionDescriptor);
descriptor: (Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;)Ljdk/internal/foreign/abi/UpcallHandler;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
aload 2
iconst_1
invokestatic jdk.internal.foreign.abi.x64.sysv.CallArranger.getBindings:(Ljava/lang/invoke/MethodType;Ljdk/incubator/foreign/FunctionDescriptor;Z)Ljdk/internal/foreign/abi/x64/sysv/CallArranger$Bindings;
astore 3
start local 3 1: aload 3
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.isInMemoryReturn:Z
ifeq 3
2: aload 0
invokestatic jdk.internal.foreign.abi.SharedUtils.adaptUpcallForIMR:(Ljava/lang/invoke/MethodHandle;)Ljava/lang/invoke/MethodHandle;
astore 0
3: StackMap locals: jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings
StackMap stack:
new jdk.internal.foreign.abi.ProgrammableUpcallHandler
dup
getstatic jdk.internal.foreign.abi.x64.sysv.CallArranger.CSysV:Ljdk/internal/foreign/abi/ABIDescriptor;
aload 0
aload 3
getfield jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings.callingSequence:Ljdk/internal/foreign/abi/CallingSequence;
invokespecial jdk.internal.foreign.abi.ProgrammableUpcallHandler.<init>:(Ljdk/internal/foreign/abi/ABIDescriptor;Ljava/lang/invoke/MethodHandle;Ljdk/internal/foreign/abi/CallingSequence;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 target Ljava/lang/invoke/MethodHandle;
0 4 1 mt Ljava/lang/invoke/MethodType;
0 4 2 cDesc Ljdk/incubator/foreign/FunctionDescriptor;
1 4 3 bindings Ljdk/internal/foreign/abi/x64/sysv/CallArranger$Bindings;
MethodParameters:
Name Flags
target
mt
cDesc
private static boolean isInMemoryReturn(java.util.Optional<jdk.incubator.foreign.MemoryLayout>);
descriptor: (Ljava/util/Optional;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
1: ldc Ljdk/incubator/foreign/GroupLayout;
dup
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
pop
invokedynamic test(Ljava/lang/Class;)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
java/lang/Class.isInstance(Ljava/lang/Object;)Z (5)
(Ljdk/incubator/foreign/MemoryLayout;)Z
invokevirtual java.util.Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional;
2: invokedynamic test()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
jdk/internal/foreign/abi/x64/sysv/CallArranger.lambda$1(Ljdk/incubator/foreign/MemoryLayout;)Z (6)
(Ljdk/incubator/foreign/MemoryLayout;)Z
invokevirtual java.util.Optional.filter:(Ljava/util/function/Predicate;)Ljava/util/Optional;
3: invokevirtual java.util.Optional.isPresent:()Z
4: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 returnLayout Ljava/util/Optional<Ljdk/incubator/foreign/MemoryLayout;>;
Signature: (Ljava/util/Optional<Ljdk/incubator/foreign/MemoryLayout;>;)Z
MethodParameters:
Name Flags
returnLayout
private static boolean lambda$1(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokestatic jdk.internal.foreign.abi.x64.sysv.TypeClass.classifyLayout:(Ljdk/incubator/foreign/MemoryLayout;)Ljdk/internal/foreign/abi/x64/sysv/TypeClass;
invokevirtual jdk.internal.foreign.abi.x64.sysv.TypeClass.inMemory:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 g Ljdk/incubator/foreign/MemoryLayout;
}
SourceFile: "CallArranger.java"
NestMembers:
jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator jdk.internal.foreign.abi.x64.sysv.CallArranger$StorageCalculator jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public final SysV = jdk.internal.foreign.PlatformLayouts$SysV of jdk.internal.foreign.PlatformLayouts
public VMStore = jdk.internal.foreign.abi.Binding$VMStore of jdk.internal.foreign.abi.Binding
abstract BindingCalculator = jdk.internal.foreign.abi.x64.sysv.CallArranger$BindingCalculator of jdk.internal.foreign.abi.x64.sysv.CallArranger
public Bindings = jdk.internal.foreign.abi.x64.sysv.CallArranger$Bindings of jdk.internal.foreign.abi.x64.sysv.CallArranger
BoxBindingCalculator = jdk.internal.foreign.abi.x64.sysv.CallArranger$BoxBindingCalculator of jdk.internal.foreign.abi.x64.sysv.CallArranger
StorageCalculator = jdk.internal.foreign.abi.x64.sysv.CallArranger$StorageCalculator of jdk.internal.foreign.abi.x64.sysv.CallArranger
UnboxBindingCalculator = jdk.internal.foreign.abi.x64.sysv.CallArranger$UnboxBindingCalculator of jdk.internal.foreign.abi.x64.sysv.CallArranger