public interface jdk.incubator.foreign.MemoryLayout extends java.lang.constant.Constable
minor version: 0
major version: 59
flags: flags: (0x0601) ACC_PUBLIC, ACC_INTERFACE, ACC_ABSTRACT
this_class: jdk.incubator.foreign.MemoryLayout
super_class: java.lang.Object
{
public abstract java.util.Optional<? extends java.lang.constant.DynamicConstantDesc<? extends jdk.incubator.foreign.MemoryLayout>> describeConstable();
descriptor: ()Ljava/util/Optional;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Optional<+Ljava/lang/constant/DynamicConstantDesc<+Ljdk/incubator/foreign/MemoryLayout;>;>;
public abstract boolean hasSize();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract long bitSize();
descriptor: ()J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public long byteSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.bitSize:()J
1: invokedynamic get()Ljava/util/function/Supplier;
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;
jdk/incubator/foreign/MemoryLayout.lambda$0()Ljava/lang/RuntimeException; (6 itf)
()Ljava/lang/RuntimeException;
2: invokestatic jdk.internal.foreign.Utils.bitsToBytesOrThrow:(JLjava/util/function/Supplier;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/foreign/MemoryLayout;
public abstract java.util.Optional<java.lang.String> name();
descriptor: ()Ljava/util/Optional;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
Signature: ()Ljava/util/Optional<Ljava/lang/String;>;
public abstract jdk.incubator.foreign.MemoryLayout withName(java.lang.String);
descriptor: (Ljava/lang/String;)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
name
public abstract long bitAlignment();
descriptor: ()J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public long byteAlignment();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface jdk.incubator.foreign.MemoryLayout.bitAlignment:()J
1: invokedynamic get()Ljava/util/function/Supplier;
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;
jdk/incubator/foreign/MemoryLayout.lambda$1()Ljava/lang/RuntimeException; (6 itf)
()Ljava/lang/RuntimeException;
2: invokestatic jdk.internal.foreign.Utils.bitsToBytesOrThrow:(JLjava/util/function/Supplier;)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/foreign/MemoryLayout;
public abstract jdk.incubator.foreign.MemoryLayout withBitAlignment(long);
descriptor: (J)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
bitAlignment
public long offset(jdk.incubator.foreign.MemoryLayout$PathElement[]);
descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)J
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
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;)J
jdk/incubator/foreign/MemoryLayout.bitSize()J (9 itf)
(Ljdk/incubator/foreign/MemoryLayout;)J
invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
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;
jdk/internal/foreign/LayoutPath.offset()J (5)
(Ljdk/internal/foreign/LayoutPath;)Ljava/lang/Long;
getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
aload 1
invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/incubator/foreign/MemoryLayout;
0 1 1 elements [Ljdk/incubator/foreign/MemoryLayout$PathElement;
MethodParameters:
Name Flags
elements
public java.lang.invoke.VarHandle varHandle(java.lang.Class<?>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
descriptor: (Ljava/lang/Class;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
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;)J
jdk/incubator/foreign/MemoryLayout.bitSize()J (9 itf)
(Ljdk/incubator/foreign/MemoryLayout;)J
invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
aload 1
invokedynamic apply(Ljava/lang/Class;)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;
jdk/incubator/foreign/MemoryLayout.lambda$5(Ljava/lang/Class;Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle; (6 itf)
(Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle;
1: invokestatic java.util.Set.of:()Ljava/util/Set;
aload 2
2: invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
checkcast java.lang.invoke.VarHandle
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/foreign/MemoryLayout;
0 3 1 carrier Ljava/lang/Class<*>;
0 3 2 elements [Ljdk/incubator/foreign/MemoryLayout$PathElement;
Signature: (Ljava/lang/Class<*>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/invoke/VarHandle;
MethodParameters:
Name Flags
carrier
elements
public jdk.incubator.foreign.MemoryLayout select(jdk.incubator.foreign.MemoryLayout$PathElement[]);
descriptor: ([Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
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;)J
jdk/incubator/foreign/MemoryLayout.lambda$6(Ljdk/incubator/foreign/MemoryLayout;)J (6 itf)
(Ljdk/incubator/foreign/MemoryLayout;)J
invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
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;
jdk/internal/foreign/LayoutPath.layout()Ljdk/incubator/foreign/MemoryLayout; (5)
(Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
1: getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT_INDEX:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
aload 1
2: invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
checkcast jdk.incubator.foreign.MemoryLayout
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/foreign/MemoryLayout;
0 3 1 elements [Ljdk/incubator/foreign/MemoryLayout$PathElement;
MethodParameters:
Name Flags
elements
public jdk.incubator.foreign.MemoryLayout map(java.util.function.UnaryOperator<jdk.incubator.foreign.MemoryLayout>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
descriptor: (Ljava/util/function/UnaryOperator;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x0081) ACC_PUBLIC, ACC_VARARGS
Code:
stack=4, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokedynamic applyAsLong()Ljava/util/function/ToLongFunction;
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;)J
jdk/incubator/foreign/MemoryLayout.lambda$8(Ljdk/incubator/foreign/MemoryLayout;)J (6 itf)
(Ljdk/incubator/foreign/MemoryLayout;)J
invokestatic jdk.internal.foreign.LayoutPath.rootPath:(Ljdk/incubator/foreign/MemoryLayout;Ljava/util/function/ToLongFunction;)Ljdk/internal/foreign/LayoutPath;
aload 1
invokedynamic apply(Ljava/util/function/UnaryOperator;)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;
jdk/incubator/foreign/MemoryLayout.lambda$9(Ljava/util/function/UnaryOperator;Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout; (6 itf)
(Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
1: getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_ELEMENT_INDEX:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
getstatic jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.SEQUENCE_RANGE:Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
invokestatic java.util.EnumSet.of:(Ljava/lang/Enum;Ljava/lang/Enum;)Ljava/util/EnumSet;
aload 2
2: invokestatic jdk.incubator.foreign.MemoryLayout.computePathOp:(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
checkcast jdk.incubator.foreign.MemoryLayout
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/incubator/foreign/MemoryLayout;
0 3 1 op Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;
0 3 2 elements [Ljdk/incubator/foreign/MemoryLayout$PathElement;
Signature: (Ljava/util/function/UnaryOperator<Ljdk/incubator/foreign/MemoryLayout;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
op
elements
private static <Z> Z computePathOp(jdk.internal.foreign.LayoutPath, java.util.function.Function<jdk.internal.foreign.LayoutPath, Z>, java.util.Set<jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind>, jdk.incubator.foreign.MemoryLayout$PathElement[]);
descriptor: (Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function;Ljava/util/Set;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)Ljava/lang/Object;
flags: (0x008a) ACC_PRIVATE, ACC_STATIC, ACC_VARARGS
Code:
stack=7, locals=9, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 7
StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] top int int jdk.incubator.foreign.MemoryLayout$PathElement[]
StackMap stack:
1: aload 7
iload 5
aaload
astore 4
start local 4 2: aload 4
checkcast jdk.internal.foreign.LayoutPath$PathElementImpl
astore 8
start local 8 3: aload 2
aload 8
invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.kind:()Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 5
4: new java.lang.IllegalArgumentException
dup
ldc "Invalid %s selection in layout path"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 8
invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.kind:()Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;
invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind.description:()Ljava/lang/String;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
5: StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] jdk.incubator.foreign.MemoryLayout$PathElement int int jdk.incubator.foreign.MemoryLayout$PathElement[] jdk.internal.foreign.LayoutPath$PathElementImpl
StackMap stack:
aload 8
aload 0
invokevirtual jdk.internal.foreign.LayoutPath$PathElementImpl.apply:(Ljdk/internal/foreign/LayoutPath;)Ljdk/internal/foreign/LayoutPath;
astore 0
end local 8 end local 4 6: iinc 5 1
StackMap locals: jdk.internal.foreign.LayoutPath java.util.function.Function java.util.Set jdk.incubator.foreign.MemoryLayout$PathElement[] top int int jdk.incubator.foreign.MemoryLayout$PathElement[]
StackMap stack:
7: iload 5
iload 6
if_icmplt 1
8: aload 1
aload 0
invokeinterface java.util.function.Function.apply:(Ljava/lang/Object;)Ljava/lang/Object;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 path Ljdk/internal/foreign/LayoutPath;
0 9 1 finalizer Ljava/util/function/Function<Ljdk/internal/foreign/LayoutPath;TZ;>;
0 9 2 badKinds Ljava/util/Set<Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;>;
0 9 3 elements [Ljdk/incubator/foreign/MemoryLayout$PathElement;
2 6 4 e Ljdk/incubator/foreign/MemoryLayout$PathElement;
3 6 8 pathElem Ljdk/internal/foreign/LayoutPath$PathElementImpl;
Signature: <Z:Ljava/lang/Object;>(Ljdk/internal/foreign/LayoutPath;Ljava/util/function/Function<Ljdk/internal/foreign/LayoutPath;TZ;>;Ljava/util/Set<Ljdk/internal/foreign/LayoutPath$PathElementImpl$PathKind;>;[Ljdk/incubator/foreign/MemoryLayout$PathElement;)TZ;
MethodParameters:
Name Flags
path
finalizer
badKinds
elements
public abstract boolean equals(java.lang.Object);
descriptor: (Ljava/lang/Object;)Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
that
public abstract int hashCode();
descriptor: ()I
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public static jdk.incubator.foreign.MemoryLayout ofPaddingBits(long);
descriptor: (J)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: lload 0
invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(J)V
1: new jdk.incubator.foreign.PaddingLayout
dup
lload 0
invokespecial jdk.incubator.foreign.PaddingLayout.<init>:(J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 size J
MethodParameters:
Name Flags
size
public static jdk.incubator.foreign.ValueLayout ofValueBits(long, java.nio.ByteOrder);
descriptor: (JLjava/nio/ByteOrder;)Ljdk/incubator/foreign/ValueLayout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: lload 0
invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(J)V
1: new jdk.incubator.foreign.ValueLayout
dup
aload 2
lload 0
invokespecial jdk.incubator.foreign.ValueLayout.<init>:(Ljava/nio/ByteOrder;J)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 size J
0 2 2 order Ljava/nio/ByteOrder;
MethodParameters:
Name Flags
size
order
public static jdk.incubator.foreign.SequenceLayout ofSequence(long, jdk.incubator.foreign.MemoryLayout);
descriptor: (JLjdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=4, args_size=2
start local 0 start local 2 0: lload 0
iconst_1
invokestatic jdk.incubator.foreign.AbstractLayout.checkSize:(JZ)V
1: lload 0
invokestatic java.util.OptionalLong.of:(J)Ljava/util/OptionalLong;
astore 3
start local 3 2: new jdk.incubator.foreign.SequenceLayout
dup
aload 3
aload 2
invokespecial jdk.incubator.foreign.SequenceLayout.<init>:(Ljava/util/OptionalLong;Ljdk/incubator/foreign/MemoryLayout;)V
areturn
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 elementCount J
0 3 2 elementLayout Ljdk/incubator/foreign/MemoryLayout;
2 3 3 size Ljava/util/OptionalLong;
MethodParameters:
Name Flags
elementCount
elementLayout
public static jdk.incubator.foreign.SequenceLayout ofSequence(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/SequenceLayout;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.incubator.foreign.SequenceLayout
dup
invokestatic java.util.OptionalLong.empty:()Ljava/util/OptionalLong;
aload 0
invokespecial jdk.incubator.foreign.SequenceLayout.<init>:(Ljava/util/OptionalLong;Ljdk/incubator/foreign/MemoryLayout;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elementLayout Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
elementLayout
public static jdk.incubator.foreign.GroupLayout ofStruct(jdk.incubator.foreign.MemoryLayout[]);
descriptor: ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.incubator.foreign.GroupLayout
dup
getstatic jdk.incubator.foreign.GroupLayout$Kind.STRUCT:Ljdk/incubator/foreign/GroupLayout$Kind;
aload 0
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
invokespecial jdk.incubator.foreign.GroupLayout.<init>:(Ljdk/incubator/foreign/GroupLayout$Kind;Ljava/util/List;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elements [Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
elements
public static jdk.incubator.foreign.GroupLayout ofUnion(jdk.incubator.foreign.MemoryLayout[]);
descriptor: ([Ljdk/incubator/foreign/MemoryLayout;)Ljdk/incubator/foreign/GroupLayout;
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=4, locals=1, args_size=1
start local 0 0: new jdk.incubator.foreign.GroupLayout
dup
getstatic jdk.incubator.foreign.GroupLayout$Kind.UNION:Ljdk/incubator/foreign/GroupLayout$Kind;
aload 0
invokestatic java.util.List.of:([Ljava/lang/Object;)Ljava/util/List;
invokespecial jdk.incubator.foreign.GroupLayout.<init>:(Ljdk/incubator/foreign/GroupLayout$Kind;Ljava/util/List;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 elements [Ljdk/incubator/foreign/MemoryLayout;
MethodParameters:
Name Flags
elements
private static java.lang.RuntimeException lambda$0();
descriptor: ()Ljava/lang/RuntimeException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.UnsupportedOperationException
dup
ldc "Cannot compute byte size; bit size is not a multiple of 8"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.RuntimeException lambda$1();
descriptor: ()Ljava/lang/RuntimeException;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=0, args_size=0
0: new java.lang.UnsupportedOperationException
dup
ldc "Cannot compute byte alignment; bit alignment is not a multiple of 8"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static java.lang.invoke.VarHandle lambda$5(java.lang.Class, jdk.internal.foreign.LayoutPath);
descriptor: (Ljava/lang/Class;Ljdk/internal/foreign/LayoutPath;)Ljava/lang/invoke/VarHandle;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual jdk.internal.foreign.LayoutPath.dereferenceHandle:(Ljava/lang/Class;)Ljava/lang/invoke/VarHandle;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 path Ljdk/internal/foreign/LayoutPath;
private static long lambda$6(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)J
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 l Ljdk/incubator/foreign/MemoryLayout;
private static long lambda$8(jdk.incubator.foreign.MemoryLayout);
descriptor: (Ljdk/incubator/foreign/MemoryLayout;)J
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: lconst_0
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 l Ljdk/incubator/foreign/MemoryLayout;
private static jdk.incubator.foreign.MemoryLayout lambda$9(java.util.function.UnaryOperator, jdk.internal.foreign.LayoutPath);
descriptor: (Ljava/util/function/UnaryOperator;Ljdk/internal/foreign/LayoutPath;)Ljdk/incubator/foreign/MemoryLayout;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 1 0: aload 1
aload 0
invokevirtual jdk.internal.foreign.LayoutPath.map:(Ljava/util/function/UnaryOperator;)Ljdk/incubator/foreign/MemoryLayout;
areturn
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 1 1 path Ljdk/internal/foreign/LayoutPath;
}
SourceFile: "MemoryLayout.java"
NestMembers:
jdk.incubator.foreign.MemoryLayout$PathElement
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
final Kind = jdk.incubator.foreign.GroupLayout$Kind of jdk.incubator.foreign.GroupLayout
public abstract PathElement = jdk.incubator.foreign.MemoryLayout$PathElement of jdk.incubator.foreign.MemoryLayout
public PathElementImpl = jdk.internal.foreign.LayoutPath$PathElementImpl of jdk.internal.foreign.LayoutPath
public final PathKind = jdk.internal.foreign.LayoutPath$PathElementImpl$PathKind of jdk.internal.foreign.LayoutPath$PathElementImpl