public class jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope extends jdk.internal.foreign.AbstractNativeScope
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope
super_class: jdk.internal.foreign.AbstractNativeScope
{
private final jdk.incubator.foreign.MemorySegment segment;
descriptor: Ljdk/incubator/foreign/MemorySegment;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private long sp;
descriptor: J
flags: (0x0002) ACC_PRIVATE
public java.util.OptionalLong byteSize();
descriptor: ()Ljava/util/OptionalLong;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.segment:Ljdk/incubator/foreign/MemorySegment;
invokeinterface jdk.incubator.foreign.MemorySegment.byteSize:()J
invokestatic java.util.OptionalLong.of:(J)Ljava/util/OptionalLong;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/AbstractNativeScope$BoundedNativeScope;
public long allocatedBytes();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.sp:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/AbstractNativeScope$BoundedNativeScope;
public void <init>(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 0
invokespecial jdk.internal.foreign.AbstractNativeScope.<init>:()V
1: aload 0
lconst_0
putfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.sp:J
2: aload 0
aload 0
lload 1
lconst_1
invokevirtual jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.newSegment:(JJ)Ljdk/incubator/foreign/MemorySegment;
putfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.segment:Ljdk/incubator/foreign/MemorySegment;
3: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/foreign/AbstractNativeScope$BoundedNativeScope;
0 4 1 size J
MethodParameters:
Name Flags
size
public jdk.incubator.foreign.MemorySegment allocate(long, long);
descriptor: (JJ)Ljdk/incubator/foreign/MemorySegment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=10, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.checkOwnerThread:()V
1: aload 0
getfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.segment:Ljdk/incubator/foreign/MemorySegment;
invokeinterface jdk.incubator.foreign.MemorySegment.address:()Ljdk/incubator/foreign/MemoryAddress;
invokeinterface jdk.incubator.foreign.MemoryAddress.toRawLongValue:()J
lstore 5
start local 5 2: lload 5
aload 0
getfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.sp:J
ladd
lload 3
invokestatic jdk.internal.foreign.Utils.alignUp:(JJ)J
lload 5
lsub
lstore 7
start local 7 3: aload 0
getfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.segment:Ljdk/incubator/foreign/MemorySegment;
lload 7
lload 1
invokeinterface jdk.incubator.foreign.MemorySegment.asSlice:(JJ)Ljdk/incubator/foreign/MemorySegment;
4: iconst_3
invokeinterface jdk.incubator.foreign.MemorySegment.withAccessModes:(I)Ljdk/incubator/foreign/MemorySegment;
5: astore 9
start local 9 6: aload 0
lload 7
lload 1
ladd
putfield jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope.sp:J
7: aload 9
8: areturn
end local 9 9: StackMap locals: jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope long long long long
StackMap stack: java.lang.IndexOutOfBoundsException
pop
10: new java.lang.OutOfMemoryError
dup
ldc "Not enough space left to allocate"
invokespecial java.lang.OutOfMemoryError.<init>:(Ljava/lang/String;)V
athrow
end local 7 end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljdk/internal/foreign/AbstractNativeScope$BoundedNativeScope;
0 11 1 bytesSize J
0 11 3 bytesAlignment J
2 11 5 min J
3 11 7 start J
6 9 9 slice Ljdk/incubator/foreign/MemorySegment;
Exception table:
from to target type
3 8 9 Class java.lang.IndexOutOfBoundsException
MethodParameters:
Name Flags
bytesSize
bytesAlignment
}
SourceFile: "AbstractNativeScope.java"
NestHost: jdk.internal.foreign.AbstractNativeScope
InnerClasses:
public BoundedNativeScope = jdk.internal.foreign.AbstractNativeScope$BoundedNativeScope of jdk.internal.foreign.AbstractNativeScope