public final class org.jruby.ext.ffi.ArrayMemoryIO extends org.jruby.ext.ffi.MemoryIO
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: org.jruby.ext.ffi.ArrayMemoryIO
super_class: org.jruby.ext.ffi.MemoryIO
{
protected static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO IO;
descriptor: Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final int LONG_SIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected static final int ADDRESS_SIZE;
descriptor: I
flags: (0x001c) ACC_PROTECTED, ACC_STATIC, ACC_FINAL
protected final org.jruby.Ruby runtime;
descriptor: Lorg/jruby/Ruby;
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final byte[] buffer;
descriptor: [B
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int offset;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
protected final int length;
descriptor: I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: invokestatic org.jruby.ext.ffi.ArrayMemoryIO.getArrayIO:()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
putstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
1: invokestatic org.jruby.ext.ffi.Platform.getPlatform:()Lorg/jruby/ext/ffi/Platform;
invokevirtual org.jruby.ext.ffi.Platform.longSize:()I
putstatic org.jruby.ext.ffi.ArrayMemoryIO.LONG_SIZE:I
2: invokestatic org.jruby.ext.ffi.Platform.getPlatform:()Lorg/jruby/ext/ffi/Platform;
invokevirtual org.jruby.ext.ffi.Platform.addressSize:()I
putstatic org.jruby.ext.ffi.ArrayMemoryIO.ADDRESS_SIZE:I
return
LocalVariableTable:
Start End Slot Name Signature
public void <init>(org.jruby.Ruby, byte[], int, int);
descriptor: (Lorg/jruby/Ruby;[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
iconst_0
lconst_0
invokespecial org.jruby.ext.ffi.MemoryIO.<init>:(ZJ)V
1: aload 0
aload 1
putfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
2: aload 0
aload 2
putfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
3: aload 0
iload 3
putfield org.jruby.ext.ffi.ArrayMemoryIO.offset:I
4: aload 0
iload 4
putfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
5: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 6 1 runtime Lorg/jruby/Ruby;
0 6 2 buffer [B
0 6 3 offset I
0 6 4 length I
MethodParameters:
Name Flags
runtime
buffer
offset
length
public void <init>(org.jruby.Ruby, int);
descriptor: (Lorg/jruby/Ruby;I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
iload 2
newarray 8
iconst_0
iload 2
invokespecial org.jruby.ext.ffi.ArrayMemoryIO.<init>:(Lorg/jruby/Ruby;[BII)V
1: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 runtime Lorg/jruby/Ruby;
0 2 2 size I
MethodParameters:
Name Flags
runtime
size
private final void checkBounds(long, long);
descriptor: (JJ)V
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayLength:()I
i2l
lload 1
lload 3
invokestatic org.jruby.ext.ffi.Util.checkBounds:(Lorg/jruby/Ruby;JJJ)V
1: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 off J
0 2 3 len J
MethodParameters:
Name Flags
off
len
public final byte[] array();
descriptor: ()[B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
public final int arrayOffset();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.offset:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
public final int arrayLength();
descriptor: ()I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
private static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO getArrayIO();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: 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
ifeq 5
1: invokestatic org.jruby.ext.ffi.Platform.getPlatform:()Lorg/jruby/ext/ffi/Platform;
invokevirtual org.jruby.ext.ffi.Platform.addressSize:()I
bipush 64
if_icmpne 3
2: invokestatic org.jruby.ext.ffi.ArrayMemoryIO.newBE64ArrayIO:()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
goto 4
StackMap locals:
StackMap stack:
3: invokestatic org.jruby.ext.ffi.ArrayMemoryIO.newBE32ArrayIO:()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
4: StackMap locals:
StackMap stack: org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO
areturn
5: StackMap locals:
StackMap stack:
invokestatic org.jruby.ext.ffi.Platform.getPlatform:()Lorg/jruby/ext/ffi/Platform;
invokevirtual org.jruby.ext.ffi.Platform.addressSize:()I
bipush 64
if_icmpne 7
6: invokestatic org.jruby.ext.ffi.ArrayMemoryIO.newLE64ArrayIO:()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
goto 8
StackMap locals:
StackMap stack:
7: invokestatic org.jruby.ext.ffi.ArrayMemoryIO.newLE32ArrayIO:()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
8: StackMap locals:
StackMap stack: org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO
areturn
LocalVariableTable:
Start End Slot Name Signature
private static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO newBE64ArrayIO();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.ext.ffi.ArrayMemoryIO$BE64ArrayIO
dup
invokespecial org.jruby.ext.ffi.ArrayMemoryIO$BE64ArrayIO.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO newBE32ArrayIO();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.ext.ffi.ArrayMemoryIO$BE32ArrayIO
dup
invokespecial org.jruby.ext.ffi.ArrayMemoryIO$BE32ArrayIO.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO newLE64ArrayIO();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.ext.ffi.ArrayMemoryIO$LE64ArrayIO
dup
invokespecial org.jruby.ext.ffi.ArrayMemoryIO$LE64ArrayIO.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
private static final org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO newLE32ArrayIO();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
Code:
stack=2, locals=0, args_size=0
0: new org.jruby.ext.ffi.ArrayMemoryIO$LE32ArrayIO
dup
invokespecial org.jruby.ext.ffi.ArrayMemoryIO$LE32ArrayIO.<init>:()V
areturn
LocalVariableTable:
Start End Slot Name Signature
protected final int index(long);
descriptor: (J)I
flags: (0x0014) ACC_PROTECTED, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.offset:I
lload 1
l2i
iadd
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 1 1 off J
MethodParameters:
Name Flags
off
public final java.nio.ByteOrder order();
descriptor: ()Ljava/nio/ByteOrder;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=1, locals=1, args_size=1
start local 0 0: invokestatic java.nio.ByteOrder.nativeOrder:()Ljava/nio/ByteOrder;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
public org.jruby.ext.ffi.ArrayMemoryIO slice(long);
descriptor: (J)Lorg/jruby/ext/ffi/ArrayMemoryIO;
flags: (0x0001) ACC_PUBLIC
Code:
stack=8, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
lconst_0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: lload 1
lconst_0
lcmp
ifne 2
aload 0
goto 3
StackMap locals:
StackMap stack:
2: new org.jruby.ext.ffi.ArrayMemoryIO
dup
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.array:()[B
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayOffset:()I
lload 1
l2i
iadd
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayLength:()I
lload 1
l2i
isub
invokespecial org.jruby.ext.ffi.ArrayMemoryIO.<init>:(Lorg/jruby/Ruby;[BII)V
StackMap locals:
StackMap stack: org.jruby.ext.ffi.ArrayMemoryIO
3: areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 4 1 offset J
MethodParameters:
Name Flags
offset
public org.jruby.ext.ffi.ArrayMemoryIO slice(long, long);
descriptor: (JJ)Lorg/jruby/ext/ffi/ArrayMemoryIO;
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: lload 1
lconst_0
lcmp
ifne 3
lload 3
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
i2l
lcmp
ifne 3
2: aload 0
goto 4
3: StackMap locals:
StackMap stack:
new org.jruby.ext.ffi.ArrayMemoryIO
dup
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.array:()[B
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayOffset:()I
lload 1
l2i
iadd
lload 3
l2i
invokespecial org.jruby.ext.ffi.ArrayMemoryIO.<init>:(Lorg/jruby/Ruby;[BII)V
4: StackMap locals:
StackMap stack: org.jruby.ext.ffi.ArrayMemoryIO
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 5 1 offset J
0 5 3 size J
MethodParameters:
Name Flags
offset
size
public org.jruby.ext.ffi.ArrayMemoryIO dup();
descriptor: ()Lorg/jruby/ext/ffi/ArrayMemoryIO;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=2, args_size=1
start local 0 0: new org.jruby.ext.ffi.ArrayMemoryIO
dup
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
invokespecial org.jruby.ext.ffi.ArrayMemoryIO.<init>:(Lorg/jruby/Ruby;I)V
astore 1
start local 1 1: aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.array:()[B
aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayOffset:()I
aload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.array:()[B
aload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.arrayOffset:()I
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
1 3 1 tmp Lorg/jruby/ext/ffi/ArrayMemoryIO;
public java.nio.ByteBuffer asByteBuffer();
descriptor: ()Ljava/nio/ByteBuffer;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.offset:I
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
invokestatic java.nio.ByteBuffer.wrap:([BII)Ljava/nio/ByteBuffer;
invokevirtual java.nio.ByteBuffer.duplicate:()Ljava/nio/ByteBuffer;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
public final org.jruby.ext.ffi.MemoryIO getMemoryIO(long);
descriptor: (J)Lorg/jruby/ext/ffi/MemoryIO;
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
getstatic org.jruby.ext.ffi.ArrayMemoryIO.ADDRESS_SIZE:I
iconst_3
ishr
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: invokestatic org.jruby.ext.ffi.Factory.getInstance:()Lorg/jruby/ext/ffi/Factory;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.runtime:Lorg/jruby/Ruby;
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.getAddress:(J)J
invokevirtual org.jruby.ext.ffi.Factory.wrapDirectMemory:(Lorg/jruby/Ruby;J)Lorg/jruby/ext/ffi/MemoryIO;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final void putMemoryIO(long, org.jruby.ext.ffi.MemoryIO);
descriptor: (JLorg/jruby/ext/ffi/MemoryIO;)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
getstatic org.jruby.ext.ffi.ArrayMemoryIO.ADDRESS_SIZE:I
iconst_3
ishr
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
aload 3
invokevirtual org.jruby.ext.ffi.MemoryIO.address:()J
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.putAddress:(JJ)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value Lorg/jruby/ext/ffi/MemoryIO;
MethodParameters:
Name Flags
offset
value
public final byte getByte(long);
descriptor: (J)B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
lconst_1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
baload
sipush 255
iand
i2b
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final short getShort(long);
descriptor: (J)S
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc 2
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt16:([BI)S
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final int getInt(long);
descriptor: (J)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc 4
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt32:([BI)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final long getLong(long);
descriptor: (J)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc 8
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt64:([BI)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final long getNativeLong(long);
descriptor: (J)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.jruby.ext.ffi.ArrayMemoryIO.LONG_SIZE:I
bipush 32
if_icmpne 1
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.getInt:(J)I
i2l
goto 2
StackMap locals:
StackMap stack:
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.getLong:(J)J
StackMap locals:
StackMap stack: long
2: lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
MethodParameters:
Name Flags
offset
public final float getFloat(long);
descriptor: (J)F
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc 4
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getFloat32:([BI)F
freturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final double getDouble(long);
descriptor: (J)D
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
ldc 8
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getFloat64:([BI)D
dreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final long getAddress(long);
descriptor: (J)J
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
getstatic org.jruby.ext.ffi.ArrayMemoryIO.ADDRESS_SIZE:I
iconst_3
ishr
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getAddress:([BI)J
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 2 1 offset J
MethodParameters:
Name Flags
offset
public final void putByte(long, byte);
descriptor: (JB)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
lconst_1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
iload 3
bastore
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value B
MethodParameters:
Name Flags
offset
value
public final void putShort(long, short);
descriptor: (JS)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
ldc 2
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
iload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt16:([BII)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value S
MethodParameters:
Name Flags
offset
value
public final void putInt(long, int);
descriptor: (JI)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
ldc 4
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
iload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt32:([BII)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value I
MethodParameters:
Name Flags
offset
value
public final void putLong(long, long);
descriptor: (JJ)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
ldc 8
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt64:([BIJ)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value J
MethodParameters:
Name Flags
offset
value
public final void putNativeLong(long, long);
descriptor: (JJ)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: getstatic org.jruby.ext.ffi.ArrayMemoryIO.LONG_SIZE:I
bipush 32
if_icmpne 3
1: aload 0
lload 1
lload 3
l2i
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.putInt:(JI)V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
lload 1
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.putLong:(JJ)V
4: StackMap locals:
StackMap stack:
return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 5 1 offset J
0 5 3 value J
MethodParameters:
Name Flags
offset
value
public final void putFloat(long, float);
descriptor: (JF)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=4, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
ldc 4
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
fload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putFloat32:([BIF)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value F
MethodParameters:
Name Flags
offset
value
public final void putDouble(long, double);
descriptor: (JD)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
ldc 8
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
dload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putFloat64:([BID)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value D
MethodParameters:
Name Flags
offset
value
public final void putAddress(long, long);
descriptor: (JJ)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
getstatic org.jruby.ext.ffi.ArrayMemoryIO.ADDRESS_SIZE:I
iconst_3
ishr
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putAddress:([BIJ)V
2: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 value J
MethodParameters:
Name Flags
offset
value
public final void get(long, byte[], int, int);
descriptor: (J[BII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
aload 3
iload 4
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 dst [B
0 3 4 off I
0 3 5 len I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, byte[], int, int);
descriptor: (J[BII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 3
iload 4
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 src [B
0 3 4 off I
0 3 5 len I
MethodParameters:
Name Flags
offset
src
off
len
public final void get(long, short[], int, int);
descriptor: (J[SII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_1
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 7
iadd
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_1
ishl
iadd
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt16:([BI)S
sastore
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 dst [S
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, short[], int, int);
descriptor: (J[SII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_1
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_1
ishl
iadd
aload 3
iload 4
iload 7
iadd
saload
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt16:([BII)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 src [S
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
src
off
len
public final void get(long, int[], int, int);
descriptor: (J[III)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_2
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 7
iadd
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_2
ishl
iadd
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt32:([BI)I
iastore
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 dst [I
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, int[], int, int);
descriptor: (J[III)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_2
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_2
ishl
iadd
aload 3
iload 4
iload 7
iadd
iaload
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt32:([BII)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 src [I
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
src
off
len
public final void get(long, long[], int, int);
descriptor: (J[JII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_3
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 7
iadd
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_3
ishl
iadd
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getInt64:([BI)J
lastore
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 dst [J
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, long[], int, int);
descriptor: (J[JII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_3
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_3
ishl
iadd
aload 3
iload 4
iload 7
iadd
laload
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putInt64:([BIJ)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 src [J
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
src
off
len
public final void get(long, float[], int, int);
descriptor: (J[FII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_2
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 7
iadd
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_2
ishl
iadd
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getFloat32:([BI)F
fastore
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 dst [F
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, float[], int, int);
descriptor: (J[FII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_2
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_2
ishl
iadd
aload 3
iload 4
iload 7
iadd
faload
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putFloat32:([BIF)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 src [F
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
src
off
len
public final void get(long, double[], int, int);
descriptor: (J[DII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=7, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_3
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
aload 3
iload 4
iload 7
iadd
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_3
ishl
iadd
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.getFloat64:([BI)D
dastore
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 dst [D
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
dst
off
len
public final void put(long, double[], int, int);
descriptor: (J[DII)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=6, locals=8, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_3
ishl
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 6
start local 6 2: iconst_0
istore 7
start local 7 3: goto 6
4: StackMap locals: int int
StackMap stack:
getstatic org.jruby.ext.ffi.ArrayMemoryIO.IO:Lorg/jruby/ext/ffi/ArrayMemoryIO$ArrayIO;
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 6
iload 7
iconst_3
ishl
iadd
aload 3
iload 4
iload 7
iadd
daload
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO.putFloat64:([BID)V
5: iinc 7 1
StackMap locals:
StackMap stack:
6: iload 7
iload 5
if_icmplt 4
end local 7 7: return
end local 6 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 src [D
0 8 4 off I
0 8 5 len I
2 8 6 begin I
3 7 7 i I
MethodParameters:
Name Flags
offset
src
off
len
public final int indexOf(long, byte);
descriptor: (JB)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 4
start local 4 1: iconst_0
istore 5
start local 5 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 4
iload 5
iadd
baload
iload 3
if_icmpne 5
4: iload 5
ireturn
5: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
6: iload 5
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
if_icmplt 3
end local 5 7: iconst_m1
ireturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 value B
1 8 4 off I
2 7 5 i I
MethodParameters:
Name Flags
offset
value
public final int indexOf(long, byte, int);
descriptor: (JBI)I
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=3, locals=7, args_size=4
start local 0 start local 1 start local 3 start local 4 0: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
istore 5
start local 5 1: iconst_0
istore 6
start local 6 2: goto 6
3: StackMap locals: int int
StackMap stack:
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 5
iload 6
iadd
baload
iload 3
if_icmpne 5
4: iload 6
ireturn
5: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
6: iload 6
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
iload 4
invokestatic java.lang.Math.min:(II)I
if_icmplt 3
end local 6 7: iconst_m1
ireturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 8 1 offset J
0 8 3 value B
0 8 4 maxlen I
1 8 5 off I
2 7 6 i I
MethodParameters:
Name Flags
offset
value
maxlen
public final void setMemory(long, long, byte);
descriptor: (JJB)V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=4
start local 0 start local 1 start local 3 start local 5 0: aload 0
lload 1
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
lload 3
l2i
iload 5
invokestatic java.util.Arrays.fill:([BIIB)V
2: return
end local 5 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 3 1 offset J
0 3 3 size J
0 3 5 value B
MethodParameters:
Name Flags
offset
size
value
public final byte[] getZeroTerminatedByteArray(long);
descriptor: (J)[B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=5, args_size=2
start local 0 start local 1 0: aload 0
lload 1
lconst_1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
iconst_0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.indexOf:(JB)I
istore 3
start local 3 2: iload 3
iconst_m1
if_icmpeq 3
iload 3
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
lload 1
l2i
isub
StackMap locals:
StackMap stack: int
4: newarray 8
astore 4
start local 4 5: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
aload 4
iconst_0
aload 4
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 4
areturn
end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 7 1 offset J
2 7 3 len I
5 7 4 bytes [B
MethodParameters:
Name Flags
offset
public final byte[] getZeroTerminatedByteArray(long, int);
descriptor: (JI)[B
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=5, locals=6, args_size=3
start local 0 start local 1 start local 3 0: aload 0
lload 1
lconst_1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 0
lload 1
iconst_0
iload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.indexOf:(JBI)I
istore 4
start local 4 2: iload 4
iconst_m1
if_icmpeq 3
iload 4
goto 4
StackMap locals: int
StackMap stack:
3: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
lload 1
l2i
isub
iload 3
invokestatic java.lang.Math.min:(II)I
StackMap locals:
StackMap stack: int
4: newarray 8
astore 5
start local 5 5: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
aload 5
iconst_0
aload 5
arraylength
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
6: aload 5
areturn
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 7 1 offset J
0 7 3 maxlen I
2 7 4 len I
5 7 5 bytes [B
MethodParameters:
Name Flags
offset
maxlen
public void putZeroTerminatedByteArray(long, byte[], int, int);
descriptor: (J[BII)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=6, args_size=5
start local 0 start local 1 start local 3 start local 4 start local 5 0: aload 0
lload 1
iload 5
iconst_1
iadd
i2l
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.checkBounds:(JJ)V
1: aload 3
iload 4
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.index:(J)I
iload 5
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
2: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
iload 5
iconst_0
bastore
3: return
end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
0 4 1 offset J
0 4 3 bytes [B
0 4 4 off I
0 4 5 len I
MethodParameters:
Name Flags
offset
bytes
off
len
public final void clear();
descriptor: ()V
flags: (0x0011) ACC_PUBLIC, ACC_FINAL
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.buffer:[B
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.offset:I
aload 0
getfield org.jruby.ext.ffi.ArrayMemoryIO.length:I
iconst_0
invokestatic java.util.Arrays.fill:([BIIB)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/jruby/ext/ffi/ArrayMemoryIO;
public org.jruby.ext.ffi.MemoryIO slice(long, long);
descriptor: (JJ)Lorg/jruby/ext/ffi/MemoryIO;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=5, locals=5, args_size=3
0: aload 0
lload 1
lload 3
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.slice:(JJ)Lorg/jruby/ext/ffi/ArrayMemoryIO;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.jruby.ext.ffi.MemoryIO slice(long);
descriptor: (J)Lorg/jruby/ext/ffi/MemoryIO;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
0: aload 0
lload 1
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.slice:(J)Lorg/jruby/ext/ffi/ArrayMemoryIO;
areturn
LocalVariableTable:
Start End Slot Name Signature
public org.jruby.ext.ffi.MemoryIO dup();
descriptor: ()Lorg/jruby/ext/ffi/MemoryIO;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.dup:()Lorg/jruby/ext/ffi/ArrayMemoryIO;
areturn
LocalVariableTable:
Start End Slot Name Signature
public java.lang.Object array();
descriptor: ()Ljava/lang/Object;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.jruby.ext.ffi.ArrayMemoryIO.array:()[B
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "ArrayMemoryIO.java"
NestMembers:
org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO org.jruby.ext.ffi.ArrayMemoryIO$BE32ArrayIO org.jruby.ext.ffi.ArrayMemoryIO$BE64ArrayIO org.jruby.ext.ffi.ArrayMemoryIO$BigEndianArrayIO org.jruby.ext.ffi.ArrayMemoryIO$LE32ArrayIO org.jruby.ext.ffi.ArrayMemoryIO$LE64ArrayIO org.jruby.ext.ffi.ArrayMemoryIO$LittleEndianArrayIO
InnerClasses:
protected abstract ArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$ArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private final BE32ArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$BE32ArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private final BE64ArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$BE64ArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private abstract BigEndianArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$BigEndianArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private final LE32ArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$LE32ArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private final LE64ArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$LE64ArrayIO of org.jruby.ext.ffi.ArrayMemoryIO
private abstract LittleEndianArrayIO = org.jruby.ext.ffi.ArrayMemoryIO$LittleEndianArrayIO of org.jruby.ext.ffi.ArrayMemoryIO