public abstract class org.apache.cassandra.utils.memory.MemoryUtil
minor version: 0
major version: 59
flags: flags: (0x0421) ACC_PUBLIC, ACC_SUPER, ACC_ABSTRACT
this_class: org.apache.cassandra.utils.memory.MemoryUtil
super_class: java.lang.Object
{
private static final long UNSAFE_COPY_THRESHOLD;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 1048576
private static final sun.misc.Unsafe unsafe;
descriptor: Lsun/misc/Unsafe;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> DIRECT_BYTE_BUFFER_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final java.lang.Class<?> RO_DIRECT_BYTE_BUFFER_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final long DIRECT_BYTE_BUFFER_ADDRESS_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DIRECT_BYTE_BUFFER_CAPACITY_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DIRECT_BYTE_BUFFER_LIMIT_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DIRECT_BYTE_BUFFER_POSITION_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long DIRECT_BYTE_BUFFER_ATTACHMENT_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.Class<?> BYTE_BUFFER_CLASS;
descriptor: Ljava/lang/Class;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Signature: Ljava/lang/Class<*>;
private static final long BYTE_BUFFER_OFFSET_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long BYTE_BUFFER_HB_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final long BYTE_ARRAY_BASE_OFFSET;
descriptor: J
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final boolean BIG_ENDIAN;
descriptor: Z
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
public static final boolean INVERTED_ORDER;
descriptor: Z
flags: (0x0019) ACC_PUBLIC, ACC_STATIC, ACC_FINAL
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: ldc Lorg/apache/cassandra/utils/memory/MemoryUtil;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
3: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
getstatic java.nio.ByteOrder.BIG_ENDIAN:Ljava/nio/ByteOrder;
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
putstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
4: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 5
getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifne 5
iconst_1
goto 6
StackMap locals:
StackMap stack:
5: iconst_0
StackMap locals:
StackMap stack: int
6: putstatic org.apache.cassandra.utils.memory.MemoryUtil.INVERTED_ORDER:Z
7: ldc Lsun/misc/Unsafe;
ldc "theUnsafe"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
astore 0
start local 0 8: aload 0
iconst_1
invokevirtual java.lang.reflect.Field.setAccessible:(Z)V
9: aload 0
aconst_null
invokevirtual java.lang.reflect.Field.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast sun.misc.Unsafe
putstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
10: iconst_0
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
start local 1 11: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "address"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ADDRESS_OFFSET:J
12: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "capacity"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CAPACITY_OFFSET:J
13: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "limit"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_LIMIT_OFFSET:J
14: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/Buffer;
ldc "position"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_POSITION_OFFSET:J
15: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 1
ldc "att"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ATTACHMENT_OFFSET:J
16: aload 1
putstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
17: iconst_0
invokestatic java.nio.ByteBuffer.allocateDirect:(I)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.asReadOnlyBuffer:()Ljava/nio/ByteBuffer;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
putstatic org.apache.cassandra.utils.memory.MemoryUtil.RO_DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
18: iconst_0
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
astore 1
19: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/ByteBuffer;
ldc "offset"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_BUFFER_OFFSET_OFFSET:J
20: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc Ljava/nio/ByteBuffer;
ldc "hb"
invokevirtual java.lang.Class.getDeclaredField:(Ljava/lang/String;)Ljava/lang/reflect/Field;
invokevirtual sun.misc.Unsafe.objectFieldOffset:(Ljava/lang/reflect/Field;)J
putstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_BUFFER_HB_OFFSET:J
21: aload 1
putstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_BUFFER_CLASS:Ljava/lang/Class;
22: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
ldc [B
invokevirtual sun.misc.Unsafe.arrayBaseOffset:(Ljava/lang/Class;)I
i2l
putstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_ARRAY_BASE_OFFSET:J
end local 1 end local 0 23: goto 26
24: StackMap locals:
StackMap stack: java.lang.Exception
astore 0
start local 0 25: new java.lang.AssertionError
dup
aload 0
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 0 26: StackMap locals:
StackMap stack:
return
LocalVariableTable:
Start End Slot Name Signature
8 23 0 field Ljava/lang/reflect/Field;
11 23 1 clazz Ljava/lang/Class<*>;
25 26 0 e Ljava/lang/Exception;
Exception table:
from to target type
7 23 24 Class java.lang.Exception
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 Lorg/apache/cassandra/utils/memory/MemoryUtil;
public static int pageSize();
descriptor: ()I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
invokevirtual sun.misc.Unsafe.pageSize:()I
ireturn
LocalVariableTable:
Start End Slot Name Signature
public static long getAddress(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ADDRESS_OFFSET:J
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 buffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
buffer
public static long allocate(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
invokestatic com.sun.jna.Native.malloc:(J)J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 size J
MethodParameters:
Name Flags
size
public static void free(long);
descriptor: (J)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: lload 0
invokestatic com.sun.jna.Native.free:(J)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 peer J
MethodParameters:
Name Flags
peer
public static void setByte(long, byte);
descriptor: (JB)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putByte:(JB)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 b B
MethodParameters:
Name Flags
address
b
public static void setByte(long, int, byte);
descriptor: (JIB)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 2 start local 3 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
i2l
iload 3
invokevirtual sun.misc.Unsafe.setMemory:(JJB)V
1: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 count I
0 2 3 b B
MethodParameters:
Name Flags
address
count
b
public static void setShort(long, short);
descriptor: (JS)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putShort:(JS)V
1: return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 address J
0 2 2 s S
MethodParameters:
Name Flags
address
s
public static void setInt(long, int);
descriptor: (JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 2
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
invokevirtual sun.misc.Unsafe.putInt:(JI)V
goto 3
2: StackMap locals:
StackMap stack:
lload 0
iload 2
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.putIntByByte:(JI)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 address J
0 4 2 l I
MethodParameters:
Name Flags
address
l
public static void setLong(long, long);
descriptor: (JJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=4, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 2
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lload 2
invokevirtual sun.misc.Unsafe.putLong:(JJ)V
goto 3
2: StackMap locals:
StackMap stack:
lload 0
lload 2
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.putLongByByte:(JJ)V
3: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 address J
0 4 2 l J
MethodParameters:
Name Flags
address
l
public static byte getByte(long);
descriptor: (J)B
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
MethodParameters:
Name Flags
address
public static int getShort(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getShort:(J)S
goto 2
StackMap locals:
StackMap stack:
1: lload 0
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getShortByByte:(J)I
StackMap locals:
StackMap stack: int
2: ldc 65535
iand
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 address J
MethodParameters:
Name Flags
address
public static int getInt(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getInt:(J)I
goto 2
StackMap locals:
StackMap stack:
1: lload 0
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getIntByByte:(J)I
StackMap locals:
StackMap stack: int
2: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 address J
MethodParameters:
Name Flags
address
public static long getLong(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.Architecture.IS_UNALIGNED:Z
ifeq 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getLong:(J)J
goto 2
StackMap locals:
StackMap stack:
1: lload 0
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getLongByByte:(J)J
StackMap locals:
StackMap stack: long
2: lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 address J
MethodParameters:
Name Flags
address
public static java.nio.ByteBuffer getByteBuffer(long, int);
descriptor: (JI)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 2 0: lload 0
iload 2
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getByteBuffer:(JILjava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
areturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 address J
0 1 2 length I
MethodParameters:
Name Flags
address
length
public static java.nio.ByteBuffer getByteBuffer(long, int, java.nio.ByteOrder);
descriptor: (JILjava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=5, args_size=3
start local 0 start local 2 start local 3 0: aload 3
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getHollowDirectByteBuffer:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
astore 4
start local 4 1: aload 4
lload 0
iload 2
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.setByteBuffer:(Ljava/nio/ByteBuffer;JI)V
2: aload 4
areturn
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 address J
0 3 2 length I
0 3 3 order Ljava/nio/ByteOrder;
1 3 4 instance Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
address
length
order
public static java.nio.ByteBuffer getHollowDirectByteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.getHollowDirectByteBuffer:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
areturn
LocalVariableTable:
Start End Slot Name Signature
public static java.nio.ByteBuffer getHollowDirectByteBuffer(java.nio.ByteOrder);
descriptor: (Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 1
start local 1 1: goto 4
end local 1 2: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 2
start local 2 3: new java.lang.AssertionError
dup
aload 2
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 2 start local 1 4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 1
aload 0
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 order Ljava/nio/ByteOrder;
1 2 1 instance Ljava/nio/ByteBuffer;
4 6 1 instance Ljava/nio/ByteBuffer;
3 4 2 e Ljava/lang/InstantiationException;
Exception table:
from to target type
0 1 2 Class java.lang.InstantiationException
MethodParameters:
Name Flags
order
public static java.nio.ByteBuffer getHollowByteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=2, args_size=0
0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_BUFFER_CLASS:Ljava/lang/Class;
invokevirtual sun.misc.Unsafe.allocateInstance:(Ljava/lang/Class;)Ljava/lang/Object;
checkcast java.nio.ByteBuffer
astore 0
start local 0 1: goto 4
end local 0 2: StackMap locals:
StackMap stack: java.lang.InstantiationException
astore 1
start local 1 3: new java.lang.AssertionError
dup
aload 1
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
end local 1 start local 0 4: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 0
invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
invokevirtual java.nio.ByteBuffer.order:(Ljava/nio/ByteOrder;)Ljava/nio/ByteBuffer;
pop
5: aload 0
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
1 2 0 instance Ljava/nio/ByteBuffer;
4 6 0 instance Ljava/nio/ByteBuffer;
3 4 1 e Ljava/lang/InstantiationException;
Exception table:
from to target type
0 1 2 Class java.lang.InstantiationException
public static void setByteBuffer(java.nio.ByteBuffer, long, int);
descriptor: (Ljava/nio/ByteBuffer;JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ADDRESS_OFFSET:J
lload 1
invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CAPACITY_OFFSET:J
iload 3
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_LIMIT_OFFSET:J
iload 3
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
3: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 instance Ljava/nio/ByteBuffer;
0 4 1 address J
0 4 3 length I
MethodParameters:
Name Flags
instance
address
length
public static java.lang.Object getAttachment(java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;)Ljava/lang/Object;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ATTACHMENT_OFFSET:J
invokevirtual sun.misc.Unsafe.getObject:(Ljava/lang/Object;J)Ljava/lang/Object;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 instance Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
instance
public static void setAttachment(java.nio.ByteBuffer, java.lang.Object);
descriptor: (Ljava/nio/ByteBuffer;Ljava/lang/Object;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ATTACHMENT_OFFSET:J
aload 1
invokevirtual sun.misc.Unsafe.putObject:(Ljava/lang/Object;JLjava/lang/Object;)V
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 instance Ljava/nio/ByteBuffer;
0 3 1 next Ljava/lang/Object;
MethodParameters:
Name Flags
instance
next
public static java.nio.ByteBuffer duplicateDirectByteBuffer(java.nio.ByteBuffer, java.nio.ByteBuffer);
descriptor: (Ljava/nio/ByteBuffer;Ljava/nio/ByteBuffer;)Ljava/nio/ByteBuffer;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=8, locals=2, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
if_acmpeq 1
aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
getstatic org.apache.cassandra.utils.memory.MemoryUtil.RO_DIRECT_BYTE_BUFFER_CLASS:Ljava/lang/Class;
if_acmpeq 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ADDRESS_OFFSET:J
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_ADDRESS_OFFSET:J
invokevirtual sun.misc.Unsafe.getLong:(Ljava/lang/Object;J)J
invokevirtual sun.misc.Unsafe.putLong:(Ljava/lang/Object;JJ)V
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_POSITION_OFFSET:J
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_POSITION_OFFSET:J
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
3: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_LIMIT_OFFSET:J
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_LIMIT_OFFSET:J
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 1
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CAPACITY_OFFSET:J
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.DIRECT_BYTE_BUFFER_CAPACITY_OFFSET:J
invokevirtual sun.misc.Unsafe.getInt:(Ljava/lang/Object;J)I
invokevirtual sun.misc.Unsafe.putInt:(Ljava/lang/Object;JI)V
5: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 source Ljava/nio/ByteBuffer;
0 6 1 hollowBuffer Ljava/nio/ByteBuffer;
MethodParameters:
Name Flags
source
hollowBuffer
public static long getLongByByte(long);
descriptor: (J)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifeq 16
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
bipush 56
lshl
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 48
lshl
3: lor
4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 40
lshl
5: lor
6: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 32
lshl
7: lor
8: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 4
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 24
lshl
9: lor
10: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 5
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 16
lshl
11: lor
12: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 6
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 8
lshl
13: lor
14: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 7
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
15: lor
lreturn
16: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 7
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
bipush 56
lshl
17: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 6
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 48
lshl
18: lor
19: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 5
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 40
lshl
20: lor
21: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 4
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 32
lshl
22: lor
23: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 24
lshl
24: lor
25: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 16
lshl
26: lor
27: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
bipush 8
lshl
28: lor
29: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
i2l
ldc 255
land
30: lor
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 address J
MethodParameters:
Name Flags
address
public static int getIntByByte(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifeq 8
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
bipush 24
ishl
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
bipush 16
ishl
3: ior
4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
bipush 8
ishl
5: ior
6: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
7: ior
ireturn
8: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
bipush 24
ishl
9: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
bipush 16
ishl
10: ior
11: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
bipush 8
ishl
12: ior
13: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
14: ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 address J
MethodParameters:
Name Flags
address
public static int getShortByByte(long);
descriptor: (J)I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=1
start local 0 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifeq 4
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
bipush 8
ishl
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
3: ior
ireturn
4: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
invokevirtual sun.misc.Unsafe.getByte:(J)B
bipush 8
ishl
5: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
invokevirtual sun.misc.Unsafe.getByte:(J)B
sipush 255
iand
6: ior
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 address J
MethodParameters:
Name Flags
address
public static void putLongByByte(long, long);
descriptor: (JJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=4, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifeq 10
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lload 2
bipush 56
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
lload 2
bipush 48
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
3: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
lload 2
bipush 40
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
lload 2
bipush 32
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
5: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 4
ladd
lload 2
bipush 24
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
6: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 5
ladd
lload 2
bipush 16
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
7: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 6
ladd
lload 2
bipush 8
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
8: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 7
ladd
lload 2
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
9: goto 18
10: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 7
ladd
lload 2
bipush 56
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
11: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 6
ladd
lload 2
bipush 48
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
12: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 5
ladd
lload 2
bipush 40
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
13: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 4
ladd
lload 2
bipush 32
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
14: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
lload 2
bipush 24
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
15: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
lload 2
bipush 16
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
16: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
lload 2
bipush 8
lshr
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
17: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lload 2
l2i
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
18: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 address J
0 19 2 value J
MethodParameters:
Name Flags
address
value
public static void putIntByByte(long, int);
descriptor: (JI)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=3, args_size=2
start local 0 start local 2 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.BIG_ENDIAN:Z
ifeq 6
1: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
bipush 24
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
2: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
iload 2
bipush 16
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
3: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
iload 2
bipush 8
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
iload 2
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
5: goto 10
6: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 3
ladd
iload 2
bipush 24
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
7: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
ldc 2
ladd
iload 2
bipush 16
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
8: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lconst_1
ladd
iload 2
bipush 8
ishr
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
9: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
iload 2
i2b
invokevirtual sun.misc.Unsafe.putByte:(JB)V
10: StackMap locals:
StackMap stack:
return
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 address J
0 11 2 value I
MethodParameters:
Name Flags
address
value
public static void setBytes(long, java.nio.ByteBuffer);
descriptor: (JLjava/nio/ByteBuffer;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=2
start local 0 start local 2 0: aload 2
invokevirtual java.nio.ByteBuffer.position:()I
istore 3
start local 3 1: aload 2
invokevirtual java.nio.ByteBuffer.limit:()I
iload 3
isub
istore 4
start local 4 2: iload 4
ifne 4
3: return
4: StackMap locals: int int
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.isDirect:()Z
ifeq 6
5: aload 2
checkcast sun.nio.ch.DirectBuffer
invokeinterface sun.nio.ch.DirectBuffer.address:()J
iload 3
i2l
ladd
lload 0
iload 4
i2l
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.setBytes:(JJJ)V
goto 7
6: StackMap locals:
StackMap stack:
lload 0
aload 2
invokevirtual java.nio.ByteBuffer.array:()[B
aload 2
invokevirtual java.nio.ByteBuffer.arrayOffset:()I
iload 3
iadd
iload 4
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.setBytes:(J[BII)V
7: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 address J
0 8 2 buffer Ljava/nio/ByteBuffer;
1 8 3 start I
2 8 4 count I
MethodParameters:
Name Flags
address
buffer
public static void setBytes(long, byte[], int, int);
descriptor: (J[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 2 start local 3 start local 4 0: getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 1
aload 2
ifnonnull 1
new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
1: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.$assertionsDisabled:Z
ifne 3
iload 3
iflt 2
iload 4
iflt 2
iload 3
iload 4
iadd
aload 2
arraylength
if_icmple 3
StackMap locals:
StackMap stack:
2: new java.lang.AssertionError
dup
invokespecial java.lang.AssertionError.<init>:()V
athrow
3: StackMap locals:
StackMap stack:
aload 2
iload 3
lload 0
iload 4
i2l
invokestatic org.apache.cassandra.utils.memory.MemoryUtil.setBytes:([BIJJ)V
4: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 address J
0 5 2 buffer [B
0 5 3 bufferOffset I
0 5 4 count I
MethodParameters:
Name Flags
address
buffer
bufferOffset
count
public static void setBytes(long, long, long);
descriptor: (JJJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=7, locals=8, args_size=3
start local 0 start local 2 start local 4 0: goto 8
1: StackMap locals:
StackMap stack:
lload 4
ldc 1048576
lcmp
ifle 2
ldc 1048576
goto 3
StackMap locals:
StackMap stack:
2: lload 4
StackMap locals:
StackMap stack: long
3: lstore 6
start local 6 4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
lload 0
lload 2
lload 6
invokevirtual sun.misc.Unsafe.copyMemory:(JJJ)V
5: lload 4
lload 6
lsub
lstore 4
6: lload 0
lload 6
ladd
lstore 0
7: lload 2
lload 6
ladd
lstore 2
end local 6 8: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 1
9: return
end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 src J
0 10 2 trg J
0 10 4 count J
4 8 6 size J
MethodParameters:
Name Flags
src
trg
count
public static void setBytes(byte[], int, long, long);
descriptor: ([BIJJ)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 4 0: goto 8
1: StackMap locals:
StackMap stack:
lload 4
ldc 1048576
lcmp
ifle 2
ldc 1048576
goto 3
StackMap locals:
StackMap stack:
2: lload 4
StackMap locals:
StackMap stack: long
3: lstore 6
start local 6 4: getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aload 0
getstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_ARRAY_BASE_OFFSET:J
iload 1
i2l
ladd
aconst_null
lload 2
lload 6
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
5: lload 4
lload 6
lsub
lstore 4
6: iload 1
i2l
lload 6
ladd
l2i
istore 1
7: lload 2
lload 6
ladd
lstore 2
end local 6 8: StackMap locals:
StackMap stack:
lload 4
lconst_0
lcmp
ifgt 1
9: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 src [B
0 10 1 offset I
0 10 2 trg J
0 10 4 count J
4 8 6 size J
MethodParameters:
Name Flags
src
offset
trg
count
public static void getBytes(long, byte[], int, int);
descriptor: (J[BII)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=5, args_size=4
start local 0 start local 2 start local 3 start local 4 0: aload 2
ifnonnull 2
1: new java.lang.NullPointerException
dup
invokespecial java.lang.NullPointerException.<init>:()V
athrow
2: StackMap locals:
StackMap stack:
iload 3
iflt 3
iload 4
iflt 3
iload 4
aload 2
arraylength
iload 3
isub
if_icmple 4
3: StackMap locals:
StackMap stack:
new java.lang.IndexOutOfBoundsException
dup
invokespecial java.lang.IndexOutOfBoundsException.<init>:()V
athrow
4: StackMap locals:
StackMap stack:
iload 4
ifne 6
5: return
6: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.utils.memory.MemoryUtil.unsafe:Lsun/misc/Unsafe;
aconst_null
lload 0
aload 2
getstatic org.apache.cassandra.utils.memory.MemoryUtil.BYTE_ARRAY_BASE_OFFSET:J
iload 3
i2l
ladd
iload 4
i2l
invokevirtual sun.misc.Unsafe.copyMemory:(Ljava/lang/Object;JLjava/lang/Object;JJ)V
7: return
end local 4 end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 address J
0 8 2 buffer [B
0 8 3 bufferOffset I
0 8 4 count I
MethodParameters:
Name Flags
address
buffer
bufferOffset
count
}
SourceFile: "MemoryUtil.java"