public class org.hsqldb.persist.RAShadowFile
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.hsqldb.persist.RAShadowFile
super_class: java.lang.Object
{
private static final int headerSize;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 12
final org.hsqldb.persist.EventLogInterface logger;
descriptor: Lorg/hsqldb/persist/EventLogInterface;
flags: (0x0010) ACC_FINAL
final java.lang.String pathName;
descriptor: Ljava/lang/String;
flags: (0x0010) ACC_FINAL
final org.hsqldb.persist.RandomAccessInterface source;
descriptor: Lorg/hsqldb/persist/RandomAccessInterface;
flags: (0x0010) ACC_FINAL
org.hsqldb.persist.RandomAccessInterface dest;
descriptor: Lorg/hsqldb/persist/RandomAccessInterface;
flags: (0x0000)
final int pageSize;
descriptor: I
flags: (0x0010) ACC_FINAL
final long maxSize;
descriptor: J
flags: (0x0010) ACC_FINAL
final org.hsqldb.map.BitMap bitMap;
descriptor: Lorg/hsqldb/map/BitMap;
flags: (0x0010) ACC_FINAL
boolean zeroPageSet;
descriptor: Z
flags: (0x0000)
long savedLength;
descriptor: J
flags: (0x0000)
long synchLength;
descriptor: J
flags: (0x0000)
byte[] buffer;
descriptor: [B
flags: (0x0000)
org.hsqldb.lib.HsqlByteArrayOutputStream byteArrayOutputStream;
descriptor: Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
flags: (0x0000)
void <init>(org.hsqldb.persist.EventLogInterface, org.hsqldb.persist.RandomAccessInterface, java.lang.String, long, int);
descriptor: (Lorg/hsqldb/persist/EventLogInterface;Lorg/hsqldb/persist/RandomAccessInterface;Ljava/lang/String;JI)V
flags: (0x0000)
Code:
stack=5, locals=8, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 6 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
aload 1
putfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
2: aload 0
aload 3
putfield org.hsqldb.persist.RAShadowFile.pathName:Ljava/lang/String;
3: aload 0
aload 2
putfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
4: aload 0
iload 6
putfield org.hsqldb.persist.RAShadowFile.pageSize:I
5: aload 0
lload 4
putfield org.hsqldb.persist.RAShadowFile.maxSize:J
6: lload 4
iload 6
i2l
ldiv
l2i
istore 7
start local 7 7: lload 4
iload 6
i2l
lrem
lconst_0
lcmp
ifeq 9
8: iinc 7 1
9: StackMap locals: org.hsqldb.persist.RAShadowFile org.hsqldb.persist.EventLogInterface org.hsqldb.persist.RandomAccessInterface java.lang.String long int int
StackMap stack:
aload 0
new org.hsqldb.map.BitMap
dup
iload 7
iconst_0
invokespecial org.hsqldb.map.BitMap.<init>:(IZ)V
putfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
10: aload 0
iload 6
bipush 12
iadd
newarray 8
putfield org.hsqldb.persist.RAShadowFile.buffer:[B
11: aload 0
new org.hsqldb.lib.HsqlByteArrayOutputStream
dup
aload 0
getfield org.hsqldb.persist.RAShadowFile.buffer:[B
invokespecial org.hsqldb.lib.HsqlByteArrayOutputStream.<init>:([B)V
putfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
12: return
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 13 0 this Lorg/hsqldb/persist/RAShadowFile;
0 13 1 logger Lorg/hsqldb/persist/EventLogInterface;
0 13 2 source Lorg/hsqldb/persist/RandomAccessInterface;
0 13 3 pathName Ljava/lang/String;
0 13 4 maxSize J
0 13 6 pageSize I
7 13 7 bitSize I
MethodParameters:
Name Flags
logger
source
pathName
maxSize
pageSize
int copy(long, int);
descriptor: (JI)I
flags: (0x0000)
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 3 0: iconst_0
istore 4
start local 4 1: aload 0
getfield org.hsqldb.persist.RAShadowFile.zeroPageSet:Z
ifne 5
2: iload 4
aload 0
iconst_0
invokevirtual org.hsqldb.persist.RAShadowFile.copy:(I)I
iadd
istore 4
3: aload 0
getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
iconst_0
invokevirtual org.hsqldb.map.BitMap.set:(I)I
pop
4: aload 0
iconst_1
putfield org.hsqldb.persist.RAShadowFile.zeroPageSet:Z
5: StackMap locals: int
StackMap stack:
lload 1
aload 0
getfield org.hsqldb.persist.RAShadowFile.maxSize:J
lcmp
iflt 7
6: iload 4
ireturn
7: StackMap locals:
StackMap stack:
lload 1
iload 3
i2l
ladd
lstore 5
start local 5 8: lload 5
aload 0
getfield org.hsqldb.persist.RAShadowFile.maxSize:J
lcmp
ifle 10
9: aload 0
getfield org.hsqldb.persist.RAShadowFile.maxSize:J
lstore 5
10: StackMap locals: long
StackMap stack:
lload 1
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
i2l
ldiv
l2i
istore 7
start local 7 11: lload 5
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
i2l
ldiv
l2i
istore 8
start local 8 12: lload 5
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
i2l
lrem
lconst_0
lcmp
ifne 17
13: iinc 8 -1
14: goto 17
15: StackMap locals: int int
StackMap stack:
iload 4
aload 0
iload 7
invokevirtual org.hsqldb.persist.RAShadowFile.copy:(I)I
iadd
istore 4
16: iinc 7 1
StackMap locals:
StackMap stack:
17: iload 7
iload 8
if_icmple 15
18: iload 4
ireturn
end local 8 end local 7 end local 5 end local 4 end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 19 0 this Lorg/hsqldb/persist/RAShadowFile;
0 19 1 fileOffset J
0 19 3 size I
1 19 4 pageCount I
8 19 5 endOffset J
11 19 7 startPageOffset I
12 19 8 endPageOffset I
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
fileOffset
size
private int copy(int);
descriptor: (I)I
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: aload 0
getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
iload 1
invokevirtual org.hsqldb.map.BitMap.set:(I)I
iconst_1
if_icmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
iload 1
i2l
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
i2l
lmul
lstore 2
start local 2 3: aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
istore 4
start local 4 4: aload 0
getfield org.hsqldb.persist.RAShadowFile.buffer:[B
arraylength
istore 5
start local 5 5: aload 0
getfield org.hsqldb.persist.RAShadowFile.maxSize:J
lload 2
lsub
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
i2l
lcmp
ifge 7
6: aload 0
getfield org.hsqldb.persist.RAShadowFile.maxSize:J
lload 2
lsub
l2i
istore 4
7: StackMap locals: long int int
StackMap stack:
aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
ifnonnull 9
8: aload 0
invokevirtual org.hsqldb.persist.RAShadowFile.open:()V
9: StackMap locals:
StackMap stack:
aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
lstore 6
start local 6 10: aload 0
getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.reset:()V
11: iload 4
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
if_icmpge 14
12: aload 0
getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
iconst_0
aload 0
getfield org.hsqldb.persist.RAShadowFile.buffer:[B
arraylength
invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.fill:(II)V
13: aload 0
getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.reset:()V
14: StackMap locals: long
StackMap stack:
aload 0
getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
aload 0
getfield org.hsqldb.persist.RAShadowFile.pageSize:I
invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.writeInt:(I)V
15: aload 0
getfield org.hsqldb.persist.RAShadowFile.byteArrayOutputStream:Lorg/hsqldb/lib/HsqlByteArrayOutputStream;
lload 2
invokevirtual org.hsqldb.lib.HsqlByteArrayOutputStream.writeLong:(J)V
16: aload 0
getfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
lload 2
invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
17: aload 0
getfield org.hsqldb.persist.RAShadowFile.source:Lorg/hsqldb/persist/RandomAccessInterface;
aload 0
getfield org.hsqldb.persist.RAShadowFile.buffer:[B
bipush 12
iload 4
invokeinterface org.hsqldb.persist.RandomAccessInterface.read:([BII)V
18: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
lload 6
invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
19: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
aload 0
getfield org.hsqldb.persist.RAShadowFile.buffer:[B
iconst_0
iload 5
invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
20: aload 0
lload 6
iload 5
i2l
ladd
putfield org.hsqldb.persist.RAShadowFile.savedLength:J
21: iconst_1
ireturn
22: StackMap locals:
StackMap stack: java.lang.Throwable
astore 8
start local 8 23: aload 0
getfield org.hsqldb.persist.RAShadowFile.bitMap:Lorg/hsqldb/map/BitMap;
iload 1
invokevirtual org.hsqldb.map.BitMap.unset:(I)I
pop
24: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
lconst_0
invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
25: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
lload 6
invokeinterface org.hsqldb.persist.RandomAccessInterface.setLength:(J)Z
pop
26: aload 0
invokevirtual org.hsqldb.persist.RAShadowFile.close:()V
27: aload 0
getfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
new java.lang.StringBuilder
dup
ldc "shadow backup failure pos "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
lload 2
invokevirtual java.lang.StringBuilder.append:(J)Ljava/lang/StringBuilder;
28: ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
aload 8
29: invokeinterface org.hsqldb.persist.EventLogInterface.logSevereEvent:(Ljava/lang/String;Ljava/lang/Throwable;)V
30: aload 8
invokestatic org.hsqldb.lib.java.JavaSystem.toIOException:(Ljava/lang/Throwable;)Ljava/io/IOException;
athrow
end local 8 end local 6 end local 5 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 31 0 this Lorg/hsqldb/persist/RAShadowFile;
0 31 1 pageOffset I
3 31 2 position J
4 31 4 readSize I
5 31 5 writeSize I
10 31 6 writePos J
23 31 8 t Ljava/lang/Throwable;
Exception table:
from to target type
10 21 22 Class java.lang.Throwable
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
pageOffset
private void open();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=1, args_size=1
start local 0 0: aload 0
new org.hsqldb.persist.RAFileSimple
dup
aload 0
getfield org.hsqldb.persist.RAShadowFile.logger:Lorg/hsqldb/persist/EventLogInterface;
aload 0
getfield org.hsqldb.persist.RAShadowFile.pathName:Ljava/lang/String;
ldc "rw"
invokespecial org.hsqldb.persist.RAFileSimple.<init>:(Lorg/hsqldb/persist/EventLogInterface;Ljava/lang/String;Ljava/lang/String;)V
putfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/hsqldb/persist/RAShadowFile;
Exceptions:
throws java.io.IOException
void close();
descriptor: ()V
flags: (0x0000)
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
ifnull 4
1: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
2: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
3: aload 0
aconst_null
putfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
4: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/hsqldb/persist/RAShadowFile;
Exceptions:
throws java.io.IOException
public void synch();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
ifnull 3
1: aload 0
getfield org.hsqldb.persist.RAShadowFile.dest:Lorg/hsqldb/persist/RandomAccessInterface;
invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
2: aload 0
aload 0
getfield org.hsqldb.persist.RAShadowFile.savedLength:J
putfield org.hsqldb.persist.RAShadowFile.synchLength:J
3: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/hsqldb/persist/RAShadowFile;
public long getSavedLength();
descriptor: ()J
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.hsqldb.persist.RAShadowFile.savedLength:J
lreturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/RAShadowFile;
public org.hsqldb.lib.InputStreamInterface getInputStream();
descriptor: ()Lorg/hsqldb/lib/InputStreamInterface;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.hsqldb.persist.RAShadowFile$InputStreamShadow
dup
aload 0
invokespecial org.hsqldb.persist.RAShadowFile$InputStreamShadow.<init>:(Lorg/hsqldb/persist/RAShadowFile;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/hsqldb/persist/RAShadowFile;
private static org.hsqldb.persist.RandomAccessInterface getStorage(org.hsqldb.Database, java.lang.String, java.lang.String);
descriptor: (Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=5, locals=3, args_size=3
start local 0 start local 1 start local 2 0: new org.hsqldb.persist.RAFileSimple
dup
aload 0
getfield org.hsqldb.Database.logger:Lorg/hsqldb/persist/Logger;
aload 1
aload 2
invokespecial org.hsqldb.persist.RAFileSimple.<init>:(Lorg/hsqldb/persist/EventLogInterface;Ljava/lang/String;Ljava/lang/String;)V
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 database Lorg/hsqldb/Database;
0 1 1 pathName Ljava/lang/String;
0 1 2 openMode Ljava/lang/String;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
database
pathName
openMode
public static void restoreFile(org.hsqldb.Database, java.lang.String, java.lang.String);
descriptor: (Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=4, locals=9, args_size=3
start local 0 start local 1 start local 2 0: aload 0
aload 1
ldc "r"
invokestatic org.hsqldb.persist.RAShadowFile.getStorage:(Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
astore 3
start local 3 1: aload 0
aload 2
ldc "rw"
invokestatic org.hsqldb.persist.RAShadowFile.getStorage:(Lorg/hsqldb/Database;Ljava/lang/String;Ljava/lang/String;)Lorg/hsqldb/persist/RandomAccessInterface;
astore 4
start local 4 2: goto 9
3: StackMap locals: org.hsqldb.persist.RandomAccessInterface org.hsqldb.persist.RandomAccessInterface
StackMap stack:
aload 3
invokeinterface org.hsqldb.persist.RandomAccessInterface.readInt:()I
istore 5
start local 5 4: aload 3
invokeinterface org.hsqldb.persist.RandomAccessInterface.readLong:()J
lstore 6
start local 6 5: iload 5
newarray 8
astore 8
start local 8 6: aload 3
aload 8
iconst_0
aload 8
arraylength
invokeinterface org.hsqldb.persist.RandomAccessInterface.read:([BII)V
7: aload 4
lload 6
invokeinterface org.hsqldb.persist.RandomAccessInterface.seek:(J)V
8: aload 4
aload 8
iconst_0
aload 8
arraylength
invokeinterface org.hsqldb.persist.RandomAccessInterface.write:([BII)V
end local 8 end local 6 end local 5 9: StackMap locals:
StackMap stack:
aload 3
invokeinterface org.hsqldb.persist.RandomAccessInterface.getFilePointer:()J
aload 3
invokeinterface org.hsqldb.persist.RandomAccessInterface.length:()J
lcmp
ifne 3
10: aload 3
invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
11: aload 4
invokeinterface org.hsqldb.persist.RandomAccessInterface.synch:()V
12: aload 4
invokeinterface org.hsqldb.persist.RandomAccessInterface.close:()V
13: return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 database Lorg/hsqldb/Database;
0 14 1 sourceName Ljava/lang/String;
0 14 2 destName Ljava/lang/String;
1 14 3 source Lorg/hsqldb/persist/RandomAccessInterface;
2 14 4 dest Lorg/hsqldb/persist/RandomAccessInterface;
4 9 5 size I
5 9 6 position J
6 9 8 buffer [B
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
database
sourceName
destName
}
SourceFile: "RAShadowFile.java"
NestMembers:
org.hsqldb.persist.RAShadowFile$InputStreamShadow
InnerClasses:
InputStreamShadow = org.hsqldb.persist.RAShadowFile$InputStreamShadow of org.hsqldb.persist.RAShadowFile