public abstract class jdk.internal.access.foreign.MemorySegmentProxy
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: jdk.internal.access.foreign.MemorySegmentProxy
super_class: java.lang.Object
{
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/access/foreign/MemorySegmentProxy;
public abstract void checkAccess(long, long, boolean);
descriptor: (JJZ)V
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
MethodParameters:
Name Flags
offset
length
readOnly
public abstract long unsafeGetOffset();
descriptor: ()J
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract java.lang.Object unsafeGetBase();
descriptor: ()Ljava/lang/Object;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract boolean isSmall();
descriptor: ()Z
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public abstract jdk.internal.misc.ScopedMemoryAccess$Scope scope();
descriptor: ()Ljdk/internal/misc/ScopedMemoryAccess$Scope;
flags: (0x0401) ACC_PUBLIC, ACC_ABSTRACT
public static long addOffsets(long, long, jdk.internal.access.foreign.MemorySegmentProxy);
descriptor: (JJLjdk/internal/access/foreign/MemorySegmentProxy;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 2 start local 4 0: aload 4
invokevirtual jdk.internal.access.foreign.MemorySegmentProxy.isSmall:()Z
ifeq 10
1: lload 0
ldc 2147483647
lcmp
ifgt 3
lload 2
ldc 2147483647
lcmp
ifgt 3
2: lload 0
ldc -2147483648
lcmp
iflt 3
lload 2
ldc -2147483648
lcmp
ifge 4
3: StackMap locals:
StackMap stack:
ldc -2147483648
ldc 2147483647
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
4: StackMap locals:
StackMap stack:
lload 0
l2i
istore 5
start local 5 5: lload 2
l2i
istore 6
start local 6 6: iload 5
iload 6
invokestatic java.lang.Math.addExact:(II)I
i2l
7: lreturn
8: StackMap locals: long long jdk.internal.access.foreign.MemorySegmentProxy int int
StackMap stack: java.lang.ArithmeticException
pop
9: ldc -2147483648
ldc 2147483647
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
end local 6 end local 5 10: StackMap locals:
StackMap stack:
lload 0
lload 2
invokestatic java.lang.Math.addExact:(JJ)J
11: lreturn
12: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
13: ldc -9223372036854775808
ldc 9223372036854775807
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 op1 J
0 14 2 op2 J
0 14 4 segmentProxy Ljdk/internal/access/foreign/MemorySegmentProxy;
5 10 5 i1 I
6 10 6 i2 I
Exception table:
from to target type
6 7 8 Class java.lang.ArithmeticException
10 11 12 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
op1
op2
segmentProxy
public static long multiplyOffsets(long, long, jdk.internal.access.foreign.MemorySegmentProxy);
descriptor: (JJLjdk/internal/access/foreign/MemorySegmentProxy;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=7, args_size=3
start local 0 start local 2 start local 4 0: aload 4
invokevirtual jdk.internal.access.foreign.MemorySegmentProxy.isSmall:()Z
ifeq 10
1: lload 0
ldc 2147483647
lcmp
ifgt 3
lload 2
ldc 2147483647
lcmp
ifgt 3
2: lload 0
ldc -2147483648
lcmp
iflt 3
lload 2
ldc -2147483648
lcmp
ifge 4
3: StackMap locals:
StackMap stack:
ldc -2147483648
ldc 2147483647
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
4: StackMap locals:
StackMap stack:
lload 0
l2i
istore 5
start local 5 5: lload 2
l2i
istore 6
start local 6 6: iload 5
iload 6
invokestatic java.lang.Math.multiplyExact:(II)I
i2l
7: lreturn
8: StackMap locals: long long jdk.internal.access.foreign.MemorySegmentProxy int int
StackMap stack: java.lang.ArithmeticException
pop
9: ldc -2147483648
ldc 2147483647
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
end local 6 end local 5 10: StackMap locals:
StackMap stack:
lload 0
lload 2
invokestatic java.lang.Math.multiplyExact:(JJ)J
11: lreturn
12: StackMap locals:
StackMap stack: java.lang.ArithmeticException
pop
13: ldc -9223372036854775808
ldc 9223372036854775807
invokestatic jdk.internal.access.foreign.MemorySegmentProxy.overflowException:(JJ)Ljava/lang/IndexOutOfBoundsException;
athrow
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 op1 J
0 14 2 op2 J
0 14 4 segmentProxy Ljdk/internal/access/foreign/MemorySegmentProxy;
5 10 5 i1 I
6 10 6 i2 I
Exception table:
from to target type
6 7 8 Class java.lang.ArithmeticException
10 11 12 Class java.lang.ArithmeticException
MethodParameters:
Name Flags
op1
op2
segmentProxy
private static java.lang.IndexOutOfBoundsException overflowException(long, long);
descriptor: (JJ)Ljava/lang/IndexOutOfBoundsException;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 2 0: new java.lang.IndexOutOfBoundsException
dup
ldc "Overflow occurred during offset computation ; offset exceeded range { %d .. %d }"
iconst_2
anewarray java.lang.Object
dup
iconst_0
lload 0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 2
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.IndexOutOfBoundsException.<init>:(Ljava/lang/String;)V
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 min J
0 1 2 max J
MethodParameters:
Name Flags
min
max
}
SourceFile: "MemorySegmentProxy.java"
InnerClasses:
public abstract Scope = jdk.internal.misc.ScopedMemoryAccess$Scope of jdk.internal.misc.ScopedMemoryAccess