public class org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread extends java.lang.Thread implements java.lang.Comparable<org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread>
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread
super_class: java.lang.Thread
{
final org.apache.lucene.index.MergeScheduler$MergeSource mergeSource;
descriptor: Lorg/apache/lucene/index/MergeScheduler$MergeSource;
flags: (0x0010) ACC_FINAL
final org.apache.lucene.index.MergePolicy$OneMerge merge;
descriptor: Lorg/apache/lucene/index/MergePolicy$OneMerge;
flags: (0x0010) ACC_FINAL
final org.apache.lucene.index.MergeRateLimiter rateLimiter;
descriptor: Lorg/apache/lucene/index/MergeRateLimiter;
flags: (0x0010) ACC_FINAL
final org.apache.lucene.index.ConcurrentMergeScheduler this$0;
descriptor: Lorg/apache/lucene/index/ConcurrentMergeScheduler;
flags: (0x1010) ACC_FINAL, ACC_SYNTHETIC
public void <init>(org.apache.lucene.index.ConcurrentMergeScheduler, org.apache.lucene.index.MergeScheduler$MergeSource, org.apache.lucene.index.MergePolicy$OneMerge);
descriptor: (Lorg/apache/lucene/index/ConcurrentMergeScheduler;Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=4, args_size=4
start local 0 start local 2 start local 3 0: aload 0
aload 1
putfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
aload 0
invokespecial java.lang.Thread.<init>:()V
1: aload 0
aload 2
putfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
2: aload 0
aload 3
putfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.merge:Lorg/apache/lucene/index/MergePolicy$OneMerge;
3: aload 0
new org.apache.lucene.index.MergeRateLimiter
dup
aload 3
invokevirtual org.apache.lucene.index.MergePolicy$OneMerge.getMergeProgress:()Lorg/apache/lucene/index/MergePolicy$OneMergeProgress;
invokespecial org.apache.lucene.index.MergeRateLimiter.<init>:(Lorg/apache/lucene/index/MergePolicy$OneMergeProgress;)V
putfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.rateLimiter:Lorg/apache/lucene/index/MergeRateLimiter;
4: return
end local 3 end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;
0 5 2 mergeSource Lorg/apache/lucene/index/MergeScheduler$MergeSource;
0 5 3 merge Lorg/apache/lucene/index/MergePolicy$OneMerge;
MethodParameters:
Name Flags
this$0 final
mergeSource
merge
public int compareTo(org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread);
descriptor: (Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;)I
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 1
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.merge:Lorg/apache/lucene/index/MergePolicy$OneMerge;
getfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.merge:Lorg/apache/lucene/index/MergePolicy$OneMerge;
getfield org.apache.lucene.index.MergePolicy$OneMerge.estimatedMergeBytes:J
invokestatic java.lang.Long.compare:(JJ)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;
0 1 1 other Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;
MethodParameters:
Name Flags
other
public void run();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=1
start local 0 0: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.verbose:()Z
ifeq 2
1: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
ldc " merge thread: start"
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.message:(Ljava/lang/String;)V
2: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.merge:Lorg/apache/lucene/index/MergePolicy$OneMerge;
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.doMerge:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;Lorg/apache/lucene/index/MergePolicy$OneMerge;)V
3: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.verbose:()Z
ifeq 5
4: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
ldc " merge thread: done"
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.message:(Ljava/lang/String;)V
5: StackMap locals:
StackMap stack:
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.mergeSource:Lorg/apache/lucene/index/MergeScheduler$MergeSource;
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.runOnMergeFinished:(Lorg/apache/lucene/index/MergeScheduler$MergeSource;)V
6: goto 11
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 1
start local 1 8: aload 1
instanceof org.apache.lucene.index.MergePolicy$MergeAbortedException
ifne 11
9: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
getfield org.apache.lucene.index.ConcurrentMergeScheduler.suppressExceptions:Z
ifne 11
10: aload 0
getfield org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.this$0:Lorg/apache/lucene/index/ConcurrentMergeScheduler;
aload 1
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException:(Ljava/lang/Throwable;)V
end local 1 11: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;
8 11 1 exc Ljava/lang/Throwable;
Exception table:
from to target type
0 6 7 Class java.lang.Throwable
public int compareTo(java.lang.Object);
descriptor: (Ljava/lang/Object;)I
flags: (0x1041) ACC_PUBLIC, ACC_BRIDGE, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
0: aload 0
aload 1
checkcast org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread
invokevirtual org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.compareTo:(Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;)I
ireturn
LocalVariableTable:
Start End Slot Name Signature
}
Signature: Ljava/lang/Thread;Ljava/lang/Comparable<Lorg/apache/lucene/index/ConcurrentMergeScheduler$MergeThread;>;
SourceFile: "ConcurrentMergeScheduler.java"
NestHost: org.apache.lucene.index.ConcurrentMergeScheduler
InnerClasses:
protected MergeThread = org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread of org.apache.lucene.index.ConcurrentMergeScheduler
public MergeAbortedException = org.apache.lucene.index.MergePolicy$MergeAbortedException of org.apache.lucene.index.MergePolicy
public OneMerge = org.apache.lucene.index.MergePolicy$OneMerge of org.apache.lucene.index.MergePolicy
public OneMergeProgress = org.apache.lucene.index.MergePolicy$OneMergeProgress of org.apache.lucene.index.MergePolicy
public abstract MergeSource = org.apache.lucene.index.MergeScheduler$MergeSource of org.apache.lucene.index.MergeScheduler