final class org.hsqldb.persist.DataFileDefrag
minor version: 0
major version: 59
flags: flags: (0x0030) ACC_FINAL, ACC_SUPER
this_class: org.hsqldb.persist.DataFileDefrag
super_class: java.lang.Object
{
org.hsqldb.persist.DataFileCache dataFileOut;
descriptor: Lorg/hsqldb/persist/DataFileCache;
flags: (0x0000)
org.hsqldb.lib.StopWatch stopw;
descriptor: Lorg/hsqldb/lib/StopWatch;
flags: (0x0000)
java.lang.String dataFileName;
descriptor: Ljava/lang/String;
flags: (0x0000)
long[][] rootsList;
descriptor: [[J
flags: (0x0000)
org.hsqldb.Database database;
descriptor: Lorg/hsqldb/Database;
flags: (0x0000)
org.hsqldb.persist.DataFileCache dataCache;
descriptor: Lorg/hsqldb/persist/DataFileCache;
flags: (0x0000)
org.hsqldb.lib.LongLookup pointerLookup;
descriptor: Lorg/hsqldb/lib/LongLookup;
flags: (0x0000)
void <init>(org.hsqldb.Database, org.hsqldb.persist.DataFileCache);
descriptor: (Lorg/hsqldb/Database;Lorg/hsqldb/persist/DataFileCache;)V
flags: (0x0000)
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new org.hsqldb.lib.StopWatch
dup
invokespecial org.hsqldb.lib.StopWatch.<init>:()V
putfield org.hsqldb.persist.DataFileDefrag.stopw:Lorg/hsqldb/lib/StopWatch;
2: aload 0
aload 1
putfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
3: aload 0
aload 2
putfield org.hsqldb.persist.DataFileDefrag.dataCache:Lorg/hsqldb/persist/DataFileCache;
4: aload 0
aload 2
invokevirtual org.hsqldb.persist.DataFileCache.getFileName:()Ljava/lang/String;
putfield org.hsqldb.persist.DataFileDefrag.dataFileName:Ljava/lang/String;
5: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Lorg/hsqldb/persist/DataFileDefrag;
0 6 1 db Lorg/hsqldb/Database;
0 6 2 cache Lorg/hsqldb/persist/DataFileCache;
MethodParameters:
Name Flags
db
cache
void process(org.hsqldb.Session);
descriptor: (Lorg/hsqldb/Session;)V
flags: (0x0000)
Code:
stack=6, locals=12, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
start local 2 1: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
ldc "Defrag process begins"
invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
2: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.schemaManager:Lorg/hsqldb/SchemaManager;
iconst_1
invokevirtual org.hsqldb.SchemaManager.getAllTables:(Z)Lorg/hsqldb/lib/HsqlArrayList;
astore 3
start local 3 3: aload 0
aload 3
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
anewarray long[]
putfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
4: lconst_0
lstore 4
start local 4 5: iconst_0
istore 6
start local 6 6: aload 3
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 7
start local 7 7: goto 16
8: StackMap locals: org.hsqldb.persist.DataFileDefrag org.hsqldb.Session java.lang.Throwable org.hsqldb.lib.HsqlArrayList long int int
StackMap stack:
aload 3
iload 6
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Table
astore 8
start local 8 9: aload 8
invokevirtual org.hsqldb.Table.getTableType:()I
iconst_5
if_icmpne 15
10: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.persistentStoreCollection:Lorg/hsqldb/persist/PersistentStoreCollectionDatabase;
aload 8
invokevirtual org.hsqldb.persist.PersistentStoreCollectionDatabase.getStore:(Lorg/hsqldb/TableBase;)Lorg/hsqldb/persist/PersistentStore;
11: astore 9
start local 9 12: aload 9
invokeinterface org.hsqldb.persist.PersistentStore.elementCount:()J
lstore 10
start local 10 13: lload 10
lload 4
lcmp
ifle 15
14: lload 10
lstore 4
end local 10 end local 9 end local 8 15: StackMap locals:
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
16: iload 6
iload 7
if_icmplt 8
end local 7 end local 6 17: lload 4
ldc 2147483647
lcmp
ifle 19
18: sipush 3426
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
19: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
invokevirtual org.hsqldb.Database.getCanonicalPath:()Ljava/lang/String;
astore 6
start local 6 20: aload 0
new org.hsqldb.persist.DataFileCache
dup
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
aload 6
iconst_1
invokespecial org.hsqldb.persist.DataFileCache.<init>:(Lorg/hsqldb/Database;Ljava/lang/String;Z)V
putfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
21: aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataCache:Lorg/hsqldb/persist/DataFileCache;
getfield org.hsqldb.persist.DataFileCache.fileFreePosition:J
22: ldc 2147483647
aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataCache:Lorg/hsqldb/persist/DataFileCache;
getfield org.hsqldb.persist.DataFileCache.dataFileScale:I
i2l
lmul
lcmp
ifge 25
23: aload 0
new org.hsqldb.lib.DoubleIntIndex
dup
lload 4
l2i
invokespecial org.hsqldb.lib.DoubleIntIndex.<init>:(I)V
putfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
24: goto 26
25: StackMap locals: java.lang.String
StackMap stack:
aload 0
new org.hsqldb.lib.DoubleLongIndex
dup
lload 4
l2i
invokespecial org.hsqldb.lib.DoubleLongIndex.<init>:(I)V
putfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
26: StackMap locals:
StackMap stack:
iconst_0
istore 7
start local 7 27: aload 3
invokevirtual org.hsqldb.lib.HsqlArrayList.size:()I
istore 8
start local 8 28: goto 39
29: StackMap locals: int int
StackMap stack:
aload 3
iload 7
invokevirtual org.hsqldb.lib.HsqlArrayList.get:(I)Ljava/lang/Object;
checkcast org.hsqldb.Table
astore 9
start local 9 30: aload 9
invokevirtual org.hsqldb.Table.getTableType:()I
iconst_5
if_icmpne 34
31: aload 0
aload 9
invokevirtual org.hsqldb.persist.DataFileDefrag.writeTableToDataFile:(Lorg/hsqldb/Table;)[J
astore 10
start local 10 32: aload 0
getfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
iload 7
aload 10
aastore
end local 10 33: goto 35
34: StackMap locals: org.hsqldb.Table
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
iload 7
aconst_null
aastore
35: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "table complete "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
36: aload 9
invokevirtual org.hsqldb.Table.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
37: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
end local 9 38: iinc 7 1
StackMap locals:
StackMap stack:
39: iload 7
iload 8
if_icmplt 29
end local 8 end local 7 40: aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
invokevirtual org.hsqldb.persist.DataFileCache.close:()V
41: aload 0
aconst_null
putfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
42: iconst_0
istore 7
start local 7 43: aload 0
getfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
arraylength
istore 8
start local 8 44: goto 53
45: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
iload 7
aaload
astore 9
start local 9 46: aload 9
ifnull 52
47: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "roots: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
48: aload 9
49: ldc ","
ldc ""
50: invokestatic org.hsqldb.lib.StringUtil.getList:([JLjava/lang/String;Ljava/lang/String;)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
51: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
end local 9 52: StackMap locals:
StackMap stack:
iinc 7 1
StackMap locals:
StackMap stack:
53: iload 7
iload 8
if_icmplt 45
end local 8 end local 7 end local 6 54: goto 84
StackMap locals: org.hsqldb.persist.DataFileDefrag org.hsqldb.Session java.lang.Throwable org.hsqldb.lib.HsqlArrayList long
StackMap stack: java.lang.OutOfMemoryError
55: astore 6
start local 6 56: aload 6
astore 2
57: sipush 460
aload 6
invokestatic org.hsqldb.error.Error.error:(ILjava/lang/Throwable;)Lorg/hsqldb/HsqlException;
athrow
end local 6 58: StackMap locals:
StackMap stack: java.lang.Throwable
astore 6
start local 6 59: aload 6
astore 2
60: sipush 458
aload 6
invokestatic org.hsqldb.error.Error.error:(ILjava/lang/Throwable;)Lorg/hsqldb/HsqlException;
athrow
end local 6 61: StackMap locals:
StackMap stack: java.lang.Throwable
astore 11
62: aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
ifnull 66
63: aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
invokevirtual org.hsqldb.persist.DataFileCache.release:()V
64: goto 66
StackMap locals: org.hsqldb.persist.DataFileDefrag org.hsqldb.Session java.lang.Throwable org.hsqldb.lib.HsqlArrayList long top top top top top java.lang.Throwable
StackMap stack: java.lang.Throwable
65: pop
66: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.OutOfMemoryError
ifeq 72
67: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
68: new java.lang.StringBuilder
dup
ldc "defrag failed - out of memory - required: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
69: lload 4
ldc 8
lmul
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
70: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
71: invokevirtual org.hsqldb.persist.Logger.logInfoEvent:(Ljava/lang/String;)V
72: StackMap locals:
StackMap stack:
aload 2
ifnonnull 77
73: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "Defrag transfer complete: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
74: aload 0
getfield org.hsqldb.persist.DataFileDefrag.stopw:Lorg/hsqldb/lib/StopWatch;
invokevirtual org.hsqldb.lib.StopWatch.elapsedTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
75: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
76: goto 83
77: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
ldc "defrag failed "
aload 2
invokevirtual org.hsqldb.persist.Logger.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
78: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
79: new java.lang.StringBuilder
dup
aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
80: ldc ".new"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
81: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
82: invokestatic org.hsqldb.persist.DataFileCache.deleteFile:(Lorg/hsqldb/Database;Ljava/lang/String;)V
83: StackMap locals:
StackMap stack:
aload 11
athrow
84: StackMap locals: org.hsqldb.persist.DataFileDefrag org.hsqldb.Session java.lang.Throwable org.hsqldb.lib.HsqlArrayList long
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
ifnull 88
85: aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
invokevirtual org.hsqldb.persist.DataFileCache.release:()V
86: goto 88
StackMap locals:
StackMap stack: java.lang.Throwable
87: pop
88: StackMap locals:
StackMap stack:
aload 2
instanceof java.lang.OutOfMemoryError
ifeq 94
89: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
90: new java.lang.StringBuilder
dup
ldc "defrag failed - out of memory - required: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
91: lload 4
ldc 8
lmul
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
92: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
93: invokevirtual org.hsqldb.persist.Logger.logInfoEvent:(Ljava/lang/String;)V
94: StackMap locals:
StackMap stack:
aload 2
ifnonnull 99
95: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "Defrag transfer complete: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
96: aload 0
getfield org.hsqldb.persist.DataFileDefrag.stopw:Lorg/hsqldb/lib/StopWatch;
invokevirtual org.hsqldb.lib.StopWatch.elapsedTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
97: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
98: goto 105
99: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
ldc "defrag failed "
aload 2
invokevirtual org.hsqldb.persist.Logger.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
100: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
101: new java.lang.StringBuilder
dup
aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileName:Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
102: ldc ".new"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
103: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
104: invokestatic org.hsqldb.persist.DataFileCache.deleteFile:(Lorg/hsqldb/Database;Ljava/lang/String;)V
105: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 106 0 this Lorg/hsqldb/persist/DataFileDefrag;
0 106 1 session Lorg/hsqldb/Session;
1 106 2 error Ljava/lang/Throwable;
3 106 3 allTables Lorg/hsqldb/lib/HsqlArrayList;
5 106 4 maxSize J
6 17 6 i I
7 17 7 tSize I
9 15 8 table Lorg/hsqldb/Table;
12 15 9 store Lorg/hsqldb/persist/PersistentStore;
13 15 10 size J
20 54 6 baseFileName Ljava/lang/String;
27 40 7 i I
28 40 8 tSize I
30 38 9 t Lorg/hsqldb/Table;
32 33 10 rootsArray [J
43 54 7 i I
44 54 8 size I
46 52 9 roots [J
56 58 6 e Ljava/lang/OutOfMemoryError;
59 61 6 t Ljava/lang/Throwable;
Exception table:
from to target type
19 54 55 Class java.lang.OutOfMemoryError
19 54 58 Class java.lang.Throwable
19 61 61 any
62 64 65 Class java.lang.Throwable
84 86 87 Class java.lang.Throwable
MethodParameters:
Name Flags
session
long[] writeTableToDataFile(org.hsqldb.Table);
descriptor: (Lorg/hsqldb/Table;)[J
flags: (0x0000)
Code:
stack=5, locals=7, args_size=2
start local 0 start local 1 0: aload 1
getfield org.hsqldb.Table.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.persistentStoreCollection:Lorg/hsqldb/persist/PersistentStoreCollectionDatabase;
1: aload 1
invokevirtual org.hsqldb.persist.PersistentStoreCollectionDatabase.getStore:(Lorg/hsqldb/TableBase;)Lorg/hsqldb/persist/PersistentStore;
2: checkcast org.hsqldb.persist.RowStoreAVLDisk
3: astore 2
start local 2 4: aload 1
invokevirtual org.hsqldb.Table.getIndexRootsArray:()[J
astore 3
start local 3 5: aload 0
getfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
invokeinterface org.hsqldb.lib.LongLookup.clear:()V
6: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "lookup begins "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual org.hsqldb.Table.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield org.hsqldb.persist.DataFileDefrag.stopw:Lorg/hsqldb/lib/StopWatch;
invokevirtual org.hsqldb.lib.StopWatch.elapsedTime:()J
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
8: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
9: aload 2
aload 0
getfield org.hsqldb.persist.DataFileDefrag.dataFileOut:Lorg/hsqldb/persist/DataFileCache;
aload 0
getfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
invokevirtual org.hsqldb.persist.RowStoreAVLDisk.moveDataToSpace:(Lorg/hsqldb/persist/DataFileCache;Lorg/hsqldb/lib/LongLookup;)V
10: iconst_0
istore 4
start local 4 11: goto 19
12: StackMap locals: org.hsqldb.persist.RowStoreAVLDisk long[] int
StackMap stack:
aload 3
iload 4
laload
ldc -1
lcmp
ifne 14
13: goto 18
14: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
aload 3
iload 4
laload
ldc -1
invokeinterface org.hsqldb.lib.LongLookup.lookup:(JJ)J
lstore 5
start local 5 15: lload 5
ldc -1
lcmp
ifne 17
16: sipush 466
invokestatic org.hsqldb.error.Error.error:(I)Lorg/hsqldb/HsqlException;
athrow
17: StackMap locals: long
StackMap stack:
aload 3
iload 4
lload 5
lastore
end local 5 18: StackMap locals:
StackMap stack:
iinc 4 1
StackMap locals:
StackMap stack:
19: iload 4
aload 1
invokevirtual org.hsqldb.Table.getIndexCount:()I
if_icmplt 12
end local 4 20: aload 2
invokevirtual org.hsqldb.persist.RowStoreAVLDisk.elementCount:()J
lstore 4
start local 4 21: lload 4
aload 0
getfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
invokeinterface org.hsqldb.lib.LongLookup.size:()I
i2l
lcmp
ifeq 27
22: aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "discrepency in row count "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
23: aload 1
invokevirtual org.hsqldb.Table.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
24: lload 4
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
25: aload 0
getfield org.hsqldb.persist.DataFileDefrag.pointerLookup:Lorg/hsqldb/lib/LongLookup;
invokeinterface org.hsqldb.lib.LongLookup.size:()I
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aconst_null
26: invokevirtual org.hsqldb.persist.Logger.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
27: StackMap locals: org.hsqldb.persist.DataFileDefrag org.hsqldb.Table org.hsqldb.persist.RowStoreAVLDisk long[] long
StackMap stack:
aload 0
getfield org.hsqldb.persist.DataFileDefrag.database:Lorg/hsqldb/Database;
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
new java.lang.StringBuilder
dup
ldc "table written "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
28: aload 1
invokevirtual org.hsqldb.Table.getName:()Lorg/hsqldb/HsqlNameManager$HsqlName;
getfield org.hsqldb.HsqlNameManager$HsqlName.name:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
29: invokevirtual org.hsqldb.persist.Logger.logDetailEvent:(Ljava/lang/String;)V
30: aload 3
areturn
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/hsqldb/persist/DataFileDefrag;
0 31 1 table Lorg/hsqldb/Table;
4 31 2 store Lorg/hsqldb/persist/RowStoreAVLDisk;
5 31 3 rootsArray [J
11 20 4 i I
15 18 5 pos J
21 31 4 count J
MethodParameters:
Name Flags
table
public long[][] getIndexRoots();
descriptor: ()[[J
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.persist.DataFileDefrag.rootsList:[[J
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/DataFileDefrag;
}
SourceFile: "DataFileDefrag.java"
InnerClasses:
public final HsqlName = org.hsqldb.HsqlNameManager$HsqlName of org.hsqldb.HsqlNameManager