public class org.apache.cassandra.io.util.MmappedRegions extends org.apache.cassandra.utils.concurrent.SharedCloseableImpl
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.cassandra.io.util.MmappedRegions
super_class: org.apache.cassandra.utils.concurrent.SharedCloseableImpl
{
public static int MAX_SEGMENT_SIZE;
descriptor: I
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
static final int REGION_ALLOC_SIZE;
descriptor: I
flags: (0x0018) ACC_STATIC, ACC_FINAL
ConstantValue: 15
private final org.apache.cassandra.io.util.MmappedRegions$State state;
descriptor: Lorg/apache/cassandra/io/util/MmappedRegions$State;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private volatile org.apache.cassandra.io.util.MmappedRegions$State copy;
descriptor: Lorg/apache/cassandra/io/util/MmappedRegions$State;
flags: (0x0042) ACC_PRIVATE, ACC_VOLATILE
static final boolean $assertionsDisabled;
descriptor: Z
flags: (0x1018) ACC_STATIC, ACC_FINAL, ACC_SYNTHETIC
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=1, locals=0, args_size=0
0: ldc Lorg/apache/cassandra/io/util/MmappedRegions;
invokevirtual java.lang.Class.desiredAssertionStatus:()Z
ifne 1
iconst_1
goto 2
StackMap locals:
StackMap stack:
1: iconst_0
StackMap locals:
StackMap stack: int
2: putstatic org.apache.cassandra.io.util.MmappedRegions.$assertionsDisabled:Z
3: ldc 2147483647
putstatic org.apache.cassandra.io.util.MmappedRegions.MAX_SEGMENT_SIZE:I
4: return
LocalVariableTable:
Start End Slot Name Signature
private void <init>(org.apache.cassandra.io.util.ChannelProxy, org.apache.cassandra.io.compress.CompressionMetadata, long);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.apache.cassandra.io.util.MmappedRegions$State
dup
aload 1
invokespecial org.apache.cassandra.io.util.MmappedRegions$State.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;)V
aload 2
lload 3
invokespecial org.apache.cassandra.io.util.MmappedRegions.<init>:(Lorg/apache/cassandra/io/util/MmappedRegions$State;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
1: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 2 1 channel Lorg/apache/cassandra/io/util/ChannelProxy;
0 2 2 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
0 2 3 length J
MethodParameters:
Name Flags
channel
metadata
length
private void <init>(org.apache.cassandra.io.util.MmappedRegions$State, org.apache.cassandra.io.compress.CompressionMetadata, long);
descriptor: (Lorg/apache/cassandra/io/util/MmappedRegions$State;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
new org.apache.cassandra.io.util.MmappedRegions$Tidier
dup
aload 1
invokespecial org.apache.cassandra.io.util.MmappedRegions$Tidier.<init>:(Lorg/apache/cassandra/io/util/MmappedRegions$State;)V
invokespecial org.apache.cassandra.utils.concurrent.SharedCloseableImpl.<init>:(Lorg/apache/cassandra/utils/concurrent/RefCounted$Tidy;)V
1: aload 0
aload 1
putfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
2: aload 2
ifnull 6
3: getstatic org.apache.cassandra.io.util.MmappedRegions.$assertionsDisabled:Z
ifne 4
lload 3
lconst_0
lcmp
ifeq 4
new java.lang.AssertionError
dup
ldc "expected no length with metadata"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
4: StackMap locals: org.apache.cassandra.io.util.MmappedRegions org.apache.cassandra.io.util.MmappedRegions$State org.apache.cassandra.io.compress.CompressionMetadata long
StackMap stack:
aload 0
aload 2
invokevirtual org.apache.cassandra.io.util.MmappedRegions.updateState:(Lorg/apache/cassandra/io/compress/CompressionMetadata;)V
5: goto 8
6: StackMap locals:
StackMap stack:
lload 3
lconst_0
lcmp
ifle 8
7: aload 0
lload 3
invokevirtual org.apache.cassandra.io.util.MmappedRegions.updateState:(J)V
8: StackMap locals:
StackMap stack:
aload 0
new org.apache.cassandra.io.util.MmappedRegions$State
dup
aload 1
invokespecial org.apache.cassandra.io.util.MmappedRegions$State.<init>:(Lorg/apache/cassandra/io/util/MmappedRegions$State;)V
putfield org.apache.cassandra.io.util.MmappedRegions.copy:Lorg/apache/cassandra/io/util/MmappedRegions$State;
9: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 10 1 state Lorg/apache/cassandra/io/util/MmappedRegions$State;
0 10 2 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
0 10 3 length J
MethodParameters:
Name Flags
state
metadata
length
private void <init>(org.apache.cassandra.io.util.MmappedRegions);
descriptor: (Lorg/apache/cassandra/io/util/MmappedRegions;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
invokespecial org.apache.cassandra.utils.concurrent.SharedCloseableImpl.<init>:(Lorg/apache/cassandra/utils/concurrent/SharedCloseableImpl;)V
1: aload 0
aload 1
getfield org.apache.cassandra.io.util.MmappedRegions.copy:Lorg/apache/cassandra/io/util/MmappedRegions$State;
putfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 3 1 original Lorg/apache/cassandra/io/util/MmappedRegions;
MethodParameters:
Name Flags
original
public static org.apache.cassandra.io.util.MmappedRegions empty(org.apache.cassandra.io.util.ChannelProxy);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;)Lorg/apache/cassandra/io/util/MmappedRegions;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.io.util.MmappedRegions
dup
aload 0
aconst_null
lconst_0
invokespecial org.apache.cassandra.io.util.MmappedRegions.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 channel Lorg/apache/cassandra/io/util/ChannelProxy;
MethodParameters:
Name Flags
channel
public static org.apache.cassandra.io.util.MmappedRegions map(org.apache.cassandra.io.util.ChannelProxy, org.apache.cassandra.io.compress.CompressionMetadata);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;)Lorg/apache/cassandra/io/util/MmappedRegions;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=2, args_size=2
start local 0 start local 1 0: aload 1
ifnonnull 2
1: new java.lang.IllegalArgumentException
dup
ldc "metadata cannot be null"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.apache.cassandra.io.util.MmappedRegions
dup
aload 0
aload 1
lconst_0
invokespecial org.apache.cassandra.io.util.MmappedRegions.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 channel Lorg/apache/cassandra/io/util/ChannelProxy;
0 3 1 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
MethodParameters:
Name Flags
channel
metadata
public static org.apache.cassandra.io.util.MmappedRegions map(org.apache.cassandra.io.util.ChannelProxy, long);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;J)Lorg/apache/cassandra/io/util/MmappedRegions;
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifgt 2
1: new java.lang.IllegalArgumentException
dup
ldc "Length must be positive"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
new org.apache.cassandra.io.util.MmappedRegions
dup
aload 0
aconst_null
lload 1
invokespecial org.apache.cassandra.io.util.MmappedRegions.<init>:(Lorg/apache/cassandra/io/util/ChannelProxy;Lorg/apache/cassandra/io/compress/CompressionMetadata;J)V
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 channel Lorg/apache/cassandra/io/util/ChannelProxy;
0 3 1 length J
MethodParameters:
Name Flags
channel
length
public org.apache.cassandra.io.util.MmappedRegions sharedCopy();
descriptor: ()Lorg/apache/cassandra/io/util/MmappedRegions;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: new org.apache.cassandra.io.util.MmappedRegions
dup
aload 0
invokespecial org.apache.cassandra.io.util.MmappedRegions.<init>:(Lorg/apache/cassandra/io/util/MmappedRegions;)V
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
private boolean isCopy();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.copy:Lorg/apache/cassandra/io/util/MmappedRegions$State;
ifnonnull 1
iconst_1
ireturn
StackMap locals:
StackMap stack:
1: iconst_0
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
public void extend(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=3, args_size=2
start local 0 start local 1 0: lload 1
lconst_0
lcmp
ifge 2
1: new java.lang.IllegalArgumentException
dup
ldc "Length must not be negative"
invokespecial java.lang.IllegalArgumentException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
getstatic org.apache.cassandra.io.util.MmappedRegions.$assertionsDisabled:Z
ifne 3
aload 0
invokevirtual org.apache.cassandra.io.util.MmappedRegions.isCopy:()Z
ifeq 3
new java.lang.AssertionError
dup
ldc "Copies cannot be extended"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
3: StackMap locals:
StackMap stack:
lload 1
aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
getfield org.apache.cassandra.io.util.MmappedRegions$State.length:J
lcmp
ifgt 5
4: return
5: StackMap locals:
StackMap stack:
aload 0
lload 1
invokevirtual org.apache.cassandra.io.util.MmappedRegions.updateState:(J)V
6: aload 0
new org.apache.cassandra.io.util.MmappedRegions$State
dup
aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
invokespecial org.apache.cassandra.io.util.MmappedRegions$State.<init>:(Lorg/apache/cassandra/io/util/MmappedRegions$State;)V
putfield org.apache.cassandra.io.util.MmappedRegions.copy:Lorg/apache/cassandra/io/util/MmappedRegions$State;
7: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 8 1 length J
MethodParameters:
Name Flags
length
private void updateState(long);
descriptor: (J)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=7, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 1
putfield org.apache.cassandra.io.util.MmappedRegions$State.length:J
1: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.getPosition:()J
lstore 3
start local 3 2: goto 6
3: StackMap locals: long
StackMap stack:
getstatic org.apache.cassandra.io.util.MmappedRegions.MAX_SEGMENT_SIZE:I
i2l
lload 1
lload 3
lsub
invokestatic java.lang.Math.min:(JJ)J
lstore 5
start local 5 4: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 3
lload 5
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.add:(JJ)V
5: lload 3
lload 5
ladd
lstore 3
end local 5 6: StackMap locals:
StackMap stack:
lload 3
lload 1
lcmp
iflt 3
7: return
end local 3 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 8 1 length J
2 8 3 pos J
4 6 5 size J
MethodParameters:
Name Flags
length
private void updateState(org.apache.cassandra.io.compress.CompressionMetadata);
descriptor: (Lorg/apache/cassandra/io/compress/CompressionMetadata;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: lconst_0
lstore 2
start local 2 1: lconst_0
lstore 4
start local 4 2: lconst_0
lstore 6
start local 6 3: goto 12
4: StackMap locals: long long long
StackMap stack:
aload 1
lload 2
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.chunkFor:(J)Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;
astore 8
start local 8 5: lload 6
aload 8
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
i2l
ladd
ldc 4
ladd
getstatic org.apache.cassandra.io.util.MmappedRegions.MAX_SEGMENT_SIZE:I
i2l
lcmp
ifle 10
6: lload 6
lconst_0
lcmp
ifle 10
7: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 4
lload 6
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.add:(JJ)V
8: lload 4
lload 6
ladd
lstore 4
9: lconst_0
lstore 6
10: StackMap locals: org.apache.cassandra.io.compress.CompressionMetadata$Chunk
StackMap stack:
lload 6
aload 8
getfield org.apache.cassandra.io.compress.CompressionMetadata$Chunk.length:I
iconst_4
iadd
i2l
ladd
lstore 6
11: lload 2
aload 1
invokevirtual org.apache.cassandra.io.compress.CompressionMetadata.chunkLength:()I
i2l
ladd
lstore 2
end local 8 12: StackMap locals:
StackMap stack:
lload 2
aload 1
getfield org.apache.cassandra.io.compress.CompressionMetadata.dataLength:J
lcmp
iflt 4
13: lload 6
lconst_0
lcmp
ifle 15
14: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 4
lload 6
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.add:(JJ)V
15: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 4
lload 6
ladd
putfield org.apache.cassandra.io.util.MmappedRegions$State.length:J
16: return
end local 6 end local 4 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 17 1 metadata Lorg/apache/cassandra/io/compress/CompressionMetadata;
1 17 2 offset J
2 17 4 lastSegmentOffset J
3 17 6 segmentSize J
5 12 8 chunk Lorg/apache/cassandra/io/compress/CompressionMetadata$Chunk;
MethodParameters:
Name Flags
metadata
public boolean isValid(org.apache.cassandra.io.util.ChannelProxy);
descriptor: (Lorg/apache/cassandra/io/util/ChannelProxy;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
aload 1
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.isValid:(Lorg/apache/cassandra/io/util/ChannelProxy;)Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 1 1 channel Lorg/apache/cassandra/io/util/ChannelProxy;
MethodParameters:
Name Flags
channel
public boolean isEmpty();
descriptor: ()Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.isEmpty:()Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
public org.apache.cassandra.io.util.MmappedRegions$Region floor(long);
descriptor: (J)Lorg/apache/cassandra/io/util/MmappedRegions$Region;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: getstatic org.apache.cassandra.io.util.MmappedRegions.$assertionsDisabled:Z
ifne 1
aload 0
invokevirtual org.apache.cassandra.io.util.MmappedRegions.isCleanedUp:()Z
ifeq 1
new java.lang.AssertionError
dup
ldc "Attempted to use closed region"
invokespecial java.lang.AssertionError.<init>:(Ljava/lang/Object;)V
athrow
1: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.cassandra.io.util.MmappedRegions.state:Lorg/apache/cassandra/io/util/MmappedRegions$State;
lload 1
invokevirtual org.apache.cassandra.io.util.MmappedRegions$State.floor:(J)Lorg/apache/cassandra/io/util/MmappedRegions$Region;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
0 2 1 position J
MethodParameters:
Name Flags
position
public void closeQuietly();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
aconst_null
invokevirtual org.apache.cassandra.io.util.MmappedRegions.close:(Ljava/lang/Throwable;)Ljava/lang/Throwable;
astore 1
start local 1 1: aload 1
ifnull 4
2: aload 1
invokestatic org.apache.cassandra.utils.JVMStabilityInspector.inspectThrowable:(Ljava/lang/Throwable;)V
3: aload 0
invokevirtual java.lang.Object.getClass:()Ljava/lang/Class;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
ldc "Error while closing mmapped regions"
aload 1
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
4: StackMap locals: java.lang.Throwable
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/cassandra/io/util/MmappedRegions;
1 5 1 err Ljava/lang/Throwable;
public org.apache.cassandra.utils.concurrent.SharedCloseable sharedCopy();
descriptor: ()Lorg/apache/cassandra/utils/concurrent/SharedCloseable;
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
0: aload 0
invokevirtual org.apache.cassandra.io.util.MmappedRegions.sharedCopy:()Lorg/apache/cassandra/io/util/MmappedRegions;
areturn
LocalVariableTable:
Start End Slot Name Signature
}
SourceFile: "MmappedRegions.java"
NestMembers:
org.apache.cassandra.io.util.MmappedRegions$Region org.apache.cassandra.io.util.MmappedRegions$State org.apache.cassandra.io.util.MmappedRegions$Tidier
InnerClasses:
public Chunk = org.apache.cassandra.io.compress.CompressionMetadata$Chunk of org.apache.cassandra.io.compress.CompressionMetadata
public final Region = org.apache.cassandra.io.util.MmappedRegions$Region of org.apache.cassandra.io.util.MmappedRegions
private final State = org.apache.cassandra.io.util.MmappedRegions$State of org.apache.cassandra.io.util.MmappedRegions
public final Tidier = org.apache.cassandra.io.util.MmappedRegions$Tidier of org.apache.cassandra.io.util.MmappedRegions
public abstract Tidy = org.apache.cassandra.utils.concurrent.RefCounted$Tidy of org.apache.cassandra.utils.concurrent.RefCounted