public class org.h2.mvstore.MVStoreTool
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.h2.mvstore.MVStoreTool
super_class: java.lang.Object
{
public void <init>();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokespecial java.lang.Object.<init>:()V
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/h2/mvstore/MVStoreTool;
public static void main(java.lang.String[]);
descriptor: ([Ljava/lang/String;)V
flags: (0x0089) ACC_PUBLIC, ACC_STATIC, ACC_VARARGS
Code:
stack=6, locals=5, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 27
2: StackMap locals: int
StackMap stack:
ldc "-dump"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
3: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 4: aload 2
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
iconst_1
invokestatic org.h2.mvstore.MVStoreTool.dump:(Ljava/lang/String;Ljava/io/Writer;Z)V
end local 2 5: goto 26
StackMap locals:
StackMap stack:
6: ldc "-info"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 10
7: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 8: aload 2
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
pop
end local 2 9: goto 26
StackMap locals:
StackMap stack:
10: ldc "-compact"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 14
11: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 12: aload 2
iconst_0
invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Z)V
end local 2 13: goto 26
StackMap locals:
StackMap stack:
14: ldc "-compress"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 18
15: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 16: aload 2
iconst_1
invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Z)V
end local 2 17: goto 26
StackMap locals:
StackMap stack:
18: ldc "-rollback"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 23
19: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 20: aload 0
iinc 1 1
iload 1
aaload
invokestatic java.lang.Long.decode:(Ljava/lang/String;)Ljava/lang/Long;
invokevirtual java.lang.Long.longValue:()J
lstore 3
start local 3 21: aload 2
lload 3
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokestatic org.h2.mvstore.MVStoreTool.rollback:(Ljava/lang/String;JLjava/io/Writer;)J
pop2
end local 3 end local 2 22: goto 26
StackMap locals:
StackMap stack:
23: ldc "-repair"
aload 0
iload 1
aaload
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
24: aload 0
iinc 1 1
iload 1
aaload
astore 2
start local 2 25: aload 2
invokestatic org.h2.mvstore.MVStoreTool.repair:(Ljava/lang/String;)V
end local 2 26: StackMap locals:
StackMap stack:
iinc 1 1
StackMap locals:
StackMap stack:
27: iload 1
aload 0
arraylength
if_icmplt 2
end local 1 28: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 29 0 args [Ljava/lang/String;
1 28 1 i I
4 5 2 fileName Ljava/lang/String;
8 9 2 fileName Ljava/lang/String;
12 13 2 fileName Ljava/lang/String;
16 17 2 fileName Ljava/lang/String;
20 22 2 fileName Ljava/lang/String;
21 22 3 targetVersion J
25 26 2 fileName Ljava/lang/String;
MethodParameters:
Name Flags
args
public static void dump(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
iload 1
invokestatic org.h2.mvstore.MVStoreTool.dump:(Ljava/lang/String;Ljava/io/Writer;Z)V
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fileName Ljava/lang/String;
0 2 1 details Z
MethodParameters:
Name Flags
fileName
details
public static void info(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
pop
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 fileName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
public static void dump(java.lang.String, java.io.Writer, boolean);
descriptor: (Ljava/lang/String;Ljava/io/Writer;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=11, locals=47, args_size=3
start local 0 start local 1 start local 2 0: new java.io.PrintWriter
dup
aload 1
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
astore 3
start local 3 1: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
invokevirtual org.h2.store.fs.FilePath.exists:()Z
ifne 4
2: aload 3
new java.lang.StringBuilder
dup
ldc "File not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: return
4: StackMap locals: java.io.PrintWriter
StackMap stack:
aload 0
invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
lstore 4
start local 4 5: aload 3
ldc "File %s, %d bytes, %d MB\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 0
aastore
dup
iconst_1
lload 4
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 4
ldc 1024
ldiv
ldc 1024
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
6: aconst_null
astore 6
start local 6 7: sipush 4096
istore 7
start local 7 8: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
9: astore 8
start local 8 10: lconst_0
lstore 9
start local 9 11: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
ldc "r"
invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
astore 6
12: aload 6
invokevirtual java.nio.channels.FileChannel.size:()J
lstore 11
start local 11 13: lload 11
invokestatic java.lang.Long.toHexString:(J)Ljava/lang/String;
invokevirtual java.lang.String.length:()I
istore 13
start local 13 14: sipush 4096
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 14
start local 14 15: lconst_0
lstore 15
start local 15 16: lconst_0
lstore 17
start local 17 17: goto 214
18: StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long
StackMap stack:
aload 14
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
19: aload 6
lload 17
aload 14
invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
20: aload 14
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
21: aload 14
invokevirtual java.nio.ByteBuffer.get:()B
istore 19
start local 19 22: iload 19
bipush 72
if_icmpne 29
23: new java.lang.String
dup
aload 14
invokevirtual java.nio.ByteBuffer.array:()[B
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
invokespecial java.lang.String.<init>:([BLjava/nio/charset/Charset;)V
invokevirtual java.lang.String.trim:()Ljava/lang/String;
astore 20
start local 20 24: aload 3
new java.lang.StringBuilder
dup
ldc "%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x fileHeader %s%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
25: lload 17
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 20
aastore
26: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
27: lload 17
iload 7
i2l
ladd
lstore 17
28: goto 214
end local 20 29: StackMap locals: int
StackMap stack:
iload 19
bipush 99
if_icmpeq 32
30: lload 17
iload 7
i2l
ladd
lstore 17
31: goto 214
32: StackMap locals:
StackMap stack:
aload 14
iconst_0
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
33: aconst_null
astore 20
start local 20 34: aload 14
lload 17
invokestatic org.h2.mvstore.Chunk.readChunkHeader:(Ljava/nio/ByteBuffer;J)Lorg/h2/mvstore/Chunk;
astore 20
35: goto 39
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk
StackMap stack: java.lang.IllegalStateException
36: pop
37: lload 17
iload 7
i2l
ladd
lstore 17
38: goto 214
39: StackMap locals:
StackMap stack:
aload 20
getfield org.h2.mvstore.Chunk.len:I
ifgt 42
40: lload 17
iload 7
i2l
ladd
lstore 17
41: goto 214
42: StackMap locals:
StackMap stack:
aload 20
getfield org.h2.mvstore.Chunk.len:I
sipush 4096
imul
istore 21
start local 21 43: aload 3
new java.lang.StringBuilder
dup
ldc "%n%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x chunkHeader %s%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
44: lload 17
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
aload 20
invokevirtual org.h2.mvstore.Chunk.toString:()Ljava/lang/String;
aastore
45: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
46: iload 21
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 22
start local 22 47: aload 6
lload 17
aload 22
invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
48: aload 14
invokevirtual java.nio.ByteBuffer.position:()I
istore 23
start local 23 49: lload 17
iload 21
i2l
ladd
lstore 17
50: aload 20
getfield org.h2.mvstore.Chunk.pageCount:I
istore 24
start local 24 51: lload 15
aload 20
getfield org.h2.mvstore.Chunk.pageCount:I
i2l
ladd
lstore 15
52: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
53: astore 25
start local 25 54: iconst_0
istore 26
start local 26 55: goto 194
56: StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int
StackMap stack:
iload 23
istore 27
start local 27 57: aload 22
iload 23
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
58: goto 62
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int
StackMap stack: java.lang.IllegalArgumentException
59: pop
60: aload 3
ldc "ERROR illegal position %d%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 23
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
61: goto 195
62: StackMap locals:
StackMap stack:
aload 22
invokevirtual java.nio.ByteBuffer.getInt:()I
istore 28
start local 28 63: aload 22
invokevirtual java.nio.ByteBuffer.getShort:()S
pop
64: aload 22
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 29
start local 29 65: aload 22
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 30
start local 30 66: aload 22
invokevirtual java.nio.ByteBuffer.get:()B
istore 31
start local 31 67: iload 31
iconst_2
iand
ifeq 68
iconst_1
goto 69
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int
StackMap stack:
68: iconst_0
StackMap locals:
StackMap stack: int
69: istore 32
start local 32 70: iload 31
iconst_1
iand
ifeq 71
iconst_1
goto 72
StackMap locals: int
StackMap stack:
71: iconst_0
StackMap locals:
StackMap stack: int
72: istore 33
start local 33 73: iload 2
ifeq 93
74: aload 3
75: new java.lang.StringBuilder
dup
ldc "+%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
76: ldc "x %s, map %x, %d entries, %d bytes, maxLen %x%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
77: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
bipush 6
anewarray java.lang.Object
dup
iconst_0
78: iload 23
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
79: new java.lang.StringBuilder
dup
iload 33
ifeq 80
ldc "node"
goto 81
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int new 79 new 79
80: ldc "leaf"
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int new 79 new 79 java.lang.String
81: invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
82: iload 32
ifeq 83
ldc " compressed"
goto 84
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder
83: ldc ""
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.StringBuilder java.lang.String
84: invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
85: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aastore
dup
iconst_2
86: iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
87: iload 33
ifeq 88
iload 30
iconst_1
iadd
goto 89
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
88: iload 30
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
89: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_4
90: iload 28
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_5
91: iconst_0
iconst_0
iload 28
iconst_0
invokestatic org.h2.mvstore.DataUtils.getPagePos:(IIII)J
invokestatic org.h2.mvstore.DataUtils.getPageMaxLength:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
92: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
93: StackMap locals:
StackMap stack:
iload 23
iload 28
iadd
istore 23
94: aload 25
iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 34
start local 34 95: aload 34
ifnonnull 97
96: iconst_0
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
astore 34
97: StackMap locals: java.lang.Integer
StackMap stack:
aload 25
iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 34
invokevirtual java.lang.Integer.intValue:()I
iload 28
iadd
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
98: aload 8
iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Long
astore 35
start local 35 99: aload 35
ifnonnull 101
100: lconst_0
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
astore 35
101: StackMap locals: java.lang.Long
StackMap stack:
aload 8
iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 35
invokevirtual java.lang.Long.longValue:()J
iload 28
i2l
ladd
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
102: iload 26
iload 28
iadd
istore 26
103: lload 9
iload 28
i2l
ladd
lstore 9
104: iinc 24 -1
105: aconst_null
astore 36
start local 36 106: aconst_null
astore 37
start local 37 107: iload 33
ifeq 121
108: iload 30
iconst_1
iadd
newarray 11
astore 36
109: iconst_0
istore 38
start local 38 110: goto 113
111: StackMap locals: long[] long[] int
StackMap stack:
aload 36
iload 38
aload 22
invokevirtual java.nio.ByteBuffer.getLong:()J
lastore
112: iinc 38 1
StackMap locals:
StackMap stack:
113: iload 38
iload 30
if_icmple 111
end local 38 114: iload 30
iconst_1
iadd
newarray 11
astore 37
115: iconst_0
istore 38
start local 38 116: goto 120
117: StackMap locals:
StackMap stack:
aload 22
invokestatic org.h2.mvstore.DataUtils.readVarLong:(Ljava/nio/ByteBuffer;)J
lstore 39
start local 39 118: aload 37
iload 38
lload 39
lastore
end local 39 119: iinc 38 1
StackMap locals:
StackMap stack:
120: iload 38
iload 30
if_icmple 117
end local 38 121: StackMap locals:
StackMap stack:
iload 30
anewarray java.lang.String
astore 38
start local 38 122: iload 29
ifne 182
iload 2
ifeq 182
123: iload 32
ifeq 136
124: iload 31
bipush 6
iand
bipush 6
if_icmpeq 125
iconst_1
goto 126
StackMap locals: java.lang.String[]
StackMap stack:
125: iconst_0
StackMap locals:
StackMap stack: int
126: istore 40
start local 40 127: iload 40
invokestatic org.h2.mvstore.MVStoreTool.getCompressor:(Z)Lorg/h2/compress/Compressor;
astore 41
start local 41 128: aload 22
invokestatic org.h2.mvstore.DataUtils.readVarInt:(Ljava/nio/ByteBuffer;)I
istore 42
start local 42 129: iload 28
iload 27
iadd
aload 22
invokevirtual java.nio.ByteBuffer.position:()I
isub
istore 43
start local 43 130: iload 43
invokestatic org.h2.util.Utils.newBytes:(I)[B
astore 44
start local 44 131: aload 22
aload 44
invokevirtual java.nio.ByteBuffer.get:([B)Ljava/nio/ByteBuffer;
pop
132: iload 43
iload 42
iadd
istore 45
start local 45 133: iload 45
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 39
start local 39 134: aload 41
aload 44
iconst_0
iload 43
aload 39
invokevirtual java.nio.ByteBuffer.array:()[B
iconst_0
iload 45
invokeinterface org.h2.compress.Compressor.expand:([BII[BII)V
end local 45 end local 44 end local 43 end local 42 end local 41 end local 40 135: goto 137
end local 39 136: StackMap locals:
StackMap stack:
aload 22
astore 39
start local 39 137: StackMap locals: java.nio.ByteBuffer
StackMap stack:
iconst_0
istore 40
start local 40 138: goto 142
139: StackMap locals: int
StackMap stack:
getstatic org.h2.mvstore.type.StringDataType.INSTANCE:Lorg/h2/mvstore/type/StringDataType;
aload 39
invokevirtual org.h2.mvstore.type.StringDataType.read:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
astore 41
start local 41 140: aload 38
iload 40
aload 41
aastore
end local 41 141: iinc 40 1
StackMap locals:
StackMap stack:
142: iload 40
iload 30
if_icmplt 139
end local 40 143: iload 33
ifeq 167
144: iconst_0
istore 40
start local 40 145: goto 155
146: StackMap locals:
StackMap stack:
aload 36
iload 40
laload
lstore 41
start local 41 147: aload 3
new java.lang.StringBuilder
dup
ldc " %d children < %s @ chunk %x +%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
148: iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
149: aload 37
iload 40
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
150: aload 38
iload 40
aaload
aastore
dup
iconst_2
151: lload 41
invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
152: lload 41
invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
153: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 41 154: iinc 40 1
StackMap locals:
StackMap stack:
155: iload 40
iload 30
if_icmplt 146
end local 40 156: aload 36
iload 30
laload
lstore 40
start local 40 157: aload 3
new java.lang.StringBuilder
dup
ldc " %d children >= %s @ chunk %x +%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
158: iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
159: aload 37
iload 30
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
160: aload 38
arraylength
iload 30
if_icmplt 161
aconst_null
goto 162
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int java.lang.Integer java.lang.Long long[] long[] java.lang.String[] java.nio.ByteBuffer long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
161: aload 38
iload 30
aaload
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int int int int int int int java.lang.Integer java.lang.Long long[] long[] java.lang.String[] java.nio.ByteBuffer long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
162: aastore
dup
iconst_2
163: lload 40
invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
164: lload 40
invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
165: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 40 166: goto 194
167: StackMap locals:
StackMap stack:
iload 30
anewarray java.lang.String
astore 40
start local 40 168: iconst_0
istore 41
start local 41 169: goto 173
170: StackMap locals: java.lang.String[] int
StackMap stack:
getstatic org.h2.mvstore.type.StringDataType.INSTANCE:Lorg/h2/mvstore/type/StringDataType;
aload 39
invokevirtual org.h2.mvstore.type.StringDataType.read:(Ljava/nio/ByteBuffer;)Ljava/lang/String;
astore 42
start local 42 171: aload 40
iload 41
aload 42
aastore
end local 42 172: iinc 41 1
StackMap locals:
StackMap stack:
173: iload 41
iload 30
if_icmplt 170
end local 41 174: iconst_0
istore 41
start local 41 175: goto 180
176: StackMap locals:
StackMap stack:
aload 3
new java.lang.StringBuilder
dup
ldc " "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 38
iload 41
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
177: ldc " = "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 40
iload 41
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
178: invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
179: iinc 41 1
StackMap locals:
StackMap stack:
180: iload 41
iload 30
if_icmplt 176
end local 41 end local 40 end local 39 181: goto 194
182: StackMap locals:
StackMap stack:
iload 33
ifeq 194
iload 2
ifeq 194
183: iconst_0
istore 39
start local 39 184: goto 193
185: StackMap locals: int
StackMap stack:
aload 36
iload 39
laload
lstore 40
start local 40 186: aload 3
new java.lang.StringBuilder
dup
ldc " %d children @ chunk %x +%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
187: iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_3
anewarray java.lang.Object
dup
iconst_0
188: aload 37
iload 39
laload
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
189: lload 40
invokestatic org.h2.mvstore.DataUtils.getPageChunkId:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_2
190: lload 40
invokestatic org.h2.mvstore.DataUtils.getPageOffset:(J)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
191: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 40 192: iinc 39 1
StackMap locals:
StackMap stack:
193: iload 39
iload 30
if_icmple 185
end local 39 end local 38 end local 37 end local 36 end local 35 end local 34 end local 33 end local 32 end local 31 end local 30 end local 29 end local 28 end local 27 194: StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int
StackMap stack:
iload 24
ifgt 56
195: StackMap locals:
StackMap stack:
iconst_1
iload 26
invokestatic java.lang.Math.max:(II)I
istore 26
196: aload 25
invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 28
goto 200
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int top java.util.Iterator
StackMap stack:
197: aload 28
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 27
start local 27 198: bipush 100
aload 25
aload 27
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
imul
iload 26
idiv
istore 29
start local 29 199: aload 3
ldc "map %x: %d bytes, %d%%%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 27
aastore
dup
iconst_1
aload 25
aload 27
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
dup
iconst_2
iload 29
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 29 end local 27 200: StackMap locals:
StackMap stack:
aload 28
invokeinterface java.util.Iterator.hasNext:()Z
ifne 197
201: aload 22
invokevirtual java.nio.ByteBuffer.limit:()I
sipush 128
isub
istore 27
start local 27 202: aload 22
iload 27
invokevirtual java.nio.ByteBuffer.position:(I)Ljava/nio/Buffer;
pop
203: aload 3
204: new java.lang.StringBuilder
dup
ldc "+%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x chunkFooter %s%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
205: iload 27
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
206: new java.lang.String
dup
aload 22
invokevirtual java.nio.ByteBuffer.array:()[B
aload 22
invokevirtual java.nio.ByteBuffer.position:()I
207: sipush 128
getstatic java.nio.charset.StandardCharsets.ISO_8859_1:Ljava/nio/charset/Charset;
208: invokespecial java.lang.String.<init>:([BIILjava/nio/charset/Charset;)V
209: invokevirtual java.lang.String.trim:()Ljava/lang/String;
aastore
210: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
211: goto 214
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long int org.h2.mvstore.Chunk int java.nio.ByteBuffer int int java.util.TreeMap int int
StackMap stack: java.lang.IllegalArgumentException
212: pop
213: aload 3
ldc "ERROR illegal footer position %d%n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
iload 27
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 27 end local 26 end local 25 end local 24 end local 23 end local 22 end local 21 end local 20 end local 19 214: StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long long
StackMap stack:
lload 17
lload 11
lcmp
iflt 18
end local 17 215: aload 3
new java.lang.StringBuilder
dup
ldc "%n%0"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 13
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc "x eof%n"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 11
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
216: aload 3
ldc "\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
217: lconst_1
lload 15
invokestatic java.lang.Math.max:(JJ)J
lstore 15
218: aload 3
ldc "page size total: %d bytes, page count: %d, average page size: %d bytes\n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
219: lload 9
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_1
lload 15
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
dup
iconst_2
lload 9
lload 15
ldiv
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
220: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
221: lconst_1
lload 9
invokestatic java.lang.Math.max:(JJ)J
lstore 9
222: aload 8
invokevirtual java.util.TreeMap.keySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 18
goto 226
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long long int java.nio.ByteBuffer long top java.util.Iterator
StackMap stack:
223: aload 18
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 17
start local 17 224: ldc 100
aload 8
aload 17
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Long
invokevirtual java.lang.Long.longValue:()J
lmul
lload 9
ldiv
l2i
istore 19
start local 19 225: aload 3
ldc "map %x: %d bytes, %d%%%n"
iconst_3
anewarray java.lang.Object
dup
iconst_0
aload 17
aastore
dup
iconst_1
aload 8
aload 17
invokevirtual java.util.TreeMap.get:(Ljava/lang/Object;)Ljava/lang/Object;
aastore
dup
iconst_2
iload 19
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 19 end local 17 226: StackMap locals:
StackMap stack:
aload 18
invokeinterface java.util.Iterator.hasNext:()Z
ifne 223
end local 15 end local 14 end local 13 end local 11 227: goto 241
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long
StackMap stack: java.io.IOException
228: astore 11
start local 11 229: aload 3
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 11
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
230: aload 11
aload 3
invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintWriter;)V
end local 11 231: aload 6
ifnull 245
232: aload 6
invokevirtual java.nio.channels.FileChannel.close:()V
233: goto 245
StackMap locals:
StackMap stack: java.io.IOException
234: pop
goto 245
235: StackMap locals:
StackMap stack: java.lang.Throwable
astore 46
236: aload 6
ifnull 240
237: aload 6
invokevirtual java.nio.channels.FileChannel.close:()V
238: goto 240
StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack: java.io.IOException
239: pop
240: StackMap locals:
StackMap stack:
aload 46
athrow
241: StackMap locals: java.lang.String java.io.Writer int java.io.PrintWriter long java.nio.channels.FileChannel int java.util.TreeMap long
StackMap stack:
aload 6
ifnull 245
242: aload 6
invokevirtual java.nio.channels.FileChannel.close:()V
243: goto 245
StackMap locals:
StackMap stack: java.io.IOException
244: pop
245: StackMap locals:
StackMap stack:
aload 3
invokevirtual java.io.PrintWriter.flush:()V
246: return
end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 247 0 fileName Ljava/lang/String;
0 247 1 writer Ljava/io/Writer;
0 247 2 details Z
1 247 3 pw Ljava/io/PrintWriter;
5 247 4 size J
7 247 6 file Ljava/nio/channels/FileChannel;
8 247 7 blockSize I
10 247 8 mapSizesTotal Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Long;>;
11 247 9 pageSizeTotal J
13 227 11 fileSize J
14 227 13 len I
15 227 14 block Ljava/nio/ByteBuffer;
16 227 15 pageCount J
17 215 17 pos J
22 214 19 headerType I
24 29 20 header Ljava/lang/String;
34 214 20 c Lorg/h2/mvstore/Chunk;
43 214 21 length I
47 214 22 chunk Ljava/nio/ByteBuffer;
49 214 23 p I
51 214 24 remaining I
54 214 25 mapSizes Ljava/util/TreeMap<Ljava/lang/Integer;Ljava/lang/Integer;>;
55 214 26 pageSizeSum I
57 194 27 start I
63 194 28 pageSize I
65 194 29 mapId I
66 194 30 entries I
67 194 31 type I
70 194 32 compressed Z
73 194 33 node Z
95 194 34 mapSize Ljava/lang/Integer;
99 194 35 total Ljava/lang/Long;
106 194 36 children [J
107 194 37 counts [J
110 114 38 i I
116 121 38 i I
118 119 39 s J
122 194 38 keys [Ljava/lang/String;
134 136 39 data Ljava/nio/ByteBuffer;
137 181 39 data Ljava/nio/ByteBuffer;
127 135 40 fast Z
128 135 41 compressor Lorg/h2/compress/Compressor;
129 135 42 lenAdd I
130 135 43 compLen I
131 135 44 comp [B
133 135 45 l I
138 143 40 i I
140 141 41 k Ljava/lang/String;
145 156 40 i I
147 154 41 cp J
157 166 40 cp J
168 181 40 values [Ljava/lang/String;
169 174 41 i I
171 172 42 v Ljava/lang/String;
175 181 41 i I
184 194 39 i I
186 192 40 cp J
198 200 27 mapId Ljava/lang/Integer;
199 200 29 percent I
202 214 27 footerPos I
224 226 17 mapId Ljava/lang/Integer;
225 226 19 percent I
229 231 11 e Ljava/io/IOException;
Exception table:
from to target type
34 35 36 Class java.lang.IllegalStateException
57 58 59 Class java.lang.IllegalArgumentException
202 211 212 Class java.lang.IllegalArgumentException
11 227 228 Class java.io.IOException
232 233 234 Class java.io.IOException
11 231 235 any
237 238 239 Class java.io.IOException
242 243 244 Class java.io.IOException
MethodParameters:
Name Flags
fileName
writer
details
private static org.h2.compress.Compressor getCompressor(boolean);
descriptor: (Z)Lorg/h2/compress/Compressor;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: iload 0
ifeq 1
new org.h2.compress.CompressLZF
dup
invokespecial org.h2.compress.CompressLZF.<init>:()V
goto 2
StackMap locals:
StackMap stack:
1: new org.h2.compress.CompressDeflate
dup
invokespecial org.h2.compress.CompressDeflate.<init>:()V
StackMap locals:
StackMap stack: org.h2.compress.Compressor
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 fast Z
MethodParameters:
Name Flags
fast
public static java.lang.String info(java.lang.String, java.io.Writer);
descriptor: (Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=9, locals=26, args_size=2
start local 0 start local 1 0: new java.io.PrintWriter
dup
aload 1
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
astore 2
start local 2 1: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
invokevirtual org.h2.store.fs.FilePath.exists:()Z
ifne 4
2: aload 2
new java.lang.StringBuilder
dup
ldc "File not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
3: new java.lang.StringBuilder
dup
ldc "File not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
4: StackMap locals: java.io.PrintWriter
StackMap stack:
aload 0
invokestatic org.h2.store.fs.FileUtils.size:(Ljava/lang/String;)J
lstore 3
start local 3 5: new org.h2.mvstore.MVStore$Builder
dup
invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
6: aload 0
invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
7: invokevirtual org.h2.mvstore.MVStore$Builder.readOnly:()Lorg/h2/mvstore/MVStore$Builder;
invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
8: astore 5
start local 5 9: aload 5
invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
astore 6
start local 6 10: aload 5
invokevirtual org.h2.mvstore.MVStore.getStoreHeader:()Ljava/util/Map;
astore 7
start local 7 11: aload 7
ldc "created"
lconst_0
invokestatic org.h2.mvstore.DataUtils.readHexLong:(Ljava/util/Map;Ljava/lang/String;J)J
lstore 8
start local 8 12: new java.util.TreeMap
dup
invokespecial java.util.TreeMap.<init>:()V
astore 10
start local 10 13: lconst_0
lstore 11
start local 11 14: lconst_0
lstore 13
start local 13 15: lconst_0
lstore 15
start local 15 16: lconst_0
lstore 17
start local 17 17: aload 6
invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 28
StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
StackMap stack:
18: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 19
start local 19 19: aload 19
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 21
start local 21 20: aload 21
ldc "chunk."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 28
21: aload 19
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokestatic org.h2.mvstore.Chunk.fromString:(Ljava/lang/String;)Lorg/h2/mvstore/Chunk;
astore 22
start local 22 22: aload 10
aload 22
getfield org.h2.mvstore.Chunk.id:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aload 22
invokevirtual java.util.TreeMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: lload 11
aload 22
getfield org.h2.mvstore.Chunk.len:I
sipush 4096
imul
i2l
ladd
lstore 11
24: lload 13
aload 22
getfield org.h2.mvstore.Chunk.maxLen:J
ladd
lstore 13
25: lload 15
aload 22
getfield org.h2.mvstore.Chunk.maxLenLive:J
ladd
lstore 15
26: aload 22
getfield org.h2.mvstore.Chunk.maxLenLive:J
lconst_0
lcmp
ifle 28
27: lload 17
aload 22
getfield org.h2.mvstore.Chunk.maxLen:J
ladd
lstore 17
end local 22 end local 21 end local 19 28: StackMap locals:
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 18
29: aload 2
ldc "Created: %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 8
lload 8
invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
30: aload 2
ldc "Last modified: %s\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
31: aload 0
invokestatic org.h2.store.fs.FileUtils.lastModified:(Ljava/lang/String;)J
lload 8
invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
aastore
32: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
33: aload 2
ldc "File length: %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 3
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
34: aload 2
ldc "The last chunk is not listed\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
35: aload 2
ldc "Chunk length: %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 11
invokestatic java.lang.Long.valueOf:(J)Ljava/lang/Long;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
36: aload 2
ldc "Chunk count: %d\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 10
invokevirtual java.util.TreeMap.size:()I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
37: aload 2
ldc "Used space: %d%%\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 11
lload 3
invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
38: aload 2
ldc "Chunk fill rate: %d%%\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
lload 13
lconst_0
lcmp
ifne 39
bipush 100
goto 40
39: StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
lload 15
lload 13
invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
40: invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
41: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
42: aload 2
ldc "Chunk fill rate excluding empty chunks: %d%%\n"
iconst_1
anewarray java.lang.Object
dup
iconst_0
43: lload 17
lconst_0
lcmp
ifne 44
bipush 100
goto 45
44: StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int
lload 15
lload 17
invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
45: StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long
StackMap stack: java.io.PrintWriter java.lang.String java.lang.Object[] java.lang.Object[] int int
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
46: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
47: aload 10
invokevirtual java.util.TreeMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 20
goto 61
StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
StackMap stack:
48: aload 20
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 19
start local 19 49: aload 19
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast org.h2.mvstore.Chunk
astore 21
start local 21 50: lload 8
aload 21
getfield org.h2.mvstore.Chunk.time:J
ladd
lstore 22
start local 22 51: aload 2
ldc " Chunk %d: %s, %d%% used, %d blocks"
iconst_4
anewarray java.lang.Object
dup
iconst_0
52: aload 21
getfield org.h2.mvstore.Chunk.id:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_1
lload 22
lload 8
invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
aastore
dup
iconst_2
53: aload 21
getfield org.h2.mvstore.Chunk.maxLenLive:J
aload 21
getfield org.h2.mvstore.Chunk.maxLen:J
invokestatic org.h2.mvstore.MVStoreTool.getPercent:(JJ)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
dup
iconst_3
54: aload 21
getfield org.h2.mvstore.Chunk.len:I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
55: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
56: aload 21
getfield org.h2.mvstore.Chunk.maxLenLive:J
lconst_0
lcmp
ifne 60
57: aload 2
ldc ", unused: %s"
iconst_1
anewarray java.lang.Object
dup
iconst_0
58: lload 8
aload 21
getfield org.h2.mvstore.Chunk.unused:J
ladd
lload 8
invokestatic org.h2.mvstore.MVStoreTool.formatTimestamp:(JJ)Ljava/lang/String;
aastore
59: invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
60: StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long java.util.Map$Entry java.util.Iterator org.h2.mvstore.Chunk long
StackMap stack:
aload 2
ldc "\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 22 end local 21 end local 19 61: StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore org.h2.mvstore.MVMap java.util.Map long java.util.TreeMap long long long long top java.util.Iterator
StackMap stack:
aload 20
invokeinterface java.util.Iterator.hasNext:()Z
ifne 48
62: aload 2
ldc "\n"
iconst_0
anewarray java.lang.Object
invokevirtual java.io.PrintWriter.printf:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/io/PrintWriter;
pop
end local 17 end local 15 end local 13 end local 11 end local 10 end local 8 end local 7 end local 6 63: goto 73
StackMap locals: java.lang.String java.io.Writer java.io.PrintWriter long org.h2.mvstore.MVStore
StackMap stack: java.lang.Exception
64: astore 6
start local 6 65: aload 2
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 6
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
66: aload 6
aload 2
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
67: aload 6
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
astore 25
68: aload 5
invokevirtual org.h2.mvstore.MVStore.close:()V
69: aload 25
areturn
end local 6 70: StackMap locals:
StackMap stack: java.lang.Throwable
astore 24
71: aload 5
invokevirtual org.h2.mvstore.MVStore.close:()V
72: aload 24
athrow
73: StackMap locals:
StackMap stack:
aload 5
invokevirtual org.h2.mvstore.MVStore.close:()V
74: aload 2
invokevirtual java.io.PrintWriter.flush:()V
75: aconst_null
areturn
end local 5 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 76 0 fileName Ljava/lang/String;
0 76 1 writer Ljava/io/Writer;
1 76 2 pw Ljava/io/PrintWriter;
5 76 3 fileLength J
9 76 5 store Lorg/h2/mvstore/MVStore;
10 63 6 meta Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
11 63 7 header Ljava/util/Map<Ljava/lang/String;Ljava/lang/Object;>;
12 63 8 fileCreated J
13 63 10 chunks Ljava/util/TreeMap<Ljava/lang/Integer;Lorg/h2/mvstore/Chunk;>;
14 63 11 chunkLength J
15 63 13 maxLength J
16 63 15 maxLengthLive J
17 63 17 maxLengthNotEmpty J
19 28 19 e Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
20 28 21 k Ljava/lang/String;
22 28 22 c Lorg/h2/mvstore/Chunk;
49 61 19 e Ljava/util/Map$Entry<Ljava/lang/Integer;Lorg/h2/mvstore/Chunk;>;
50 61 21 c Lorg/h2/mvstore/Chunk;
51 61 22 created J
65 70 6 e Ljava/lang/Exception;
Exception table:
from to target type
9 63 64 Class java.lang.Exception
9 68 70 any
MethodParameters:
Name Flags
fileName
writer
private static java.lang.String formatTimestamp(long, long);
descriptor: (JJ)Ljava/lang/String;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=6, args_size=2
start local 0 start local 2 0: new java.sql.Timestamp
dup
lload 0
invokespecial java.sql.Timestamp.<init>:(J)V
invokevirtual java.sql.Timestamp.toString:()Ljava/lang/String;
astore 4
start local 4 1: aload 4
iconst_0
bipush 19
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 5
start local 5 2: new java.lang.StringBuilder
dup
aload 5
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc " (+"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
lload 0
lload 2
lsub
ldc 1000
ldiv
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " s)"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 5
3: aload 5
areturn
end local 5 end local 4 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 t J
0 4 2 start J
1 4 4 x Ljava/lang/String;
2 4 5 s Ljava/lang/String;
MethodParameters:
Name Flags
t
start
private static int getPercent(long, long);
descriptor: (JJ)I
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=8, locals=4, args_size=2
start local 0 start local 2 0: lload 0
lconst_0
lcmp
ifne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
lload 0
lload 2
lcmp
ifne 4
3: bipush 100
ireturn
4: StackMap locals:
StackMap stack:
lconst_1
ldc 98
lload 0
lmul
lconst_1
lload 2
invokestatic java.lang.Math.max:(JJ)J
ldiv
ladd
l2i
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 value J
0 5 2 max J
MethodParameters:
Name Flags
value
max
public static void compact(java.lang.String, boolean);
descriptor: (Ljava/lang/String;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".tempFile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 1: aload 2
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
2: aload 0
aload 2
iload 1
invokestatic org.h2.mvstore.MVStoreTool.compact:(Ljava/lang/String;Ljava/lang/String;Z)V
3: aload 2
aload 0
invokestatic org.h2.store.fs.FileUtils.moveAtomicReplace:(Ljava/lang/String;Ljava/lang/String;)V
4: goto 11
StackMap locals: java.lang.String int java.lang.String
StackMap stack: org.h2.message.DbException
5: pop
6: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".newFile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 3
start local 3 7: aload 3
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
8: aload 2
aload 3
invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
9: aload 0
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
10: aload 3
aload 0
invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
end local 3 11: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 fileName Ljava/lang/String;
0 12 1 compress Z
1 12 2 tempName Ljava/lang/String;
7 11 3 newName Ljava/lang/String;
Exception table:
from to target type
3 4 5 Class org.h2.message.DbException
MethodParameters:
Name Flags
fileName
compress
public static void compactCleanUp(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".tempFile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 1
start local 1 1: aload 1
invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
ifeq 3
2: aload 1
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
3: StackMap locals: java.lang.String
StackMap stack:
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".newFile"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 2
start local 2 4: aload 2
invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
ifeq 9
5: aload 0
invokestatic org.h2.store.fs.FileUtils.exists:(Ljava/lang/String;)Z
ifeq 8
6: aload 2
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
7: goto 9
8: StackMap locals: java.lang.String
StackMap stack:
aload 2
aload 0
invokestatic org.h2.store.fs.FileUtils.move:(Ljava/lang/String;Ljava/lang/String;)V
9: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 fileName Ljava/lang/String;
1 10 1 tempName Ljava/lang/String;
4 10 2 newName Ljava/lang/String;
MethodParameters:
Name Flags
fileName
public static void compact(java.lang.String, java.lang.String, boolean);
descriptor: (Ljava/lang/String;Ljava/lang/String;Z)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=2, locals=10, args_size=3
start local 0 start local 1 start local 2 0: aconst_null
astore 3
aconst_null
astore 4
1: new org.h2.mvstore.MVStore$Builder
dup
invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
2: aload 0
invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
invokevirtual org.h2.mvstore.MVStore$Builder.readOnly:()Lorg/h2/mvstore/MVStore$Builder;
invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
3: astore 5
start local 5 4: aload 1
invokestatic org.h2.store.fs.FileUtils.delete:(Ljava/lang/String;)V
5: new org.h2.mvstore.MVStore$Builder
dup
invokespecial org.h2.mvstore.MVStore$Builder.<init>:()V
6: aload 1
invokevirtual org.h2.mvstore.MVStore$Builder.fileName:(Ljava/lang/String;)Lorg/h2/mvstore/MVStore$Builder;
7: astore 6
start local 6 8: iload 2
ifeq 10
9: aload 6
invokevirtual org.h2.mvstore.MVStore$Builder.compress:()Lorg/h2/mvstore/MVStore$Builder;
pop
10: StackMap locals: java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore org.h2.mvstore.MVStore$Builder
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
11: aload 6
invokevirtual org.h2.mvstore.MVStore$Builder.open:()Lorg/h2/mvstore/MVStore;
astore 9
start local 9 12: aload 5
aload 9
invokestatic org.h2.mvstore.MVStoreTool.compact:(Lorg/h2/mvstore/MVStore;Lorg/h2/mvstore/MVStore;)V
13: aload 9
ifnull 19
aload 9
invokevirtual org.h2.mvstore.MVStore.close:()V
goto 19
StackMap locals: java.lang.String java.lang.String int java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore org.h2.mvstore.MVStore$Builder java.lang.Throwable java.lang.Throwable org.h2.mvstore.MVStore
StackMap stack: java.lang.Throwable
14: astore 7
aload 9
ifnull 15
aload 9
invokevirtual org.h2.mvstore.MVStore.close:()V
end local 9 StackMap locals:
StackMap stack:
15: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
16: astore 8
aload 7
ifnonnull 17
aload 8
astore 7
goto 18
StackMap locals:
StackMap stack:
17: aload 7
aload 8
if_acmpeq 18
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
18: aload 7
athrow
end local 6 19: StackMap locals:
StackMap stack:
aload 5
ifnull 25
aload 5
invokevirtual org.h2.mvstore.MVStore.close:()V
goto 25
StackMap locals:
StackMap stack: java.lang.Throwable
20: astore 3
aload 5
ifnull 21
aload 5
invokevirtual org.h2.mvstore.MVStore.close:()V
end local 5 StackMap locals:
StackMap stack:
21: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
22: astore 4
aload 3
ifnonnull 23
aload 4
astore 3
goto 24
StackMap locals:
StackMap stack:
23: aload 3
aload 4
if_acmpeq 24
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
24: aload 3
athrow
25: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 26 0 sourceFileName Ljava/lang/String;
0 26 1 targetFileName Ljava/lang/String;
0 26 2 compress Z
4 21 5 source Lorg/h2/mvstore/MVStore;
8 19 6 b Lorg/h2/mvstore/MVStore$Builder;
12 15 9 target Lorg/h2/mvstore/MVStore;
Exception table:
from to target type
12 13 14 any
11 16 16 any
4 19 20 any
1 22 22 any
MethodParameters:
Name Flags
sourceFileName
targetFileName
compress
public static void compact(org.h2.mvstore.MVStore, org.h2.mvstore.MVStore);
descriptor: (Lorg/h2/mvstore/MVStore;Lorg/h2/mvstore/MVStore;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=3, locals=11, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual org.h2.mvstore.MVStore.getAutoCommitDelay:()I
istore 2
start local 2 1: aload 1
invokevirtual org.h2.mvstore.MVStore.getRetentionTime:()I
istore 3
start local 3 2: aload 1
iconst_0
invokevirtual org.h2.mvstore.MVStore.setAutoCommitDelay:(I)V
3: aload 1
ldc 2147483647
invokevirtual org.h2.mvstore.MVStore.setRetentionTime:(I)V
4: aload 0
invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
astore 4
start local 4 5: aload 1
invokevirtual org.h2.mvstore.MVStore.getMetaMap:()Lorg/h2/mvstore/MVMap;
astore 5
start local 5 6: aload 4
invokevirtual org.h2.mvstore.MVMap.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 14
StackMap locals: org.h2.mvstore.MVStore org.h2.mvstore.MVStore int int org.h2.mvstore.MVMap org.h2.mvstore.MVMap top java.util.Iterator
StackMap stack:
7: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 6
start local 6 8: aload 6
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast java.lang.String
astore 8
start local 8 9: aload 8
ldc "chunk."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
10: aload 8
ldc "map."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
11: aload 8
ldc "name."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
12: aload 8
ldc "root."
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 14
13: aload 5
aload 8
aload 6
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.lang.String
invokevirtual org.h2.mvstore.MVMap.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 8 end local 6 14: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
15: aload 0
invokevirtual org.h2.mvstore.MVStore.getMapNames:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 7
goto 24
StackMap locals:
StackMap stack:
16: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 6
start local 6 17: new org.h2.mvstore.MVMap$Builder
dup
invokespecial org.h2.mvstore.MVMap$Builder.<init>:()V
18: new org.h2.mvstore.MVStoreTool$GenericDataType
dup
invokespecial org.h2.mvstore.MVStoreTool$GenericDataType.<init>:()V
invokevirtual org.h2.mvstore.MVMap$Builder.keyType:(Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/MVMap$Builder;
19: new org.h2.mvstore.MVStoreTool$GenericDataType
dup
invokespecial org.h2.mvstore.MVStoreTool$GenericDataType.<init>:()V
invokevirtual org.h2.mvstore.MVMap$Builder.valueType:(Lorg/h2/mvstore/type/DataType;)Lorg/h2/mvstore/MVMap$Builder;
20: astore 8
start local 8 21: aload 0
aload 6
aload 8
invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;Lorg/h2/mvstore/MVMap$MapBuilder;)Lorg/h2/mvstore/MVMap;
astore 9
start local 9 22: aload 1
aload 6
aload 8
invokevirtual org.h2.mvstore.MVStore.openMap:(Ljava/lang/String;Lorg/h2/mvstore/MVMap$MapBuilder;)Lorg/h2/mvstore/MVMap;
astore 10
start local 10 23: aload 10
aload 9
invokevirtual org.h2.mvstore.MVMap.copyFrom:(Lorg/h2/mvstore/MVMap;)V
end local 10 end local 9 end local 8 end local 6 24: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
25: aload 1
iload 3
invokevirtual org.h2.mvstore.MVStore.setRetentionTime:(I)V
26: aload 1
iload 2
invokevirtual org.h2.mvstore.MVStore.setAutoCommitDelay:(I)V
27: return
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 28 0 source Lorg/h2/mvstore/MVStore;
0 28 1 target Lorg/h2/mvstore/MVStore;
1 28 2 autoCommitDelay I
2 28 3 retentionTime I
5 28 4 sourceMeta Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
6 28 5 targetMeta Lorg/h2/mvstore/MVMap<Ljava/lang/String;Ljava/lang/String;>;
8 14 6 m Ljava/util/Map$Entry<Ljava/lang/String;Ljava/lang/String;>;
9 14 8 key Ljava/lang/String;
17 24 6 mapName Ljava/lang/String;
21 24 8 mp Lorg/h2/mvstore/MVMap$Builder<Ljava/lang/Object;Ljava/lang/Object;>;
22 24 9 sourceMap Lorg/h2/mvstore/MVMap<Ljava/lang/Object;Ljava/lang/Object;>;
23 24 10 targetMap Lorg/h2/mvstore/MVMap<Ljava/lang/Object;Ljava/lang/Object;>;
MethodParameters:
Name Flags
source
target
public static void repair(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=6, args_size=1
start local 0 0: new java.io.PrintWriter
dup
getstatic java.lang.System.out:Ljava/io/PrintStream;
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
astore 1
start local 1 1: ldc 9223372036854775807
lstore 2
start local 2 2: new org.h2.mvstore.MVStoreTool$1
dup
invokespecial org.h2.mvstore.MVStoreTool$1.<init>:()V
astore 4
start local 4 3: goto 21
4: StackMap locals: java.io.PrintWriter long java.io.OutputStream
StackMap stack:
aload 1
lload 2
ldc 9223372036854775807
lcmp
ifne 5
ldc "Trying latest version"
goto 6
5: StackMap locals:
StackMap stack: java.io.PrintWriter
new java.lang.StringBuilder
dup
ldc "Trying version "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
6: StackMap locals: java.lang.String java.io.PrintWriter long java.io.OutputStream
StackMap stack: java.io.PrintWriter java.lang.String
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
7: aload 1
invokevirtual java.io.PrintWriter.flush:()V
8: aload 0
lload 2
new java.io.PrintWriter
dup
aload 4
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokestatic org.h2.mvstore.MVStoreTool.rollback:(Ljava/lang/String;JLjava/io/Writer;)J
lstore 2
9: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
new java.io.PrintWriter
dup
aload 4
invokespecial java.io.PrintWriter.<init>:(Ljava/io/OutputStream;)V
invokestatic org.h2.mvstore.MVStoreTool.info:(Ljava/lang/String;Ljava/io/Writer;)Ljava/lang/String;
astore 5
start local 5 10: aload 5
ifnonnull 15
11: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".back"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
iconst_1
invokevirtual org.h2.store.fs.FilePath.moveTo:(Lorg/h2/store/fs/FilePath;Z)V
12: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
iconst_1
invokevirtual org.h2.store.fs.FilePath.moveTo:(Lorg/h2/store/fs/FilePath;Z)V
13: aload 1
ldc "Success"
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
14: goto 22
15: StackMap locals: java.lang.String
StackMap stack:
aload 1
new java.lang.StringBuilder
dup
ldc " ... failed: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
end local 5 16: goto 20
StackMap locals: java.lang.String java.io.PrintWriter long java.io.OutputStream
StackMap stack: java.lang.Exception
17: astore 5
start local 5 18: aload 1
new java.lang.StringBuilder
dup
ldc "Fail: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
19: aload 1
invokevirtual java.io.PrintWriter.flush:()V
end local 5 20: StackMap locals:
StackMap stack:
lload 2
lconst_1
lsub
lstore 2
21: StackMap locals:
StackMap stack:
lload 2
lconst_0
lcmp
ifge 4
22: StackMap locals:
StackMap stack:
aload 1
invokevirtual java.io.PrintWriter.flush:()V
23: return
end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 24 0 fileName Ljava/lang/String;
1 24 1 pw Ljava/io/PrintWriter;
2 24 2 version J
3 24 4 ignore Ljava/io/OutputStream;
10 16 5 error Ljava/lang/String;
18 20 5 e Ljava/lang/Exception;
Exception table:
from to target type
9 14 17 Class java.lang.Exception
15 16 17 Class java.lang.Exception
MethodParameters:
Name Flags
fileName
public static long rollback(java.lang.String, long, java.io.Writer);
descriptor: (Ljava/lang/String;JLjava/io/Writer;)J
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=5, locals=21, args_size=3
start local 0 start local 1 start local 3 0: ldc -1
lstore 4
start local 4 1: new java.io.PrintWriter
dup
aload 3
iconst_1
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;Z)V
astore 6
start local 6 2: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
invokevirtual org.h2.store.fs.FilePath.exists:()Z
ifne 5
3: aload 6
new java.lang.StringBuilder
dup
ldc "File not found: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 0
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
4: lload 4
lreturn
5: StackMap locals: long java.io.PrintWriter
StackMap stack:
aconst_null
astore 7
start local 7 6: aconst_null
astore 8
start local 8 7: sipush 4096
istore 9
start local 9 8: aload 0
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
ldc "r"
invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
astore 7
9: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
invokevirtual org.h2.store.fs.FilePath.delete:()V
10: new java.lang.StringBuilder
dup
aload 0
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".temp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.h2.store.fs.FilePath.get:(Ljava/lang/String;)Lorg/h2/store/fs/FilePath;
ldc "rw"
invokevirtual org.h2.store.fs.FilePath.open:(Ljava/lang/String;)Ljava/nio/channels/FileChannel;
astore 8
11: aload 7
invokevirtual java.nio.channels.FileChannel.size:()J
lstore 10
start local 10 12: sipush 4096
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 12
start local 12 13: aconst_null
astore 13
start local 13 14: lconst_0
lstore 14
start local 14 15: goto 49
16: StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long
StackMap stack:
aload 12
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
17: aload 7
lload 14
aload 12
invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
18: aload 12
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
19: aload 12
invokevirtual java.nio.ByteBuffer.get:()B
istore 16
start local 16 20: iload 16
bipush 72
if_icmpne 25
21: aload 12
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
22: aload 8
aload 12
lload 14
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
pop
23: lload 14
iload 9
i2l
ladd
lstore 14
24: goto 49
25: StackMap locals: int
StackMap stack:
iload 16
bipush 99
if_icmpeq 28
26: lload 14
iload 9
i2l
ladd
lstore 14
27: goto 49
28: StackMap locals:
StackMap stack:
aconst_null
astore 17
start local 17 29: aload 12
lload 14
invokestatic org.h2.mvstore.Chunk.readChunkHeader:(Ljava/nio/ByteBuffer;J)Lorg/h2/mvstore/Chunk;
astore 17
30: goto 34
StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long int org.h2.mvstore.Chunk
StackMap stack: java.lang.IllegalStateException
31: pop
32: lload 14
iload 9
i2l
ladd
lstore 14
33: goto 49
34: StackMap locals:
StackMap stack:
aload 17
getfield org.h2.mvstore.Chunk.len:I
ifgt 37
35: lload 14
iload 9
i2l
ladd
lstore 14
36: goto 49
37: StackMap locals:
StackMap stack:
aload 17
getfield org.h2.mvstore.Chunk.len:I
sipush 4096
imul
istore 18
start local 18 38: iload 18
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 19
start local 19 39: aload 7
lload 14
aload 19
invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
40: aload 17
getfield org.h2.mvstore.Chunk.version:J
lload 1
lcmp
ifle 43
41: lload 14
iload 18
i2l
ladd
lstore 14
42: goto 49
43: StackMap locals: int java.nio.ByteBuffer
StackMap stack:
aload 19
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
44: aload 8
aload 19
lload 14
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
pop
45: aload 13
ifnull 46
aload 17
getfield org.h2.mvstore.Chunk.version:J
aload 13
getfield org.h2.mvstore.Chunk.version:J
lcmp
ifle 48
46: StackMap locals:
StackMap stack:
aload 17
astore 13
47: aload 17
getfield org.h2.mvstore.Chunk.version:J
lstore 4
48: StackMap locals:
StackMap stack:
lload 14
iload 18
i2l
ladd
lstore 14
end local 19 end local 18 end local 17 end local 16 49: StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int long java.nio.ByteBuffer org.h2.mvstore.Chunk long
StackMap stack:
lload 14
lload 10
lcmp
iflt 16
end local 14 50: aload 13
getfield org.h2.mvstore.Chunk.len:I
sipush 4096
imul
istore 14
start local 14 51: iload 14
invokestatic java.nio.ByteBuffer.allocate:(I)Ljava/nio/ByteBuffer;
astore 15
start local 15 52: aload 7
aload 13
getfield org.h2.mvstore.Chunk.block:J
ldc 4096
lmul
aload 15
invokestatic org.h2.mvstore.DataUtils.readFully:(Ljava/nio/channels/FileChannel;JLjava/nio/ByteBuffer;)V
53: aload 15
invokevirtual java.nio.ByteBuffer.rewind:()Ljava/nio/Buffer;
pop
54: aload 8
aload 15
lload 10
invokevirtual java.nio.channels.FileChannel.write:(Ljava/nio/ByteBuffer;J)I
pop
end local 15 end local 14 end local 13 end local 12 end local 10 55: goto 77
StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int
StackMap stack: java.io.IOException
56: astore 10
start local 10 57: aload 6
new java.lang.StringBuilder
dup
ldc "ERROR: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
58: aload 10
aload 6
invokevirtual java.io.IOException.printStackTrace:(Ljava/io/PrintWriter;)V
end local 10 59: aload 7
ifnull 63
60: aload 7
invokevirtual java.nio.channels.FileChannel.close:()V
61: goto 63
StackMap locals:
StackMap stack: java.io.IOException
62: pop
63: StackMap locals:
StackMap stack:
aload 8
ifnull 85
64: aload 8
invokevirtual java.nio.channels.FileChannel.close:()V
65: goto 85
StackMap locals:
StackMap stack: java.io.IOException
66: pop
goto 85
67: StackMap locals:
StackMap stack: java.lang.Throwable
astore 20
68: aload 7
ifnull 72
69: aload 7
invokevirtual java.nio.channels.FileChannel.close:()V
70: goto 72
StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int top top top top top top top top top top java.lang.Throwable
StackMap stack: java.io.IOException
71: pop
72: StackMap locals:
StackMap stack:
aload 8
ifnull 76
73: aload 8
invokevirtual java.nio.channels.FileChannel.close:()V
74: goto 76
StackMap locals:
StackMap stack: java.io.IOException
75: pop
76: StackMap locals:
StackMap stack:
aload 20
athrow
77: StackMap locals: java.lang.String long java.io.Writer long java.io.PrintWriter java.nio.channels.FileChannel java.nio.channels.FileChannel int
StackMap stack:
aload 7
ifnull 81
78: aload 7
invokevirtual java.nio.channels.FileChannel.close:()V
79: goto 81
StackMap locals:
StackMap stack: java.io.IOException
80: pop
81: StackMap locals:
StackMap stack:
aload 8
ifnull 85
82: aload 8
invokevirtual java.nio.channels.FileChannel.close:()V
83: goto 85
StackMap locals:
StackMap stack: java.io.IOException
84: pop
85: StackMap locals:
StackMap stack:
aload 6
invokevirtual java.io.PrintWriter.flush:()V
86: lload 4
lreturn
end local 9 end local 8 end local 7 end local 6 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 87 0 fileName Ljava/lang/String;
0 87 1 targetVersion J
0 87 3 writer Ljava/io/Writer;
1 87 4 newestVersion J
2 87 6 pw Ljava/io/PrintWriter;
6 87 7 file Ljava/nio/channels/FileChannel;
7 87 8 target Ljava/nio/channels/FileChannel;
8 87 9 blockSize I
12 55 10 fileSize J
13 55 12 block Ljava/nio/ByteBuffer;
14 55 13 newestChunk Lorg/h2/mvstore/Chunk;
15 50 14 pos J
20 49 16 headerType I
29 49 17 c Lorg/h2/mvstore/Chunk;
38 49 18 length I
39 49 19 chunk Ljava/nio/ByteBuffer;
51 55 14 length I
52 55 15 chunk Ljava/nio/ByteBuffer;
57 59 10 e Ljava/io/IOException;
Exception table:
from to target type
29 30 31 Class java.lang.IllegalStateException
8 55 56 Class java.io.IOException
60 61 62 Class java.io.IOException
64 65 66 Class java.io.IOException
8 59 67 any
69 70 71 Class java.io.IOException
73 74 75 Class java.io.IOException
78 79 80 Class java.io.IOException
82 83 84 Class java.io.IOException
MethodParameters:
Name Flags
fileName
targetVersion
writer
}
SourceFile: "MVStoreTool.java"
NestMembers:
org.h2.mvstore.MVStoreTool$1 org.h2.mvstore.MVStoreTool$GenericDataType
InnerClasses:
public abstract Entry = java.util.Map$Entry of java.util.Map
public Builder = org.h2.mvstore.MVMap$Builder of org.h2.mvstore.MVMap
public abstract MapBuilder = org.h2.mvstore.MVMap$MapBuilder of org.h2.mvstore.MVMap
public final Builder = org.h2.mvstore.MVStore$Builder of org.h2.mvstore.MVStore
org.h2.mvstore.MVStoreTool$1
GenericDataType = org.h2.mvstore.MVStoreTool$GenericDataType of org.h2.mvstore.MVStoreTool