public final class jdk.internal.foreign.MemorySegmentImpl implements jdk.incubator.foreign.MemorySegment, jdk.internal.access.foreign.MemorySegmentProxy
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jdk.internal.foreign.MemorySegmentImpl
super_class: java.lang.Object
{
private static final jdk.internal.misc.Unsafe UNSAFE;
descriptor: Ljdk/internal/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int BYTE_ARR_BASE;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
final long length;
descriptor: J
flags: (0x0010) ACC_FINAL
final int mask;
descriptor: I
flags: (0x0010) ACC_FINAL
final long min;
descriptor: J
flags: (0x0010) ACC_FINAL
final java.lang.Object base;
descriptor: Ljava/lang/Object;
flags: (0x0010) ACC_FINAL
final java.lang.Thread owner;
descriptor: Ljava/lang/Thread;
flags: (0x0010) ACC_FINAL
final jdk.internal.foreign.MemoryScope scope;
descriptor: Ljdk/internal/foreign/MemoryScope;
flags: (0x0010) ACC_FINAL
static final int READ_ONLY;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 1
static final long NONCE;
descriptor: J
flags: (0x0018) ACC_STATIC, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=2, locals=0, args_size=0
0: invokestatic jdk.internal.misc.Unsafe.getUnsafe:()Ljdk/internal/misc/Unsafe;
putstatic jdk.internal.foreign.MemorySegmentImpl.UNSAFE:Ljdk/internal/misc/Unsafe;
1: getstatic jdk.internal.foreign.MemorySegmentImpl.UNSAFE:Ljdk/internal/misc/Unsafe;
ldc [B
invokevirtual jdk.internal.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
putstatic jdk.internal.foreign.MemorySegmentImpl.BYTE_ARR_BASE:I
2: new java.util.Random
dup
invokespecial java.util.Random.<init>:()V
invokevirtual java.util.Random.nextLong:()J
putstatic jdk.internal.foreign.MemorySegmentImpl.NONCE:J
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(long, java.lang.Object, long, int, java.lang.Thread, jdk.internal.foreign.MemoryScope);
descriptor: (JLjava/lang/Object;JILjava/lang/Thread;Ljdk/internal/foreign/MemoryScope;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=9, args_size=7
start local 0 start local 1 start local 3 start local 4 start local 6 start local 7 start local 8 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
lload 4
putfield jdk.internal.foreign.MemorySegmentImpl.length:J
2: aload 0
iload 6
putfield jdk.internal.foreign.MemorySegmentImpl.mask:I
3: aload 0
lload 1
putfield jdk.internal.foreign.MemorySegmentImpl.min:J
4: aload 0
aload 3
putfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
5: aload 0
aload 7
putfield jdk.internal.foreign.MemorySegmentImpl.owner:Ljava/lang/Thread;
6: aload 0
aload 8
putfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
7: return
end local 8 end local 7 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 8 1 min J
0 8 3 base Ljava/lang/Object;
0 8 4 length J
0 8 6 mask I
0 8 7 owner Ljava/lang/Thread;
0 8 8 scope Ljdk/internal/foreign/MemoryScope;
MethodParameters:
Name Flags
min
base
length
mask
owner
scope
public final jdk.internal.foreign.MemorySegmentImpl asSlice(long, long);
descriptor: (JJ)Ljdk/internal/foreign/MemorySegmentImpl;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=10, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: aload 0
lload 1
lload 3
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkBounds:(JJ)V
2: new jdk.internal.foreign.MemorySegmentImpl
dup
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
lload 1
ladd
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
lload 3
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.mask:I
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.owner:Ljava/lang/Thread;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokespecial jdk.internal.foreign.MemorySegmentImpl.<init>:(JLjava/lang/Object;JILjava/lang/Thread;Ljdk/internal/foreign/MemoryScope;)V
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 3 1 offset J
0 3 3 newSize J
MethodParameters:
Name Flags
offset
newSize
public jdk.incubator.foreign.MemorySegment acquire();
descriptor: ()Ljdk/incubator/foreign/MemorySegment;
flags: (0x0001) ACC_PUBLIC
Code:
stack=10, locals=1, args_size=1
start local 0 0: new jdk.internal.foreign.MemorySegmentImpl
dup
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.mask:I
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokevirtual jdk.internal.foreign.MemoryScope.acquire:()Ljdk/internal/foreign/MemoryScope;
invokespecial jdk.internal.foreign.MemorySegmentImpl.<init>:(JLjava/lang/Object;JILjava/lang/Thread;Ljdk/internal/foreign/MemoryScope;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final jdk.incubator.foreign.MemoryAddress baseAddress();
descriptor: ()Ljdk/incubator/foreign/MemoryAddress;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=1, args_size=1
start local 0 0: new jdk.internal.foreign.MemoryAddressImpl
dup
aload 0
lconst_0
invokespecial jdk.internal.foreign.MemoryAddressImpl.<init>:(Ljdk/internal/foreign/MemorySegmentImpl;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final long byteSize();
descriptor: ()J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final jdk.internal.foreign.MemorySegmentImpl asReadOnly();
descriptor: ()Ljdk/internal/foreign/MemorySegmentImpl;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=10, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: new jdk.internal.foreign.MemorySegmentImpl
dup
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.mask:I
iconst_1
ior
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.owner:Ljava/lang/Thread;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokespecial jdk.internal.foreign.MemorySegmentImpl.<init>:(JLjava/lang/Object;JILjava/lang/Thread;Ljdk/internal/foreign/MemoryScope;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final boolean isAlive();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokevirtual jdk.internal.foreign.MemoryScope.isAliveThreadSafe:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final boolean isReadOnly();
descriptor: ()Z
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_1
invokevirtual jdk.internal.foreign.MemorySegmentImpl.isSet:(I)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public java.lang.Thread ownerThread();
descriptor: ()Ljava/lang/Thread;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.owner:Ljava/lang/Thread;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public final void close();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokevirtual jdk.internal.foreign.MemoryScope.close:()V
2: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public java.nio.ByteBuffer asByteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: aload 0
ldc "ByteBuffer"
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkIntSize:(Ljava/lang/String;)V
2: invokestatic jdk.internal.access.SharedSecrets.getJavaNioAccess:()Ljdk/internal/access/JavaNioAccess;
astore 1
start local 1 3: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.base:()Ljava/lang/Object;
ifnull 8
4: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.base:()Ljava/lang/Object;
instanceof byte[]
ifne 6
5: new java.lang.UnsupportedOperationException
dup
ldc "Not an address to an heap-allocated byte array"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals: jdk.internal.access.JavaNioAccess
StackMap stack:
aload 1
aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.base:()Ljava/lang/Object;
checkcast byte[]
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
l2i
getstatic jdk.internal.foreign.MemorySegmentImpl.BYTE_ARR_BASE:I
isub
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
l2i
aload 0
invokeinterface jdk.internal.access.JavaNioAccess.newHeapByteBuffer:([BIILjdk/internal/access/foreign/MemorySegmentProxy;)Ljava/nio/ByteBuffer;
astore 2
start local 2 7: goto 9
end local 2 8: StackMap locals:
StackMap stack:
aload 1
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
l2i
aconst_null
aload 0
invokeinterface jdk.internal.access.JavaNioAccess.newDirectByteBuffer:(JILjava/lang/Object;Ljdk/internal/access/foreign/MemorySegmentProxy;)Ljava/nio/ByteBuffer;
astore 2
start local 2 9: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.isReadOnly:()Z
ifeq 11
10: aload 2
invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
astore 2
11: StackMap locals:
StackMap stack:
aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljdk/internal/foreign/MemorySegmentImpl;
3 12 1 nioAccess Ljdk/internal/access/JavaNioAccess;
7 8 2 _bb Ljava/nio/ByteBuffer;
9 12 2 _bb Ljava/nio/ByteBuffer;
public byte[] toByteArray();
descriptor: ()[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=1
start local 0 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: aload 0
ldc "byte[]"
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkIntSize:(Ljava/lang/String;)V
2: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
l2i
newarray 8
astore 1
start local 1 3: aload 1
invokestatic jdk.incubator.foreign.MemorySegment.ofArray:([B)Ljdk/incubator/foreign/MemorySegment;
astore 2
start local 2 4: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.baseAddress:()Ljdk/incubator/foreign/MemoryAddress;
aload 2
invokeinterface jdk.incubator.foreign.MemorySegment.baseAddress:()Ljdk/incubator/foreign/MemoryAddress;
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
invokestatic jdk.incubator.foreign.MemoryAddress.copy:(Ljdk/incubator/foreign/MemoryAddress;Ljdk/incubator/foreign/MemoryAddress;J)V
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljdk/internal/foreign/MemorySegmentImpl;
3 6 1 arr [B
4 6 2 arrSegment Ljdk/incubator/foreign/MemorySegment;
public final void checkValidState();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.owner:Ljava/lang/Thread;
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
if_acmpeq 2
1: new java.lang.IllegalStateException
dup
ldc "Attempt to access segment outside owning thread"
invokespecial java.lang.IllegalStateException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.scope:Ljdk/internal/foreign/MemoryScope;
invokevirtual jdk.internal.foreign.MemoryScope.checkAliveConfined:()V
3: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
ldc "MemorySegment{ id=0x"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.id:()I
i2l
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " limit: "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.byteSize:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " }"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
void checkRange(long, long, boolean);
descriptor: (JJZ)V
flags: (0x0000)
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkValidState:()V
1: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.isReadOnly:()Z
ifeq 3
iload 5
ifeq 3
2: new java.lang.UnsupportedOperationException
dup
ldc "Cannot write to read-only memory segment"
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
3: StackMap locals:
StackMap stack:
aload 0
lload 1
lload 3
invokevirtual jdk.internal.foreign.MemorySegmentImpl.checkBounds:(JJ)V
4: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 5 1 offset J
0 5 3 length J
0 5 5 writeAccess Z
MethodParameters:
Name Flags
offset
length
writeAccess
java.lang.Object base();
descriptor: ()Ljava/lang/Object;
flags: (0x0000)
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
private boolean isSet(int);
descriptor: (I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.mask:I
iload 1
iand
ifeq 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 2 1 mask I
MethodParameters:
Name Flags
mask
private void checkIntSize(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
ldc 2147483639
lcmp
ifle 2
1: new java.lang.UnsupportedOperationException
dup
ldc "Segment is too large to wrap as %s. Size: %d"
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
dup
iconst_1
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.UnsupportedOperationException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 3 1 typeName Ljava/lang/String;
MethodParameters:
Name Flags
typeName
private void checkBounds(long, long);
descriptor: (JJ)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=8, locals=5, args_size=3
start local 0 start local 1 start local 3 0: lload 3
lconst_0
lcmp
iflt 3
1: lload 1
lconst_0
lcmp
iflt 3
2: lload 1
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.length:J
lload 3
lsub
lcmp
ifle 6
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
ldc "Out of bound access on segment %s; new offset = %d; new length = %d"
iconst_3
anewarray java.lang.Object
dup
iconst_0
4: aload 0
aastore
dup
iconst_1
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
5: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
athrow
6: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljdk/internal/foreign/MemorySegmentImpl;
0 7 1 offset J
0 7 3 length J
MethodParameters:
Name Flags
offset
length
private int id();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=1, args_size=1
start local 0 0: iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.base:Ljava/lang/Object;
aastore
dup
iconst_1
aload 0
getfield jdk.internal.foreign.MemorySegmentImpl.min:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
getstatic jdk.internal.foreign.MemorySegmentImpl.NONCE:J
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokestatic java.util.Objects.hash:([Ljava/lang/Object;)I
invokestatic java.lang.Math.abs:(I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljdk/internal/foreign/MemorySegmentImpl;
public jdk.incubator.foreign.MemorySegment asReadOnly();
descriptor: ()Ljdk/incubator/foreign/MemorySegment;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual jdk.internal.foreign.MemorySegmentImpl.asReadOnly:()Ljdk/internal/foreign/MemorySegmentImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
public jdk.incubator.foreign.MemorySegment asSlice(long, long);
descriptor: (JJ)Ljdk/incubator/foreign/MemorySegment;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=3
0: aload 0
lload 1
lload 3
invokevirtual jdk.internal.foreign.MemorySegmentImpl.asSlice:(JJ)Ljdk/internal/foreign/MemorySegmentImpl;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MemorySegmentImpl.java"