public class org.h2.mvstore.StreamStore
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.mvstore.StreamStore
super_class: java.lang.Object
{
private final java.util.Map<java.lang.Long, byte[]> map;
descriptor: Ljava/util/Map;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/Map<Ljava/lang/Long;[B>;
private int minBlockSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private int maxBlockSize;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final java.util.concurrent.atomic.AtomicLong nextKey;
descriptor: Ljava/util/concurrent/atomic/AtomicLong;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final java.util.concurrent.atomic.AtomicReference<byte[]> nextBuffer;
descriptor: Ljava/util/concurrent/atomic/AtomicReference;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
Signature: Ljava/util/concurrent/atomic/AtomicReference<[B>;
public void <init>(java.util.Map<java.lang.Long, byte[]>);
descriptor: (Ljava/util/Map;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
sipush 256
putfield org.h2.mvstore.StreamStore.minBlockSize:I
2: aload 0
ldc 262144
putfield org.h2.mvstore.StreamStore.maxBlockSize:I
3: aload 0
new java.util.concurrent.atomic.AtomicLong
dup
invokespecial java.util.concurrent.atomic.AtomicLong.<init>:()V
putfield org.h2.mvstore.StreamStore.nextKey:Ljava/util/concurrent/atomic/AtomicLong;
4: aload 0
5: new java.util.concurrent.atomic.AtomicReference
dup
invokespecial java.util.concurrent.atomic.AtomicReference.<init>:()V
putfield org.h2.mvstore.StreamStore.nextBuffer:Ljava/util/concurrent/atomic/AtomicReference;
6: aload 0
aload 1
putfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/mvstore/StreamStore;
0 8 1 map Ljava/util/Map<Ljava/lang/Long;[B>;
Signature: (Ljava/util/Map<Ljava/lang/Long;[B>;)V
MethodParameters:
Name Flags
map
public java.util.Map<java.lang.Long, byte[]> getMap();
descriptor: ()Ljava/util/Map;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
Signature: ()Ljava/util/Map<Ljava/lang/Long;[B>;
public void setNextKey(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.mvstore.StreamStore.nextKey:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/mvstore/StreamStore;
0 2 1 nextKey J
MethodParameters:
Name Flags
nextKey
public long getNextKey();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.mvstore.StreamStore.nextKey:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.get:()J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
public void setMinBlockSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.mvstore.StreamStore.minBlockSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/mvstore/StreamStore;
0 2 1 minBlockSize I
MethodParameters:
Name Flags
minBlockSize
public int getMinBlockSize();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.mvstore.StreamStore.minBlockSize:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
public void setMaxBlockSize(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.h2.mvstore.StreamStore.maxBlockSize:I
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/h2/mvstore/StreamStore;
0 2 1 maxBlockSize I
MethodParameters:
Name Flags
maxBlockSize
public long getMaxBlockSize();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.h2.mvstore.StreamStore.maxBlockSize:I
i2l
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
public byte[] put(java.io.InputStream);
descriptor: (Ljava/io/InputStream;)[B
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 2
start local 2 1: iconst_0
istore 3
start local 3 2: goto 6
3: StackMap locals: java.io.ByteArrayOutputStream int
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.size:()I
aload 0
getfield org.h2.mvstore.StreamStore.maxBlockSize:I
iconst_2
idiv
if_icmple 6
4: aload 0
aload 2
invokevirtual org.h2.mvstore.StreamStore.putIndirectId:(Ljava/io/ByteArrayOutputStream;)Ljava/io/ByteArrayOutputStream;
astore 2
5: iinc 3 1
6: StackMap locals:
StackMap stack:
aload 0
aload 2
aload 1
iload 3
invokevirtual org.h2.mvstore.StreamStore.put:(Ljava/io/ByteArrayOutputStream;Ljava/io/InputStream;I)Z
ifeq 3
7: goto 11
StackMap locals:
StackMap stack: java.io.IOException
8: astore 4
start local 4 9: aload 0
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
invokevirtual org.h2.mvstore.StreamStore.remove:([B)V
10: aload 4
athrow
end local 4 11: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.size:()I
aload 0
getfield org.h2.mvstore.StreamStore.minBlockSize:I
iconst_2
imul
if_icmple 13
12: aload 0
aload 2
invokevirtual org.h2.mvstore.StreamStore.putIndirectId:(Ljava/io/ByteArrayOutputStream;)Ljava/io/ByteArrayOutputStream;
astore 2
13: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/h2/mvstore/StreamStore;
0 14 1 in Ljava/io/InputStream;
1 14 2 id Ljava/io/ByteArrayOutputStream;
2 14 3 level I
9 11 4 e Ljava/io/IOException;
Exception table:
from to target type
2 7 8 Class java.io.IOException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
private boolean put(java.io.ByteArrayOutputStream, java.io.InputStream, int);
descriptor: (Ljava/io/ByteArrayOutputStream;Ljava/io/InputStream;I)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: iload 3
ifle 10
1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 4
start local 4 2: StackMap locals: java.io.ByteArrayOutputStream
StackMap stack:
aload 0
aload 4
aload 2
iload 3
iconst_1
isub
invokevirtual org.h2.mvstore.StreamStore.put:(Ljava/io/ByteArrayOutputStream;Ljava/io/InputStream;I)Z
istore 5
start local 5 3: aload 4
invokevirtual java.io.ByteArrayOutputStream.size:()I
aload 0
getfield org.h2.mvstore.StreamStore.maxBlockSize:I
iconst_2
idiv
if_icmple 7
4: aload 0
aload 4
invokevirtual org.h2.mvstore.StreamStore.putIndirectId:(Ljava/io/ByteArrayOutputStream;)Ljava/io/ByteArrayOutputStream;
astore 4
5: aload 4
aload 1
invokevirtual java.io.ByteArrayOutputStream.writeTo:(Ljava/io/OutputStream;)V
6: iload 5
ireturn
7: StackMap locals: int
StackMap stack:
iload 5
ifeq 2
8: aload 4
aload 1
invokevirtual java.io.ByteArrayOutputStream.writeTo:(Ljava/io/OutputStream;)V
9: iconst_1
ireturn
end local 5 end local 4 10: StackMap locals:
StackMap stack:
aload 0
getfield org.h2.mvstore.StreamStore.nextBuffer:Ljava/util/concurrent/atomic/AtomicReference;
aconst_null
invokevirtual java.util.concurrent.atomic.AtomicReference.getAndSet:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 4
start local 4 11: aload 4
ifnonnull 13
12: aload 0
getfield org.h2.mvstore.StreamStore.maxBlockSize:I
newarray 8
astore 4
13: StackMap locals: byte[]
StackMap stack:
aload 2
aload 4
invokestatic org.h2.mvstore.StreamStore.read:(Ljava/io/InputStream;[B)[B
astore 5
start local 5 14: aload 5
aload 4
if_acmpeq 16
15: aload 0
getfield org.h2.mvstore.StreamStore.nextBuffer:Ljava/util/concurrent/atomic/AtomicReference;
aload 4
invokevirtual java.util.concurrent.atomic.AtomicReference.set:(Ljava/lang/Object;)V
16: StackMap locals: byte[]
StackMap stack:
aload 5
arraylength
istore 6
start local 6 17: iload 6
ifne 19
18: iconst_1
ireturn
19: StackMap locals: int
StackMap stack:
iload 6
aload 0
getfield org.h2.mvstore.StreamStore.maxBlockSize:I
if_icmpge 20
iconst_1
goto 21
StackMap locals:
StackMap stack:
20: iconst_0
StackMap locals:
StackMap stack: int
21: istore 7
start local 7 22: iload 6
aload 0
getfield org.h2.mvstore.StreamStore.minBlockSize:I
if_icmpge 27
23: aload 1
iconst_0
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
24: aload 1
iload 6
invokestatic org.h2.mvstore.DataUtils.writeVarInt:(Ljava/io/OutputStream;I)V
25: aload 1
aload 5
invokevirtual java.io.ByteArrayOutputStream.write:([B)V
26: goto 30
27: StackMap locals: int
StackMap stack:
aload 1
iconst_1
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
28: aload 1
iload 6
invokestatic org.h2.mvstore.DataUtils.writeVarInt:(Ljava/io/OutputStream;I)V
29: aload 1
aload 0
aload 5
invokevirtual org.h2.mvstore.StreamStore.writeBlock:([B)J
invokestatic org.h2.mvstore.DataUtils.writeVarLong:(Ljava/io/OutputStream;J)V
30: StackMap locals:
StackMap stack:
iload 7
ireturn
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/h2/mvstore/StreamStore;
0 31 1 id Ljava/io/ByteArrayOutputStream;
0 31 2 in Ljava/io/InputStream;
0 31 3 level I
2 10 4 id2 Ljava/io/ByteArrayOutputStream;
3 10 5 eof Z
11 31 4 readBuffer [B
14 31 5 buff [B
17 31 6 len I
22 31 7 eof Z
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
id
in
level
private static byte[] read(java.io.InputStream, byte[]);
descriptor: (Ljava/io/InputStream;[B)[B
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: iconst_0
istore 2
start local 2 1: aload 1
arraylength
istore 3
start local 3 2: goto 12
3: StackMap locals: int int
StackMap stack:
aload 0
aload 1
iload 2
iload 3
invokevirtual java.io.InputStream.read:([BII)I
istore 4
start local 4 4: iload 4
ifge 7
5: aload 1
iload 2
invokestatic java.util.Arrays.copyOf:([BI)[B
6: areturn
7: StackMap locals: int
StackMap stack:
iload 2
iload 4
iadd
istore 2
8: iload 3
iload 4
isub
istore 3
end local 4 9: goto 12
StackMap locals: java.io.InputStream byte[] int int
StackMap stack: java.lang.RuntimeException
10: astore 4
start local 4 11: new java.io.IOException
dup
aload 4
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 4 12: StackMap locals:
StackMap stack:
iload 3
ifgt 3
13: aload 1
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 in Ljava/io/InputStream;
0 14 1 target [B
1 14 2 copied I
2 14 3 remaining I
4 9 4 len I
11 12 4 e Ljava/lang/RuntimeException;
Exception table:
from to target type
3 6 10 Class java.lang.RuntimeException
7 9 10 Class java.lang.RuntimeException
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
in
target
private java.io.ByteArrayOutputStream putIndirectId(java.io.ByteArrayOutputStream);
descriptor: (Ljava/io/ByteArrayOutputStream;)Ljava/io/ByteArrayOutputStream;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual java.io.ByteArrayOutputStream.toByteArray:()[B
astore 2
start local 2 1: new java.io.ByteArrayOutputStream
dup
invokespecial java.io.ByteArrayOutputStream.<init>:()V
astore 1
2: aload 1
iconst_2
invokevirtual java.io.ByteArrayOutputStream.write:(I)V
3: aload 1
aload 0
aload 2
invokevirtual org.h2.mvstore.StreamStore.length:([B)J
invokestatic org.h2.mvstore.DataUtils.writeVarLong:(Ljava/io/OutputStream;J)V
4: aload 1
aload 0
aload 2
invokevirtual org.h2.mvstore.StreamStore.writeBlock:([B)J
invokestatic org.h2.mvstore.DataUtils.writeVarLong:(Ljava/io/OutputStream;J)V
5: aload 1
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/mvstore/StreamStore;
0 6 1 id Ljava/io/ByteArrayOutputStream;
1 6 2 data [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
id
private long writeBlock(byte[]);
descriptor: ([B)J
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.h2.mvstore.StreamStore.getAndIncrementNextKey:()J
lstore 2
start local 2 1: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 2
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aload 1
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
2: aload 0
aload 1
arraylength
invokevirtual org.h2.mvstore.StreamStore.onStore:(I)V
3: lload 2
lreturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/h2/mvstore/StreamStore;
0 4 1 data [B
1 4 2 key J
MethodParameters:
Name Flags
data
protected void onStore(int);
descriptor: (I)V
flags: (0x0004) ACC_PROTECTED
Code:
stack=0, locals=2, args_size=2
start local 0 start local 1 0: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
0 1 1 len I
MethodParameters:
Name Flags
len
private long getAndIncrementNextKey();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=10, args_size=1
start local 0 0: aload 0
getfield org.h2.mvstore.StreamStore.nextKey:Ljava/util/concurrent/atomic/AtomicLong;
invokevirtual java.util.concurrent.atomic.AtomicLong.getAndIncrement:()J
lstore 1
start local 1 1: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifne 3
2: lload 1
lreturn
3: StackMap locals: long
StackMap stack:
aload 0
dup
astore 3
monitorenter
4: lload 1
lstore 4
start local 4 5: ldc 9223372036854775807
lstore 6
start local 6 6: goto 12
7: StackMap locals: org.h2.mvstore.StreamStore long long
StackMap stack:
lload 4
lload 6
ladd
iconst_1
lushr
lstore 8
start local 8 8: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 8
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.containsKey:(Ljava/lang/Object;)Z
ifeq 11
9: lload 8
lconst_1
ladd
lstore 4
10: goto 12
11: StackMap locals: long
StackMap stack:
lload 8
lstore 6
end local 8 12: StackMap locals:
StackMap stack:
lload 4
lload 6
lcmp
iflt 7
13: lload 4
lstore 1
14: aload 0
getfield org.h2.mvstore.StreamStore.nextKey:Ljava/util/concurrent/atomic/AtomicLong;
lload 1
lconst_1
ladd
invokevirtual java.util.concurrent.atomic.AtomicLong.set:(J)V
15: lload 1
aload 3
monitorexit
16: lreturn
end local 6 end local 4 17: StackMap locals: org.h2.mvstore.StreamStore long org.h2.mvstore.StreamStore
StackMap stack: java.lang.Throwable
aload 3
monitorexit
18: athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/h2/mvstore/StreamStore;
1 19 1 key J
5 17 4 low J
6 17 6 high J
8 12 8 x J
Exception table:
from to target type
4 16 17 any
17 18 17 any
public long getMaxBlockKey(byte[]);
descriptor: ([B)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=13, args_size=2
start local 0 start local 1 0: ldc -1
lstore 2
start local 2 1: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 4
start local 4 2: goto 21
3: StackMap locals: long java.nio.ByteBuffer
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.get:()B
tableswitch { // 0 - 2
0: 4
1: 7
2: 11
default: 19
}
4: StackMap locals:
StackMap stack:
aload 4
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 5
start local 5 5: aload 4
aload 4
invokevirtual java.nio.ByteBuffer.position:()I
iload 5
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
6: goto 21
end local 5 7: StackMap locals:
StackMap stack:
aload 4
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
pop
8: aload 4
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 6
start local 6 9: lload 2
lload 6
invokestatic java.lang.Math.max:(JJ)J
lstore 2
10: goto 21
end local 6 11: StackMap locals:
StackMap stack:
aload 4
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
pop2
12: aload 4
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 8
start local 8 13: lload 8
lstore 2
14: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 8
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 10
start local 10 15: aload 0
aload 10
invokevirtual org.h2.mvstore.StreamStore.getMaxBlockKey:([B)J
lstore 11
start local 11 16: lload 11
lconst_0
lcmp
iflt 21
17: lload 2
lload 11
invokestatic java.lang.Math.max:(JJ)J
lstore 2
18: goto 21
end local 11 end local 10 end local 8 19: StackMap locals:
StackMap stack:
ldc "Unsupported id {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
aastore
20: invokestatic org.h2.mvstore.DataUtils.newIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
21: StackMap locals:
StackMap stack:
aload 4
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
22: lload 2
lreturn
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/h2/mvstore/StreamStore;
0 23 1 id [B
1 23 2 maxKey J
2 23 4 idBuffer Ljava/nio/ByteBuffer;
5 7 5 len I
9 11 6 k J
13 19 8 k2 J
15 19 10 r [B
16 19 11 m J
MethodParameters:
Name Flags
id
public void remove(byte[]);
descriptor: ([B)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: goto 17
2: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.get:()B
tableswitch { // 0 - 2
0: 3
1: 6
2: 10
default: 15
}
3: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 4: aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
5: goto 17
end local 3 6: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
pop
7: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 4
start local 4 8: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
9: goto 17
end local 4 10: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
pop2
11: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 6
start local 6 12: aload 0
aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
invokevirtual org.h2.mvstore.StreamStore.remove:([B)V
13: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 6
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
pop
14: goto 17
end local 6 15: StackMap locals:
StackMap stack:
ldc "Unsupported id {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
aastore
16: invokestatic org.h2.mvstore.DataUtils.newIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
17: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
18: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/h2/mvstore/StreamStore;
0 19 1 id [B
1 19 2 idBuffer Ljava/nio/ByteBuffer;
4 6 3 len I
8 10 4 k J
12 15 6 k2 J
MethodParameters:
Name Flags
id
public static java.lang.String toString(byte[]);
descriptor: ([B)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=8, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 0
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
start local 2 2: lconst_0
lstore 3
start local 3 3: goto 22
4: StackMap locals: java.lang.StringBuilder java.nio.ByteBuffer long
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.get:()B
tableswitch { // 0 - 2
0: 5
1: 10
2: 15
default: 20
}
5: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 6: aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 7
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
7: aload 1
ldc "data len="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
8: lload 3
iload 7
i2l
ladd
lstore 3
9: goto 21
end local 7 10: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 11: lload 3
iload 7
i2l
ladd
lstore 3
12: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 5
start local 5 13: aload 1
ldc "block "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " len="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
14: goto 21
end local 7 end local 5 15: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 7
start local 7 16: lload 3
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
ladd
lstore 3
17: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 5
start local 5 18: aload 1
ldc "indirect block "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 5
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " len="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 7
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
19: goto 21
end local 7 end local 5 20: StackMap locals:
StackMap stack:
aload 1
ldc "error"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
22: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 4
23: aload 1
ldc "length="
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 3
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
pop
24: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 id [B
1 25 1 buff Ljava/lang/StringBuilder;
2 25 2 idBuffer Ljava/nio/ByteBuffer;
3 25 3 length J
13 15 5 block J
18 20 5 block J
6 10 7 len I
11 15 7 len I
16 20 7 len I
MethodParameters:
Name Flags
id
public long length(byte[]);
descriptor: ([B)J
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: lconst_0
lstore 3
start local 3 2: goto 16
3: StackMap locals: java.nio.ByteBuffer long
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.get:()B
tableswitch { // 0 - 2
0: 4
1: 8
2: 11
default: 14
}
4: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 5
start local 5 5: aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 5
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
6: lload 3
iload 5
i2l
ladd
lstore 3
7: goto 16
end local 5 8: StackMap locals:
StackMap stack:
lload 3
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
i2l
ladd
lstore 3
9: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
pop2
10: goto 16
11: StackMap locals:
StackMap stack:
lload 3
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
ladd
lstore 3
12: aload 2
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
pop2
13: goto 16
14: StackMap locals:
StackMap stack:
ldc "Unsupported id {0}"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
invokestatic java.util.Arrays.toString:([B)Ljava/lang/String;
aastore
15: invokestatic org.h2.mvstore.DataUtils.newIllegalArgumentException:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalArgumentException;
athrow
16: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 3
17: lload 3
lreturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 18 0 this Lorg/h2/mvstore/StreamStore;
0 18 1 id [B
1 18 2 idBuffer Ljava/nio/ByteBuffer;
2 18 3 length J
5 8 5 len I
MethodParameters:
Name Flags
id
public boolean isInPlace(byte[]);
descriptor: ([B)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.ByteBuffer.wrap:([B)Ljava/nio/ByteBuffer;
astore 2
start local 2 1: goto 6
2: StackMap locals: java.nio.ByteBuffer
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.get:()B
ifeq 4
3: iconst_0
ireturn
4: StackMap locals:
StackMap stack:
aload 2
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 3
start local 3 5: aload 2
aload 2
invokevirtual java.nio.ByteBuffer.position:()I
iload 3
iadd
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
end local 3 6: StackMap locals:
StackMap stack:
aload 2
invokevirtual java.nio.ByteBuffer.hasRemaining:()Z
ifne 2
7: iconst_1
ireturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/h2/mvstore/StreamStore;
0 8 1 id [B
1 8 2 idBuffer Ljava/nio/ByteBuffer;
5 6 3 len I
MethodParameters:
Name Flags
id
public java.io.InputStream get(byte[]);
descriptor: ([B)Ljava/io/InputStream;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: new org.h2.mvstore.StreamStore$Stream
dup
aload 0
aload 1
invokespecial org.h2.mvstore.StreamStore$Stream.<init>:(Lorg/h2/mvstore/StreamStore;[B)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/StreamStore;
0 1 1 id [B
MethodParameters:
Name Flags
id
byte[] getBlock(long);
descriptor: (J)[B
flags: (0x0000)
Code:
stack=7, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield org.h2.mvstore.StreamStore.map:Ljava/util/Map;
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast byte[]
astore 3
start local 3 1: aload 3
ifnonnull 5
2: bipush 50
3: ldc "Block {0} not found"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 1
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
4: invokestatic org.h2.mvstore.DataUtils.newIllegalStateException:(ILjava/lang/String;[Ljava/lang/Object;)Ljava/lang/IllegalStateException;
athrow
5: StackMap locals: byte[]
StackMap stack:
aload 3
areturn
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/h2/mvstore/StreamStore;
0 6 1 key J
1 6 3 data [B
MethodParameters:
Name Flags
key
}
SourceFile: "StreamStore.java"
NestMembers:
org.h2.mvstore.StreamStore$Stream
InnerClasses:
Stream = org.h2.mvstore.StreamStore$Stream of org.h2.mvstore.StreamStore