public class org.eclipse.jgit.internal.storage.file.GC
minor version: 0
major version: 59
flags: flags: (0x0021) ACC_PUBLIC, ACC_SUPER
this_class: org.eclipse.jgit.internal.storage.file.GC
super_class: java.lang.Object
{
private static final org.slf4j.Logger LOG;
descriptor: Lorg/slf4j/Logger;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String PRUNE_EXPIRE_DEFAULT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "2.weeks.ago"
private static final java.lang.String PRUNE_PACK_EXPIRE_DEFAULT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: "1.hour.ago"
private static final java.util.regex.Pattern PATTERN_LOOSE_OBJECT;
descriptor: Ljava/util/regex/Pattern;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String PACK_EXT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String BITMAP_EXT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String INDEX_EXT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final java.lang.String KEEP_EXT;
descriptor: Ljava/lang/String;
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
private static final int DEFAULT_AUTOPACKLIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 50
private static final int DEFAULT_AUTOLIMIT;
descriptor: I
flags: (0x001a) ACC_PRIVATE, ACC_STATIC, ACC_FINAL
ConstantValue: 6700
private static volatile java.util.concurrent.ExecutorService executor;
descriptor: Ljava/util/concurrent/ExecutorService;
flags: (0x004a) ACC_PRIVATE, ACC_STATIC, ACC_VOLATILE
private final org.eclipse.jgit.internal.storage.file.FileRepository repo;
descriptor: Lorg/eclipse/jgit/internal/storage/file/FileRepository;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private org.eclipse.jgit.lib.ProgressMonitor pm;
descriptor: Lorg/eclipse/jgit/lib/ProgressMonitor;
flags: (0x0002) ACC_PRIVATE
private long expireAgeMillis;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.Date expire;
descriptor: Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
private long packExpireAgeMillis;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private java.util.Date packExpire;
descriptor: Ljava/util/Date;
flags: (0x0002) ACC_PRIVATE
private org.eclipse.jgit.storage.pack.PackConfig pconfig;
descriptor: Lorg/eclipse/jgit/storage/pack/PackConfig;
flags: (0x0002) ACC_PRIVATE
private java.util.Collection<org.eclipse.jgit.lib.Ref> lastPackedRefs;
descriptor: Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Signature: Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
private long lastRepackTime;
descriptor: J
flags: (0x0002) ACC_PRIVATE
private boolean automatic;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
private boolean background;
descriptor: Z
flags: (0x0002) ACC_PRIVATE
static void <clinit>();
descriptor: ()V
flags: (0x0008) ACC_STATIC
Code:
stack=3, locals=0, args_size=0
0: ldc Lorg/eclipse/jgit/internal/storage/file/GC;
invokestatic org.slf4j.LoggerFactory.getLogger:(Ljava/lang/Class;)Lorg/slf4j/Logger;
1: putstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
2: ldc "[0-9a-fA-F]{38}"
invokestatic java.util.regex.Pattern.compile:(Ljava/lang/String;)Ljava/util/regex/Pattern;
3: putstatic org.eclipse.jgit.internal.storage.file.GC.PATTERN_LOOSE_OBJECT:Ljava/util/regex/Pattern;
4: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
5: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
6: getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
7: invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.eclipse.jgit.internal.storage.file.GC.BITMAP_EXT:Ljava/lang/String;
8: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.eclipse.jgit.internal.storage.file.GC.INDEX_EXT:Ljava/lang/String;
9: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.KEEP:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
putstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
10: return
LocalVariableTable:
Start End Slot Name Signature
public static void setExecutor(java.util.concurrent.ExecutorService);
descriptor: (Ljava/util/concurrent/ExecutorService;)V
flags: (0x0009) ACC_PUBLIC, ACC_STATIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
putstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 e Ljava/util/concurrent/ExecutorService;
MethodParameters:
Name Flags
e
public void <init>(org.eclipse.jgit.internal.storage.file.FileRepository);
descriptor: (Lorg/eclipse/jgit/internal/storage/file/FileRepository;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=2
start local 0 start local 1 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
2: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
3: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
4: aload 0
new org.eclipse.jgit.storage.pack.PackConfig
dup
aload 1
invokespecial org.eclipse.jgit.storage.pack.PackConfig.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
putfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
5: aload 0
getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
putfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
6: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 7 1 repo Lorg/eclipse/jgit/internal/storage/file/FileRepository;
MethodParameters:
Name Flags
repo
public java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> gc();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.background:Z
ifne 2
1: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.doGc:()Ljava/util/Collection;
areturn
2: StackMap locals:
StackMap stack:
new org.eclipse.jgit.internal.storage.file.GcLog
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokespecial org.eclipse.jgit.internal.storage.file.GcLog.<init>:(Lorg/eclipse/jgit/internal/storage/file/FileRepository;)V
astore 1
start local 1 3: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.lock:()Z
ifne 5
4: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
5: StackMap locals: org.eclipse.jgit.internal.storage.file.GcLog
StackMap stack:
aload 0
aload 1
invokedynamic call(Lorg/eclipse/jgit/internal/storage/file/GC;Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/concurrent/Callable;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
()Ljava/lang/Object;
org/eclipse/jgit/internal/storage/file/GC.lambda$0(Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/Collection; (7)
()Ljava/util/Collection;
astore 2
start local 2 6: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.executor:()Ljava/util/concurrent/ExecutorService;
aload 2
invokeinterface java.util.concurrent.ExecutorService.submit:(Ljava/util/concurrent/Callable;)Ljava/util/concurrent/Future;
pop
7: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
3 8 1 gcLog Lorg/eclipse/jgit/internal/storage/file/GcLog;
6 8 2 gcTask Ljava/util/concurrent/Callable<Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;>;
Exceptions:
throws java.io.IOException, java.text.ParseException
Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
private java.util.concurrent.ExecutorService executor();
descriptor: ()Ljava/util/concurrent/ExecutorService;
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: getstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
ifnull 1
getstatic org.eclipse.jgit.internal.storage.file.GC.executor:Ljava/util/concurrent/ExecutorService;
goto 2
StackMap locals:
StackMap stack:
1: invokestatic org.eclipse.jgit.lib.internal.WorkQueue.getExecutor:()Ljava/util/concurrent/ScheduledThreadPoolExecutor;
StackMap locals:
StackMap stack: java.util.concurrent.ExecutorService
2: areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
private java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> doGc();
descriptor: ()Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
ifeq 2
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.needGc:()Z
ifne 2
1: invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
2: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
bipush 6
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.start:(I)V
3: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.packRefs:()V
4: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.repack:()Ljava/util/Collection;
astore 1
start local 1 5: aload 0
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
invokevirtual org.eclipse.jgit.internal.storage.file.GC.prune:(Ljava/util/Set;)V
6: aload 1
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
5 7 1 newPacks Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
Exceptions:
throws java.io.IOException, java.text.ParseException
Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
private void loosen(org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter, org.eclipse.jgit.lib.ObjectReader, org.eclipse.jgit.internal.storage.file.PackFile, java.util.HashSet<org.eclipse.jgit.lib.ObjectId>);
descriptor: (Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=9, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.iterator:()Ljava/util/Iterator;
astore 6
goto 12
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet top java.util.Iterator
StackMap stack:
1: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry
astore 5
start local 5 2: aload 5
invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.toObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
astore 7
start local 7 3: aload 4
aload 7
invokevirtual java.util.HashSet.contains:(Ljava/lang/Object;)Z
ifeq 5
4: goto 12
5: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry java.util.Iterator org.eclipse.jgit.lib.ObjectId
StackMap stack:
aload 4
aload 7
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
6: aload 2
aload 7
invokevirtual org.eclipse.jgit.lib.ObjectReader.open:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/lib/ObjectLoader;
astore 8
start local 8 7: aload 1
aload 8
invokevirtual org.eclipse.jgit.lib.ObjectLoader.getType:()I
8: aload 8
invokevirtual org.eclipse.jgit.lib.ObjectLoader.getSize:()J
9: aload 8
invokevirtual org.eclipse.jgit.lib.ObjectLoader.openStream:()Lorg/eclipse/jgit/lib/ObjectStream;
10: iconst_1
11: invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter.insert:(IJLjava/io/InputStream;Z)Lorg/eclipse/jgit/lib/ObjectId;
pop
end local 8 end local 7 end local 5 12: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.PackFile java.util.HashSet top java.util.Iterator
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 1
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 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 14 1 inserter Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
0 14 2 reader Lorg/eclipse/jgit/lib/ObjectReader;
0 14 3 pack Lorg/eclipse/jgit/internal/storage/file/PackFile;
0 14 4 existing Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;
2 12 5 entry Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;
3 12 7 oid Lorg/eclipse/jgit/lib/ObjectId;
7 12 8 loader Lorg/eclipse/jgit/lib/ObjectLoader;
Exceptions:
throws java.io.IOException
Signature: (Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;)V
MethodParameters:
Name Flags
inserter
reader
pack
existing
private void deleteOldPacks(java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile>, java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile>);
descriptor: (Ljava/util/Collection;Ljava/util/Collection;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=15, args_size=3
start local 0 start local 1 start local 2 0: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 3
start local 3 1: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet top java.util.Iterator
StackMap stack:
2: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 4
start local 4 3: aload 4
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.iterator:()Ljava/util/Iterator;
astore 7
goto 6
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator top java.util.Iterator
StackMap stack:
4: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry
astore 6
start local 6 5: aload 3
aload 6
invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry.toObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokevirtual java.util.HashSet.add:(Ljava/lang/Object;)Z
pop
end local 6 6: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 4 7: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 2
8: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.newObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
astore 4
start local 4 9: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
astore 5
start local 5 10: aload 5
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.newInserter:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
astore 6
start local 6 11: ldc "now"
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPruneExpireStr:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifne 14
12: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getExpireDate:()J
ldc 9223372036854775807
13: lcmp
ifge 14
iconst_1
goto 15
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter
StackMap stack:
14: iconst_0
StackMap locals:
StackMap stack: int
15: istore 7
start local 7 16: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePreserved:()V
17: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPackExpireDate:()J
lstore 8
start local 8 18: aload 1
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 35
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long top java.util.Iterator
StackMap stack:
19: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 10
start local 10 20: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
21: aload 10
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackName:()Ljava/lang/String;
astore 12
start local 12 22: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 26
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator java.lang.String top java.util.Iterator
StackMap stack:
23: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 13
start local 13 24: aload 12
aload 13
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 26
25: goto 35
end local 13 26: StackMap locals:
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
27: aload 10
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.shouldBeKept:()Z
ifne 35
28: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getFS:()Lorg/eclipse/jgit/util/FS;
29: aload 10
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
invokevirtual org.eclipse.jgit.util.FS.lastModifiedInstant:(Ljava/io/File;)Ljava/time/Instant;
30: invokevirtual java.time.Instant.toEpochMilli:()J
lload 8
lcmp
ifge 35
31: aload 10
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.close:()V
32: iload 7
ifeq 34
33: aload 0
aload 6
aload 4
aload 10
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.GC.loosen:(Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;Lorg/eclipse/jgit/lib/ObjectReader;Lorg/eclipse/jgit/internal/storage/file/PackFile;Ljava/util/HashSet;)V
34: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long org.eclipse.jgit.internal.storage.file.PackFile java.util.Iterator java.lang.String
StackMap stack:
aload 0
aload 12
invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePack:(Ljava/lang/String;)V
end local 12 end local 10 35: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection java.util.Collection java.util.HashSet org.eclipse.jgit.lib.ObjectReader org.eclipse.jgit.internal.storage.file.ObjectDirectory org.eclipse.jgit.internal.storage.file.ObjectDirectoryInserter int long top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 19
36: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.close:()V
37: return
end local 8 end local 7 end local 6 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 38 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 38 1 oldPacks Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
0 38 2 newPacks Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
1 38 3 ids Ljava/util/HashSet<Lorg/eclipse/jgit/lib/ObjectId;>;
3 7 4 pack Lorg/eclipse/jgit/internal/storage/file/PackFile;
5 6 6 entry Lorg/eclipse/jgit/internal/storage/file/PackIndex$MutableEntry;
9 38 4 reader Lorg/eclipse/jgit/lib/ObjectReader;
10 38 5 dir Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
11 38 6 inserter Lorg/eclipse/jgit/internal/storage/file/ObjectDirectoryInserter;
16 38 7 shouldLoosen Z
18 38 8 packExpireDate J
20 35 10 oldPack Lorg/eclipse/jgit/internal/storage/file/PackFile;
22 35 12 oldName Ljava/lang/String;
24 26 13 newPack Lorg/eclipse/jgit/internal/storage/file/PackFile;
Exceptions:
throws java.text.ParseException, java.io.IOException
Signature: (Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;)V
MethodParameters:
Name Flags
oldPacks
newPacks
private void removeOldPack(java.io.File, java.lang.String, org.eclipse.jgit.internal.storage.pack.PackExt, int);
descriptor: (Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
invokevirtual org.eclipse.jgit.storage.pack.PackConfig.isPreserveOldPacks:()Z
ifeq 7
1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPreservedDirectory:()Ljava/io/File;
astore 5
start local 5 2: aload 5
iconst_1
invokestatic org.eclipse.jgit.util.FileUtils.mkdir:(Ljava/io/File;Z)V
3: new java.lang.StringBuilder
dup
ldc "pack-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc ".old-"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 3
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
astore 6
start local 6 4: new java.io.File
dup
aload 5
aload 6
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 7
start local 7 5: aload 1
aload 7
invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;)V
end local 7 end local 6 end local 5 6: goto 8
7: StackMap locals:
StackMap stack:
aload 1
iload 4
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
8: 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 9 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 9 1 packFile Ljava/io/File;
0 9 2 packName Ljava/lang/String;
0 9 3 ext Lorg/eclipse/jgit/internal/storage/pack/PackExt;
0 9 4 deleteOptions I
2 6 5 oldPackDir Ljava/io/File;
4 6 6 oldPackName Ljava/lang/String;
5 6 7 oldPackFile Ljava/io/File;
Exceptions:
throws java.io.IOException
MethodParameters:
Name Flags
packFile
packName
ext
deleteOptions
private void prunePreserved();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
invokevirtual org.eclipse.jgit.storage.pack.PackConfig.isPrunePreserved:()Z
ifeq 6
1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPreservedDirectory:()Ljava/io/File;
2: bipush 7
3: invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
4: goto 6
StackMap locals:
StackMap stack: java.io.IOException
5: pop
6: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
Exception table:
from to target type
1 4 5 Class java.io.IOException
private void prunePack(java.lang.String);
descriptor: (Ljava/lang/String;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=9, args_size=2
start local 0 start local 1 0: invokestatic org.eclipse.jgit.internal.storage.pack.PackExt.values:()[Lorg/eclipse/jgit/internal/storage/pack/PackExt;
astore 2
start local 2 1: bipush 6
istore 3
start local 3 2: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 9
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int top int int org.eclipse.jgit.internal.storage.pack.PackExt[]
StackMap stack:
3: aload 7
iload 5
aaload
astore 4
start local 4 4: getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifeq 8
5: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 8
start local 8 6: aload 0
aload 8
aload 1
aload 4
iload 3
invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeOldPack:(Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
7: goto 10
end local 8 end local 4 8: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
9: iload 5
iload 6
if_icmplt 3
10: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int
StackMap stack:
iload 3
bipush 8
ior
istore 3
11: aload 2
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 17
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[] int top int int org.eclipse.jgit.internal.storage.pack.PackExt[]
StackMap stack:
12: aload 7
iload 5
aaload
astore 4
start local 4 13: getstatic org.eclipse.jgit.internal.storage.pack.PackExt.PACK:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
aload 4
invokevirtual java.lang.Object.equals:(Ljava/lang/Object;)Z
ifne 16
14: aload 0
aload 1
new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 4
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 8
start local 8 15: aload 0
aload 8
aload 1
aload 4
iload 3
invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeOldPack:(Ljava/io/File;Ljava/lang/String;Lorg/eclipse/jgit/internal/storage/pack/PackExt;I)V
end local 8 end local 4 16: StackMap locals:
StackMap stack:
iinc 5 1
StackMap locals:
StackMap stack:
17: iload 5
iload 6
if_icmplt 12
end local 3 18: goto 20
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.String org.eclipse.jgit.internal.storage.pack.PackExt[]
StackMap stack: java.io.IOException
19: pop
20: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 21 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 21 1 packName Ljava/lang/String;
1 21 2 extensions [Lorg/eclipse/jgit/internal/storage/pack/PackExt;
2 18 3 deleteOptions I
4 8 4 ext Lorg/eclipse/jgit/internal/storage/pack/PackExt;
6 8 8 f Ljava/io/File;
13 16 4 ext Lorg/eclipse/jgit/internal/storage/pack/PackExt;
15 16 8 f Ljava/io/File;
Exception table:
from to target type
1 18 19 Class java.io.IOException
MethodParameters:
Name Flags
packName
public void prunePacked();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=19, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
astore 1
start local 1 1: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
astore 2
start local 2 2: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
astore 3
start local 3 3: aload 3
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 4
start local 4 4: aload 4
ifnull 43
aload 4
arraylength
ifle 43
5: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.pruneLoosePackedObjects:Ljava/lang/String;
aload 4
arraylength
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
6: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 37
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
7: aload 8
iload 6
aaload
astore 5
start local 5 8: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
9: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
iconst_1
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
10: aload 5
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpeq 12
11: goto 36
12: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
new java.io.File
dup
aload 3
aload 5
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 9
start local 9 13: aload 9
ifnonnull 15
14: goto 36
15: StackMap locals: java.lang.String[]
StackMap stack:
aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 35
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] top int int java.lang.String[]
StackMap stack:
16: aload 13
iload 11
aaload
astore 10
start local 10 17: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
18: aload 10
invokevirtual java.lang.String.length:()I
bipush 38
if_icmpeq 20
19: goto 34
20: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
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
aload 10
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jgit.lib.ObjectId.fromString:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
astore 14
start local 14 21: goto 24
end local 14 StackMap locals:
StackMap stack: java.lang.IllegalArgumentException
22: pop
23: goto 34
start local 14 24: StackMap locals: org.eclipse.jgit.lib.ObjectId
StackMap stack:
iconst_0
istore 15
start local 15 25: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 17
goto 31
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[] org.eclipse.jgit.lib.ObjectId int top java.util.Iterator
StackMap stack:
26: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 16
start local 16 27: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
28: aload 16
aload 14
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.hasObject:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
ifeq 31
29: iconst_1
istore 15
30: goto 32
end local 16 31: StackMap locals:
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
32: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] java.lang.String int int java.lang.String[] org.eclipse.jgit.lib.ObjectId int
StackMap stack:
iload 15
ifeq 34
33: aload 1
aload 14
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.fileFor:(Lorg/eclipse/jgit/lib/AnyObjectId;)Ljava/io/File;
bipush 14
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
end local 15 end local 14 end local 10 34: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
35: iload 11
iload 12
if_icmplt 16
end local 9 end local 5 36: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
37: iload 6
iload 7
if_icmplt 7
38: goto 42
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.ObjectDirectory java.util.Collection java.io.File java.lang.String[]
StackMap stack: java.lang.Throwable
39: astore 18
40: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
41: aload 18
athrow
42: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
43: 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 44 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 44 1 objdb Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
2 44 2 packs Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
3 44 3 objects Ljava/io/File;
4 44 4 fanout [Ljava/lang/String;
8 36 5 d Ljava/lang/String;
13 36 9 entries [Ljava/lang/String;
17 34 10 e Ljava/lang/String;
21 22 14 id Lorg/eclipse/jgit/lib/ObjectId;
24 34 14 id Lorg/eclipse/jgit/lib/ObjectId;
25 34 15 found Z
27 31 16 p Lorg/eclipse/jgit/internal/storage/file/PackFile;
Exception table:
from to target type
20 21 22 Class java.lang.IllegalArgumentException
6 39 39 any
Exceptions:
throws java.io.IOException
public void prune(java.util.Set<org.eclipse.jgit.lib.ObjectId>);
descriptor: (Ljava/util/Set;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=21, args_size=2
start local 0 start local 1 0: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getExpireDate:()J
lstore 2
start local 2 1: new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 4
start local 4 2: aconst_null
astore 5
start local 5 3: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
astore 6
start local 6 4: aload 6
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 7
start local 7 5: aload 7
ifnull 6
aload 7
arraylength
ifne 7
6: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[]
StackMap stack:
return
7: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.pruneLooseUnreferencedObjects:Ljava/lang/String;
8: aload 7
arraylength
9: invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
10: aload 7
dup
astore 11
arraylength
istore 10
iconst_0
istore 9
goto 43
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
11: aload 11
iload 9
aaload
astore 8
start local 8 12: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
13: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
iconst_1
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
14: aload 8
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpeq 16
15: goto 42
16: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
new java.io.File
dup
aload 6
aload 8
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 12
start local 12 17: aload 12
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 13
start local 13 18: aload 13
ifnull 19
aload 13
arraylength
ifne 21
19: StackMap locals: java.io.File java.io.File[]
StackMap stack:
aload 12
bipush 8
invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
20: goto 42
21: StackMap locals:
StackMap stack:
aload 13
dup
astore 17
arraylength
istore 16
iconst_0
istore 15
goto 41
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] top int int java.io.File[]
StackMap stack:
22: aload 17
iload 15
aaload
astore 14
start local 14 23: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
24: aload 14
invokevirtual java.io.File.getName:()Ljava/lang/String;
astore 18
start local 18 25: aload 18
invokevirtual java.lang.String.length:()I
bipush 38
if_icmpeq 27
26: goto 40
27: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] java.io.File int int java.io.File[] java.lang.String
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getFS:()Lorg/eclipse/jgit/util/FS;
aload 14
invokevirtual org.eclipse.jgit.util.FS.lastModifiedInstant:(Ljava/io/File;)Ljava/time/Instant;
28: invokevirtual java.time.Instant.toEpochMilli:()J
lload 2
lcmp
iflt 30
29: goto 40
30: StackMap locals:
StackMap stack:
new java.lang.StringBuilder
dup
aload 8
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 18
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic org.eclipse.jgit.lib.ObjectId.fromString:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
astore 19
start local 19 31: aload 1
aload 19
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 33
32: goto 40
33: StackMap locals: org.eclipse.jgit.lib.ObjectId
StackMap stack:
aload 5
ifnonnull 35
34: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.listNonHEADIndexObjects:()Ljava/util/Set;
astore 5
35: StackMap locals:
StackMap stack:
aload 5
aload 19
invokeinterface java.util.Set.contains:(Ljava/lang/Object;)Z
ifeq 37
36: goto 40
37: StackMap locals:
StackMap stack:
aload 4
aload 19
aload 14
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 19 38: goto 40
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] java.io.File int int java.io.File[] java.lang.String
StackMap stack: java.lang.IllegalArgumentException
39: pop
end local 18 end local 14 40: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File java.io.File[] top int int java.io.File[]
StackMap stack:
iinc 15 1
StackMap locals:
StackMap stack:
41: iload 15
iload 16
if_icmplt 22
end local 13 end local 12 end local 8 42: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
43: iload 9
iload 10
if_icmplt 11
44: goto 48
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[]
StackMap stack: java.lang.Throwable
45: astore 20
46: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
47: aload 20
athrow
48: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
49: aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifeq 51
50: return
51: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
52: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
ifnull 53
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
invokeinterface java.util.Collection.isEmpty:()Z
ifeq 55
53: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
astore 8
start local 8 54: goto 67
end local 8 55: StackMap locals:
StackMap stack:
new java.util.HashMap
dup
invokespecial java.util.HashMap.<init>:()V
astore 9
start local 9 56: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 59
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] top java.util.Map top java.util.Iterator
StackMap stack:
57: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 58: aload 9
aload 10
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
aload 10
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
end local 10 59: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 57
60: new java.util.ArrayList
dup
invokespecial java.util.ArrayList.<init>:()V
astore 8
start local 8 61: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 66
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection java.util.Map top java.util.Iterator
StackMap stack:
62: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 63: aload 9
aload 10
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 12
start local 12 64: aload 10
aload 12
invokestatic org.eclipse.jgit.internal.storage.file.GC.equals:(Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/lib/Ref;)Z
ifne 66
65: aload 8
aload 10
invokeinterface java.util.Collection.add:(Ljava/lang/Object;)Z
pop
end local 12 end local 10 66: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 62
end local 9 67: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection
StackMap stack:
aload 8
invokeinterface java.util.Collection.isEmpty:()Z
ifne 85
68: new org.eclipse.jgit.revwalk.ObjectWalk
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokespecial org.eclipse.jgit.revwalk.ObjectWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 9
start local 9 69: aload 8
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 73
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
StackMap stack:
70: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 71: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
72: aload 9
aload 9
aload 10
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevObject;)V
end local 10 73: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 70
74: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
ifnull 79
75: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 78
StackMap locals:
StackMap stack:
76: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 77: aload 9
aload 9
aload 10
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markUninteresting:(Lorg/eclipse/jgit/revwalk/RevObject;)V
end local 10 78: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 76
79: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk
StackMap stack:
aload 0
aload 4
aload 9
invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeReferenced:(Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
80: goto 84
StackMap locals:
StackMap stack: java.lang.Throwable
81: astore 12
82: aload 9
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
83: aload 12
athrow
84: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
end local 9 85: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifeq 87
86: return
87: StackMap locals:
StackMap stack:
new org.eclipse.jgit.revwalk.ObjectWalk
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokespecial org.eclipse.jgit.revwalk.ObjectWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 9
start local 9 88: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 95
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
StackMap stack:
89: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 90: aload 0
aload 10
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastRepackTime:J
invokevirtual org.eclipse.jgit.internal.storage.file.GC.listRefLogObjects:(Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 13
goto 94
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk org.eclipse.jgit.lib.Ref java.util.Iterator top java.util.Iterator
StackMap stack:
91: aload 13
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.ObjectId
astore 12
start local 12 92: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
93: aload 9
aload 9
aload 12
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markStart:(Lorg/eclipse/jgit/revwalk/RevObject;)V
end local 12 94: StackMap locals:
StackMap stack:
aload 13
invokeinterface java.util.Iterator.hasNext:()Z
ifne 91
end local 10 95: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk top java.util.Iterator
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 89
96: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
ifnull 102
97: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 11
goto 101
StackMap locals:
StackMap stack:
98: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 10
start local 10 99: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
100: aload 9
aload 9
aload 10
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.parseAny:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevObject;
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.markUninteresting:(Lorg/eclipse/jgit/revwalk/RevObject;)V
end local 10 101: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 98
102: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk
StackMap stack:
aload 0
aload 4
aload 9
invokevirtual org.eclipse.jgit.internal.storage.file.GC.removeReferenced:(Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
103: goto 107
StackMap locals:
StackMap stack: java.lang.Throwable
104: astore 14
105: aload 9
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
106: aload 14
athrow
107: StackMap locals:
StackMap stack:
aload 9
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.dispose:()V
108: aload 4
invokeinterface java.util.Map.isEmpty:()Z
ifeq 110
109: return
110: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
111: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 10
start local 10 112: aload 4
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 12
goto 117
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set long java.util.Map java.util.Set java.io.File java.lang.String[] java.util.Collection org.eclipse.jgit.revwalk.ObjectWalk java.util.Set top java.util.Iterator
StackMap stack:
113: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 11
start local 11 114: aload 11
invokevirtual java.io.File.lastModified:()J
lload 2
lcmp
ifge 117
115: aload 11
invokevirtual java.io.File.delete:()Z
pop
116: aload 10
aload 11
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 11 117: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 113
118: aload 10
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 12
goto 123
StackMap locals:
StackMap stack:
119: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 11
start local 11 120: aload 11
121: bipush 24
122: invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
end local 11 123: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 119
124: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.close:()V
125: return
end local 10 end local 9 end local 8 end local 7 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 126 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 126 1 objectsToKeep Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
1 126 2 expireDate J
2 126 4 deletionCandidates Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;
3 126 5 indexObjects Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
4 126 6 objects Ljava/io/File;
5 126 7 fanout [Ljava/lang/String;
12 42 8 d Ljava/lang/String;
17 42 12 dir Ljava/io/File;
18 42 13 entries [Ljava/io/File;
23 40 14 f Ljava/io/File;
25 40 18 fName Ljava/lang/String;
31 38 19 id Lorg/eclipse/jgit/lib/ObjectId;
54 55 8 newRefs Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
61 126 8 newRefs Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
56 67 9 last Ljava/util/Map<Ljava/lang/String;Lorg/eclipse/jgit/lib/Ref;>;
58 59 10 r Lorg/eclipse/jgit/lib/Ref;
63 66 10 r Lorg/eclipse/jgit/lib/Ref;
64 66 12 old Lorg/eclipse/jgit/lib/Ref;
69 85 9 w Lorg/eclipse/jgit/revwalk/ObjectWalk;
71 73 10 cr Lorg/eclipse/jgit/lib/Ref;
77 78 10 lpr Lorg/eclipse/jgit/lib/Ref;
88 126 9 w Lorg/eclipse/jgit/revwalk/ObjectWalk;
90 95 10 ar Lorg/eclipse/jgit/lib/Ref;
92 94 12 id Lorg/eclipse/jgit/lib/ObjectId;
99 101 10 lpr Lorg/eclipse/jgit/lib/Ref;
112 126 10 touchedFanout Ljava/util/Set<Ljava/io/File;>;
114 117 11 f Ljava/io/File;
120 123 11 f Ljava/io/File;
Exception table:
from to target type
30 32 39 Class java.lang.IllegalArgumentException
33 36 39 Class java.lang.IllegalArgumentException
37 38 39 Class java.lang.IllegalArgumentException
10 45 45 any
69 81 81 any
88 104 104 any
Exceptions:
throws java.io.IOException, java.text.ParseException
Signature: (Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;)V
MethodParameters:
Name Flags
objectsToKeep
private long getExpireDate();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: ldc 9223372036854775807
lstore 1
start local 1 1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
ifnonnull 9
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
ldc -1
lcmp
ifne 9
2: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getPruneExpireStr:()Ljava/lang/String;
astore 3
start local 3 3: aload 3
ifnonnull 5
4: ldc "2.weeks.ago"
astore 3
5: StackMap locals: long java.lang.String
StackMap stack:
aload 0
aload 3
aconst_null
6: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
invokevirtual org.eclipse.jgit.util.SystemReader.getLocale:()Ljava/util/Locale;
7: invokestatic org.eclipse.jgit.util.GitDateParser.parse:(Ljava/lang/String;Ljava/util/Calendar;Ljava/util/Locale;)Ljava/util/Date;
putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
8: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
end local 3 9: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
ifnull 11
10: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lstore 1
11: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
ldc -1
lcmp
ifeq 13
12: invokestatic java.lang.System.currentTimeMillis:()J
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
lsub
lstore 1
13: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 14 1 expireDate J
3 9 3 pruneExpireStr Ljava/lang/String;
Exceptions:
throws java.text.ParseException
private java.lang.String getPruneExpireStr();
descriptor: ()Ljava/lang/String;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
1: ldc "gc"
aconst_null
2: ldc "pruneexpire"
3: invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
private long getPackExpireDate();
descriptor: ()J
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=4, args_size=1
start local 0 0: ldc 9223372036854775807
lstore 1
start local 1 1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
ifnonnull 12
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
ldc -1
lcmp
ifne 12
2: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
3: ldc "gc"
aconst_null
4: ldc "prunepackexpire"
5: invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getString:(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
astore 3
start local 3 6: aload 3
ifnonnull 8
7: ldc "1.hour.ago"
astore 3
8: StackMap locals: long java.lang.String
StackMap stack:
aload 0
aload 3
aconst_null
9: invokestatic org.eclipse.jgit.util.SystemReader.getInstance:()Lorg/eclipse/jgit/util/SystemReader;
invokevirtual org.eclipse.jgit.util.SystemReader.getLocale:()Ljava/util/Locale;
10: invokestatic org.eclipse.jgit.util.GitDateParser.parse:(Ljava/lang/String;Ljava/util/Calendar;Ljava/util/Locale;)Ljava/util/Date;
putfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
11: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
end local 3 12: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
ifnull 14
13: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lstore 1
14: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
ldc -1
lcmp
ifeq 16
15: invokestatic java.lang.System.currentTimeMillis:()J
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
lsub
lstore 1
16: StackMap locals:
StackMap stack:
lload 1
lreturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 17 1 packExpireDate J
6 12 3 prunePackExpireStr Ljava/lang/String;
Exceptions:
throws java.text.ParseException
private void removeReferenced(java.util.Map<org.eclipse.jgit.lib.ObjectId, java.io.File>, org.eclipse.jgit.revwalk.ObjectWalk);
descriptor: (Ljava/util/Map;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=2, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 2
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
astore 3
start local 3 1: goto 6
2: StackMap locals: org.eclipse.jgit.revwalk.RevObject
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
3: aload 1
aload 3
invokevirtual org.eclipse.jgit.revwalk.RevObject.getId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 5
aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifeq 5
4: return
5: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.next:()Lorg/eclipse/jgit/revwalk/RevCommit;
astore 3
6: StackMap locals:
StackMap stack:
aload 3
ifnonnull 2
7: aload 2
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.nextObject:()Lorg/eclipse/jgit/revwalk/RevObject;
astore 3
8: goto 13
9: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
10: aload 1
aload 3
invokevirtual org.eclipse.jgit.revwalk.RevObject.getId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Map.remove:(Ljava/lang/Object;)Ljava/lang/Object;
ifnull 12
aload 1
invokeinterface java.util.Map.isEmpty:()Z
ifeq 12
11: return
12: StackMap locals:
StackMap stack:
aload 2
invokevirtual org.eclipse.jgit.revwalk.ObjectWalk.nextObject:()Lorg/eclipse/jgit/revwalk/RevObject;
astore 3
13: StackMap locals:
StackMap stack:
aload 3
ifnonnull 9
14: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 15 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 15 1 id2File Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;
0 15 2 w Lorg/eclipse/jgit/revwalk/ObjectWalk;
1 15 3 ro Lorg/eclipse/jgit/revwalk/RevObject;
Exceptions:
throws org.eclipse.jgit.errors.MissingObjectException, org.eclipse.jgit.errors.IncorrectObjectTypeException, java.io.IOException
Signature: (Ljava/util/Map<Lorg/eclipse/jgit/lib/ObjectId;Ljava/io/File;>;Lorg/eclipse/jgit/revwalk/ObjectWalk;)V
MethodParameters:
Name Flags
id2File
w
private static boolean equals(org.eclipse.jgit.lib.Ref, org.eclipse.jgit.lib.Ref);
descriptor: (Lorg/eclipse/jgit/lib/Ref;Lorg/eclipse/jgit/lib/Ref;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
ifnull 1
aload 1
ifnonnull 2
1: StackMap locals:
StackMap stack:
iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
ifeq 7
3: aload 1
invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
ifeq 6
aload 0
invokeinterface org.eclipse.jgit.lib.Ref.getTarget:()Lorg/eclipse/jgit/lib/Ref;
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
4: aload 1
invokeinterface org.eclipse.jgit.lib.Ref.getTarget:()Lorg/eclipse/jgit/lib/Ref;
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
invokevirtual java.lang.String.equals:(Ljava/lang/Object;)Z
ifeq 6
5: iconst_1
ireturn
StackMap locals:
StackMap stack:
6: iconst_0
ireturn
7: StackMap locals:
StackMap stack:
aload 1
invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
ifne 10
8: aload 0
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
aload 1
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifeq 10
9: iconst_1
ireturn
StackMap locals:
StackMap stack:
10: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 r1 Lorg/eclipse/jgit/lib/Ref;
0 11 1 r2 Lorg/eclipse/jgit/lib/Ref;
MethodParameters:
Name Flags
r1
r2
public void packRefs();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
astore 1
start local 1 1: aload 1
instanceof org.eclipse.jgit.internal.storage.file.FileReftableDatabase
ifeq 10
2: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.packRefs:Ljava/lang/String;
iconst_1
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
3: aload 1
checkcast org.eclipse.jgit.internal.storage.file.FileReftableDatabase
invokevirtual org.eclipse.jgit.internal.storage.file.FileReftableDatabase.compactFully:()V
4: goto 8
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase
StackMap stack: java.lang.Throwable
5: astore 2
6: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
7: aload 2
athrow
8: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
9: return
10: StackMap locals:
StackMap stack:
aload 1
ldc "refs/"
invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefsByPrefix:(Ljava/lang/String;)Ljava/util/List;
astore 2
start local 2 11: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.Collection.size:()I
invokespecial java.util.ArrayList.<init>:(I)V
astore 3
start local 3 12: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.packRefs:Ljava/lang/String;
aload 2
invokeinterface java.util.Collection.size:()I
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.beginTask:(Ljava/lang/String;I)V
13: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 5
goto 19
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
14: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 4
start local 4 15: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
16: aload 4
invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
ifne 18
aload 4
invokeinterface org.eclipse.jgit.lib.Ref.getStorage:()Lorg/eclipse/jgit/lib/Ref$Storage;
invokevirtual org.eclipse.jgit.lib.Ref$Storage.isLoose:()Z
ifeq 18
17: aload 3
aload 4
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
18: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List org.eclipse.jgit.lib.Ref java.util.Iterator
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
iconst_1
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.update:(I)V
end local 4 19: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
20: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
checkcast org.eclipse.jgit.internal.storage.file.RefDirectory
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.RefDirectory.pack:(Ljava/util/List;)V
21: goto 25
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List
StackMap stack: java.lang.Throwable
22: astore 6
23: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
24: aload 6
athrow
25: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.endTask:()V
26: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 27 1 refDb Lorg/eclipse/jgit/lib/RefDatabase;
11 27 2 refs Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
12 27 3 refsToBePacked Ljava/util/List<Ljava/lang/String;>;
15 19 4 ref Lorg/eclipse/jgit/lib/Ref;
Exception table:
from to target type
3 5 5 any
13 22 22 any
Exceptions:
throws java.io.IOException
public java.util.Collection<org.eclipse.jgit.internal.storage.file.PackFile> repack();
descriptor: ()Ljava/util/Collection;
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=17, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
astore 1
start local 1 1: invokestatic java.lang.System.currentTimeMillis:()J
lstore 2
start local 2 2: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getAllRefs:()Ljava/util/Collection;
astore 4
start local 4 3: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 4: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 5: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 7
start local 7 6: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 8
start local 8 7: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 9
start local 9 8: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 10
start local 10 9: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.listNonHEADIndexObjects:()Ljava/util/Set;
astore 11
start local 11 10: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
astore 12
start local 12 11: aload 4
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 14
goto 29
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
StackMap stack:
12: aload 14
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 13
start local 13 13: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
14: aload 8
aload 0
aload 13
lconst_0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.listRefLogObjects:(Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
15: aload 13
invokeinterface org.eclipse.jgit.lib.Ref.isSymbolic:()Z
ifne 29
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
ifnonnull 17
16: goto 29
17: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase org.eclipse.jgit.lib.Ref java.util.Iterator
StackMap stack:
aload 13
invokestatic org.eclipse.jgit.internal.storage.file.GC.isHead:(Lorg/eclipse/jgit/lib/Ref;)Z
ifeq 20
18: aload 6
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
19: goto 27
StackMap locals:
StackMap stack:
20: aload 13
invokestatic org.eclipse.jgit.internal.storage.file.GC.isTag:(Lorg/eclipse/jgit/lib/Ref;)Z
ifeq 23
21: aload 7
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
22: goto 27
StackMap locals:
StackMap stack:
23: aload 12
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
invokestatic org.eclipse.jgit.internal.storage.reftree.RefTreeNames.isRefTree:(Lorg/eclipse/jgit/lib/RefDatabase;Ljava/lang/String;)Z
ifeq 26
24: aload 9
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: goto 27
26: StackMap locals:
StackMap stack:
aload 8
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
27: StackMap locals:
StackMap stack:
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
ifnull 29
28: aload 10
aload 13
invokeinterface org.eclipse.jgit.lib.Ref.getPeeledObjectId:()Lorg/eclipse/jgit/lib/ObjectId;
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 13 29: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
StackMap stack:
aload 14
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
30: new java.util.LinkedList
dup
invokespecial java.util.LinkedList.<init>:()V
astore 13
start local 13 31: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 15
goto 36
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase java.util.List top java.util.Iterator
StackMap stack:
32: aload 15
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 14
start local 14 33: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
34: aload 14
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.shouldBeKept:()Z
ifeq 36
35: aload 13
aload 14
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 14 36: StackMap locals:
StackMap stack:
aload 15
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
37: aload 7
aload 6
invokeinterface java.util.Set.removeAll:(Ljava/util/Collection;)Z
pop
38: aload 5
aload 6
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
39: aload 5
aload 7
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
40: aload 10
aload 5
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
41: aload 8
aload 11
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
42: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
invokevirtual org.eclipse.jgit.storage.pack.PackConfig.getSinglePack:()Z
ifeq 45
43: aload 5
aload 8
invokeinterface java.util.Set.addAll:(Ljava/util/Collection;)Z
pop
44: aload 8
invokeinterface java.util.Set.clear:()V
45: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Collection long java.util.Collection java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set java.util.Set org.eclipse.jgit.lib.RefDatabase java.util.List
StackMap stack:
new java.util.ArrayList
dup
iconst_2
invokespecial java.util.ArrayList.<init>:(I)V
astore 14
start local 14 46: aconst_null
astore 15
start local 15 47: aload 5
invokeinterface java.util.Set.isEmpty:()Z
ifne 54
48: aload 0
aload 5
getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
aload 7
49: aload 10
aload 13
50: invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
astore 15
51: aload 15
ifnull 54
52: aload 14
aload 15
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
53: aload 13
iconst_0
aload 15
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
invokeinterface java.util.List.add:(ILjava/lang/Object;)V
54: StackMap locals: java.util.List org.eclipse.jgit.internal.storage.file.PackFile
StackMap stack:
aload 8
invokeinterface java.util.Set.isEmpty:()Z
ifne 60
55: aload 0
aload 8
aload 5
getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
56: aload 10
aload 13
57: invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
astore 16
start local 16 58: aload 16
ifnull 60
59: aload 14
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 60: StackMap locals:
StackMap stack:
aload 9
invokeinterface java.util.Set.isEmpty:()Z
ifne 66
61: aload 0
aload 9
getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
62: aconst_null
aload 13
63: invokevirtual org.eclipse.jgit.internal.storage.file.GC.writePack:(Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
astore 16
start local 16 64: aload 16
ifnull 66
65: aload 14
aload 16
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 16 66: StackMap locals:
StackMap stack:
aload 0
aload 1
aload 14
invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteOldPacks:(Ljava/util/Collection;Ljava/util/Collection;)V
67: goto 70
StackMap locals:
StackMap stack: java.text.ParseException
68: astore 16
start local 16 69: new java.io.IOException
dup
aload 16
invokespecial java.io.IOException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 16 70: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.prunePacked:()V
71: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
instanceof org.eclipse.jgit.internal.storage.file.RefDirectory
ifeq 73
72: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteEmptyRefsFolders:()V
73: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteOrphans:()V
74: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.deleteTempPacksIdx:()V
75: aload 0
aload 4
putfield org.eclipse.jgit.internal.storage.file.GC.lastPackedRefs:Ljava/util/Collection;
76: aload 0
lload 2
putfield org.eclipse.jgit.internal.storage.file.GC.lastRepackTime:J
77: aload 14
areturn
end local 15 end local 14 end local 13 end local 12 end local 11 end local 10 end local 9 end local 8 end local 7 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 78 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 78 1 toBeDeleted Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
2 78 2 time J
3 78 4 refsBefore Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
4 78 5 allHeadsAndTags Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
5 78 6 allHeads Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
6 78 7 allTags Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
7 78 8 nonHeads Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
8 78 9 txnHeads Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
9 78 10 tagTargets Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
10 78 11 indexObjects Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
11 78 12 refdb Lorg/eclipse/jgit/lib/RefDatabase;
13 29 13 ref Lorg/eclipse/jgit/lib/Ref;
31 78 13 excluded Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;
33 36 14 f Lorg/eclipse/jgit/internal/storage/file/PackFile;
46 78 14 ret Ljava/util/List<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
47 78 15 heads Lorg/eclipse/jgit/internal/storage/file/PackFile;
58 60 16 rest Lorg/eclipse/jgit/internal/storage/file/PackFile;
64 66 16 txn Lorg/eclipse/jgit/internal/storage/file/PackFile;
69 70 16 e Ljava/text/ParseException;
Exception table:
from to target type
66 67 68 Class java.text.ParseException
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
private static boolean isHead(org.eclipse.jgit.lib.Ref);
descriptor: (Lorg/eclipse/jgit/lib/Ref;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
ldc "refs/heads/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ref Lorg/eclipse/jgit/lib/Ref;
MethodParameters:
Name Flags
ref
private static boolean isTag(org.eclipse.jgit.lib.Ref);
descriptor: (Lorg/eclipse/jgit/lib/Ref;)Z
flags: (0x000a) ACC_PRIVATE, ACC_STATIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
ldc "refs/tags/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 ref Lorg/eclipse/jgit/lib/Ref;
MethodParameters:
Name Flags
ref
private void deleteEmptyRefsFolders();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getDirectory:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
ldc "refs/"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 1
start local 1 1: invokestatic java.time.Instant.now:()Ljava/time/Instant;
ldc 30
getstatic java.time.temporal.ChronoUnit.SECONDS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.Instant.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: aload 1
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/internal/storage/file/GC.lambda$11(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
4: invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
5: astore 5
start local 5 6: aload 5
invokeinterface java.util.stream.Stream.iterator:()Ljava/util/Iterator;
astore 6
start local 6 7: goto 17
8: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Iterator
StackMap stack:
aconst_null
astore 7
aconst_null
astore 8
9: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.nio.file.Path
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
astore 9
start local 9 10: aload 9
aload 0
aload 2
invokedynamic test(Lorg/eclipse/jgit/internal/storage/file/GC;Ljava/time/Instant;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/internal/storage/file/GC.lambda$2(Ljava/time/Instant;Ljava/nio/file/Path;)Z (7)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
aload 0
invokedynamic accept(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/eclipse/jgit/internal/storage/file/GC.deleteDir(Ljava/nio/file/Path;)V (7)
(Ljava/nio/file/Path;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
11: aload 9
ifnull 17
aload 9
invokeinterface java.util.stream.Stream.close:()V
goto 17
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream java.util.Iterator java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
12: astore 7
aload 9
ifnull 13
aload 9
invokeinterface java.util.stream.Stream.close:()V
end local 9 StackMap locals:
StackMap stack:
13: aload 7
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
14: astore 8
aload 7
ifnonnull 15
aload 8
astore 7
goto 16
StackMap locals:
StackMap stack:
15: aload 7
aload 8
if_acmpeq 16
aload 7
aload 8
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
16: aload 7
athrow
17: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 8
end local 6 18: aload 5
ifnull 24
aload 5
invokeinterface java.util.stream.Stream.close:()V
goto 24
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
19: astore 3
aload 5
ifnull 20
aload 5
invokeinterface java.util.stream.Stream.close:()V
end local 5 StackMap locals:
StackMap stack:
20: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 4
aload 3
ifnonnull 22
aload 4
astore 3
goto 23
StackMap locals:
StackMap stack:
22: aload 3
aload 4
if_acmpeq 23
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 3
athrow
24: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 25 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 25 1 refs Ljava/nio/file/Path;
2 25 2 threshold Ljava/time/Instant;
6 20 5 entries Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
7 18 6 iterator Ljava/util/Iterator<Ljava/nio/file/Path;>;
10 13 9 s Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
Exception table:
from to target type
10 11 12 any
9 14 14 any
6 18 19 any
3 21 21 any
Exceptions:
throws java.io.IOException
private boolean canBeSafelyDeleted(java.nio.file.Path, java.time.Instant);
descriptor: (Ljava/nio/file/Path;Ljava/time/Instant;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.getLastModifiedTime:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
aload 2
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
1: ireturn
2: StackMap locals:
StackMap stack: java.io.IOException
astore 3
start local 3 3: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
4: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.cannotAccessLastModifiedForSafeDeletion:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
5: aload 1
aastore
6: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
7: aload 3
8: invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Throwable;)V
9: iconst_0
ireturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 10 1 path Ljava/nio/file/Path;
0 10 2 threshold Ljava/time/Instant;
3 10 3 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.io.IOException
MethodParameters:
Name Flags
path
threshold
private void deleteDir(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=5, args_size=2
start local 0 start local 1 0: aconst_null
astore 2
aconst_null
astore 3
1: aload 1
iconst_0
anewarray java.nio.file.FileVisitOption
invokestatic java.nio.file.Files.walk:(Ljava/nio/file/Path;[Ljava/nio/file/FileVisitOption;)Ljava/util/stream/Stream;
astore 4
start local 4 2: aload 4
aload 0
invokedynamic test(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/internal/storage/file/GC.isDirectory(Ljava/nio/file/Path;)Z (7)
(Ljava/nio/file/Path;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
invokestatic java.util.Comparator.reverseOrder:()Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
3: aload 0
invokedynamic accept(Lorg/eclipse/jgit/internal/storage/file/GC;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/eclipse/jgit/internal/storage/file/GC.delete(Ljava/nio/file/Path;)V (7)
(Ljava/nio/file/Path;)V
invokeinterface java.util.stream.Stream.forEach:(Ljava/util/function/Consumer;)V
4: aload 4
ifnull 12
aload 4
invokeinterface java.util.stream.Stream.close:()V
goto 12
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
5: astore 2
aload 4
ifnull 6
aload 4
invokeinterface java.util.stream.Stream.close:()V
end local 4 StackMap locals:
StackMap stack:
6: aload 2
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
7: astore 3
aload 2
ifnonnull 8
aload 3
astore 2
goto 9
StackMap locals:
StackMap stack:
8: aload 2
aload 3
if_acmpeq 9
aload 2
aload 3
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
9: aload 2
athrow
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path
StackMap stack: java.io.IOException
10: astore 2
start local 2 11: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 2
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 12: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 13 1 dir Ljava/nio/file/Path;
2 6 4 dirs Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
11 12 2 e Ljava/io/IOException;
Exception table:
from to target type
2 4 5 any
1 7 7 any
0 10 10 Class java.io.IOException
MethodParameters:
Name Flags
dir
private boolean isDirectory(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=2, args_size=2
start local 0 start local 1 0: aload 1
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.isDirectory:()Z
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 1 1 p Ljava/nio/file/Path;
MethodParameters:
Name Flags
p
private void delete(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=3, args_size=2
start local 0 start local 1 0: aload 1
invokestatic java.nio.file.Files.delete:(Ljava/nio/file/Path;)V
1: goto 7
StackMap locals:
StackMap stack: java.nio.file.DirectoryNotEmptyException
2: pop
goto 7
3: StackMap locals:
StackMap stack: java.io.IOException
astore 2
start local 2 4: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.cannotDeleteFile:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 1
aastore
invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
5: aload 2
6: invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 7: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 8 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 8 1 d Ljava/nio/file/Path;
4 7 2 e Ljava/io/IOException;
Exception table:
from to target type
0 1 2 Class java.nio.file.DirectoryNotEmptyException
0 1 3 Class java.io.IOException
MethodParameters:
Name Flags
d
private void deleteOrphans();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 1
start local 1 1: aconst_null
astore 2
start local 2 2: aconst_null
astore 3
aconst_null
astore 4
3: aload 1
invokestatic java.nio.file.Files.list:(Ljava/nio/file/Path;)Ljava/util/stream/Stream;
astore 5
start local 5 4: aload 5
invokedynamic apply()Ljava/util/function/Function;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Ljava/lang/Object;
org/eclipse/jgit/internal/storage/file/GC.lambda$6(Ljava/nio/file/Path;)Ljava/lang/String; (6)
(Ljava/nio/file/Path;)Ljava/lang/String;
invokeinterface java.util.stream.Stream.map:(Ljava/util/function/Function;)Ljava/util/stream/Stream;
5: invokedynamic test()Ljava/util/function/Predicate;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/internal/storage/file/GC.lambda$7(Ljava/lang/String;)Z (6)
(Ljava/lang/String;)Z
invokeinterface java.util.stream.Stream.filter:(Ljava/util/function/Predicate;)Ljava/util/stream/Stream;
6: invokestatic java.util.Collections.reverseOrder:()Ljava/util/Comparator;
invokeinterface java.util.stream.Stream.sorted:(Ljava/util/Comparator;)Ljava/util/stream/Stream;
7: invokestatic java.util.stream.Collectors.toList:()Ljava/util/stream/Collector;
invokeinterface java.util.stream.Stream.collect:(Ljava/util/stream/Collector;)Ljava/lang/Object;
checkcast java.util.List
8: astore 2
9: aload 5
ifnull 18
aload 5
invokeinterface java.util.stream.Stream.close:()V
goto 18
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.Throwable java.lang.Throwable java.util.stream.Stream
StackMap stack: java.lang.Throwable
10: astore 3
aload 5
ifnull 11
aload 5
invokeinterface java.util.stream.Stream.close:()V
end local 5 StackMap locals:
StackMap stack:
11: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
12: astore 4
aload 3
ifnonnull 13
aload 4
astore 3
goto 14
StackMap locals:
StackMap stack:
13: aload 3
aload 4
if_acmpeq 14
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
14: aload 3
athrow
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List
StackMap stack: java.io.IOException
15: astore 3
start local 3 16: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 3
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
17: return
end local 3 18: StackMap locals:
StackMap stack:
aload 2
ifnonnull 20
19: return
20: StackMap locals:
StackMap stack:
aconst_null
astore 3
start local 3 21: aload 2
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 35
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String top java.util.Iterator
StackMap stack:
22: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.String
astore 4
start local 4 23: aload 4
getstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 24
aload 4
getstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifeq 26
24: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String java.lang.String java.util.Iterator
StackMap stack:
aload 4
iconst_0
aload 4
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
astore 3
25: goto 35
26: StackMap locals:
StackMap stack:
aload 3
ifnull 27
aload 4
aload 3
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifne 35
27: StackMap locals:
StackMap stack:
aload 1
aload 4
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 6
start local 6 28: aload 6
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
29: bipush 6
30: invokestatic org.eclipse.jgit.util.FileUtils.delete:(Ljava/io/File;I)V
31: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.deletedOrphanInPackDir:Ljava/lang/String;
aload 6
invokeinterface org.slf4j.Logger.warn:(Ljava/lang/String;Ljava/lang/Object;)V
end local 6 32: goto 35
StackMap locals:
StackMap stack: java.io.IOException
33: astore 6
start local 6 34: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 6
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 6
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 6 end local 4 35: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.util.List java.lang.String top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 22
36: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 37 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 37 1 packDir Ljava/nio/file/Path;
2 37 2 fileNames Ljava/util/List<Ljava/lang/String;>;
4 11 5 files Ljava/util/stream/Stream<Ljava/nio/file/Path;>;
16 18 3 e Ljava/io/IOException;
21 37 3 base Ljava/lang/String;
23 35 4 n Ljava/lang/String;
28 32 6 delete Ljava/nio/file/Path;
34 35 6 e Ljava/io/IOException;
Exception table:
from to target type
4 9 10 any
3 12 12 any
2 15 15 Class java.io.IOException
27 32 33 Class java.io.IOException
private void deleteTempPacksIdx();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=6, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
astore 1
start local 1 1: invokestatic java.time.Instant.now:()Ljava/time/Instant;
lconst_1
getstatic java.time.temporal.ChronoUnit.DAYS:Ljava/time/temporal/ChronoUnit;
invokevirtual java.time.Instant.minus:(JLjava/time/temporal/TemporalUnit;)Ljava/time/Instant;
astore 2
start local 2 2: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.exists:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ifne 4
3: return
4: StackMap locals: java.nio.file.Path java.time.Instant
StackMap stack:
aconst_null
astore 3
aconst_null
astore 4
5: aload 1
ldc "gc_*_tmp"
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/lang/String;)Ljava/nio/file/DirectoryStream;
6: astore 5
start local 5 7: aload 5
aload 2
invokedynamic accept(Ljava/time/Instant;)Ljava/util/function/Consumer;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)V
org/eclipse/jgit/internal/storage/file/GC.lambda$8(Ljava/time/Instant;Ljava/nio/file/Path;)V (6)
(Ljava/nio/file/Path;)V
invokeinterface java.nio.file.DirectoryStream.forEach:(Ljava/util/function/Consumer;)V
8: aload 5
ifnull 16
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 16
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
9: astore 3
aload 5
ifnull 10
aload 5
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 5 StackMap locals:
StackMap stack:
10: aload 3
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
11: astore 4
aload 3
ifnonnull 12
aload 4
astore 3
goto 13
StackMap locals:
StackMap stack:
12: aload 3
aload 4
if_acmpeq 13
aload 3
aload 4
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
13: aload 3
athrow
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.nio.file.Path java.time.Instant
StackMap stack: java.io.IOException
14: astore 3
start local 3 15: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 3
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 16: StackMap locals:
StackMap stack:
return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 17 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 17 1 packDir Ljava/nio/file/Path;
2 17 2 threshold Ljava/time/Instant;
7 10 5 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
15 16 3 e Ljava/io/IOException;
Exception table:
from to target type
7 8 9 any
5 11 11 any
4 14 14 Class java.io.IOException
private java.util.Set<org.eclipse.jgit.lib.ObjectId> listRefLogObjects(org.eclipse.jgit.lib.Ref, long);
descriptor: (Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=11, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
aload 1
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getReflogReader:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ReflogReader;
astore 4
start local 4 1: aload 4
ifnonnull 3
2: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
3: StackMap locals: org.eclipse.jgit.lib.ReflogReader
StackMap stack:
aload 4
4: invokeinterface org.eclipse.jgit.lib.ReflogReader.getReverseEntries:()Ljava/util/List;
5: astore 5
start local 5 6: aload 5
ifnull 7
aload 5
invokeinterface java.util.List.isEmpty:()Z
ifeq 8
7: StackMap locals: java.util.List
StackMap stack:
invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
8: StackMap locals:
StackMap stack:
new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 6
start local 6 9: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 19
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set top java.util.Iterator
StackMap stack:
10: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.ReflogEntry
astore 7
start local 7 11: aload 7
invokeinterface org.eclipse.jgit.lib.ReflogEntry.getWho:()Lorg/eclipse/jgit/lib/PersonIdent;
invokevirtual org.eclipse.jgit.lib.PersonIdent.getWhen:()Ljava/util/Date;
invokevirtual java.util.Date.getTime:()J
lload 2
lcmp
ifge 13
12: goto 20
13: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set org.eclipse.jgit.lib.ReflogEntry java.util.Iterator
StackMap stack:
aload 7
invokeinterface org.eclipse.jgit.lib.ReflogEntry.getNewId:()Lorg/eclipse/jgit/lib/ObjectId;
astore 9
start local 9 14: aload 9
ifnull 16
invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
aload 9
invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
ifne 16
15: aload 6
aload 9
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
16: StackMap locals: org.eclipse.jgit.lib.ObjectId
StackMap stack:
aload 7
invokeinterface org.eclipse.jgit.lib.ReflogEntry.getOldId:()Lorg/eclipse/jgit/lib/ObjectId;
astore 10
start local 10 17: aload 10
ifnull 19
invokestatic org.eclipse.jgit.lib.ObjectId.zeroId:()Lorg/eclipse/jgit/lib/ObjectId;
aload 10
invokevirtual org.eclipse.jgit.lib.ObjectId.equals:(Lorg/eclipse/jgit/lib/AnyObjectId;)Z
ifne 19
18: aload 6
aload 10
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
end local 10 end local 9 end local 7 19: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 10
20: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.Ref long org.eclipse.jgit.lib.ReflogReader java.util.List java.util.Set
StackMap stack:
aload 6
areturn
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 21 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 21 1 ref Lorg/eclipse/jgit/lib/Ref;
0 21 2 minTime J
1 21 4 reflogReader Lorg/eclipse/jgit/lib/ReflogReader;
6 21 5 rlEntries Ljava/util/List<Lorg/eclipse/jgit/lib/ReflogEntry;>;
9 21 6 ret Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
11 19 7 e Lorg/eclipse/jgit/lib/ReflogEntry;
14 19 9 newId Lorg/eclipse/jgit/lib/ObjectId;
17 19 10 oldId Lorg/eclipse/jgit/lib/ObjectId;
Exceptions:
throws java.io.IOException
Signature: (Lorg/eclipse/jgit/lib/Ref;J)Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
MethodParameters:
Name Flags
ref
minTime
private java.util.Collection<org.eclipse.jgit.lib.Ref> getAllRefs();
descriptor: ()Ljava/util/Collection;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
astore 1
start local 1 1: aload 1
invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:()Ljava/util/List;
astore 2
start local 2 2: aload 1
invokevirtual org.eclipse.jgit.lib.RefDatabase.getAdditionalRefs:()Ljava/util/List;
astore 3
start local 3 3: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifne 13
4: new java.util.ArrayList
dup
aload 2
invokeinterface java.util.Collection.size:()I
aload 3
invokeinterface java.util.List.size:()I
iadd
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 5: aload 4
aload 2
invokeinterface java.util.List.addAll:(Ljava/util/Collection;)Z
pop
6: aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 6
goto 11
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List java.util.List top java.util.Iterator
StackMap stack:
7: aload 6
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 5
start local 5 8: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
9: aload 5
invokeinterface org.eclipse.jgit.lib.Ref.getName:()Ljava/lang/String;
ldc "refs/"
invokevirtual java.lang.String.startsWith:(Ljava/lang/String;)Z
ifeq 11
10: aload 4
aload 5
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 5 11: StackMap locals:
StackMap stack:
aload 6
invokeinterface java.util.Iterator.hasNext:()Z
ifne 7
12: aload 4
areturn
end local 4 13: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.RefDatabase java.util.Collection java.util.List
StackMap stack:
aload 2
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 14 1 refdb Lorg/eclipse/jgit/lib/RefDatabase;
2 14 2 refs Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
3 14 3 addl Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
5 13 4 all Ljava/util/List<Lorg/eclipse/jgit/lib/Ref;>;
8 11 5 r Lorg/eclipse/jgit/lib/Ref;
Exceptions:
throws java.io.IOException
Signature: ()Ljava/util/Collection<Lorg/eclipse/jgit/lib/Ref;>;
private java.util.Set<org.eclipse.jgit.lib.ObjectId> listNonHEADIndexObjects();
descriptor: ()Ljava/util/Set;
flags: (0x0002) ACC_PRIVATE
Code:
stack=12, locals=8, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.isBare:()Z
ifeq 2
1: invokestatic java.util.Collections.emptySet:()Ljava/util/Set;
areturn
2: StackMap locals:
StackMap stack:
aconst_null
astore 1
aconst_null
astore 2
3: new org.eclipse.jgit.treewalk.TreeWalk
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokespecial org.eclipse.jgit.treewalk.TreeWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 3
start local 3 4: aload 3
new org.eclipse.jgit.dircache.DirCacheIterator
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.readDirCache:()Lorg/eclipse/jgit/dircache/DirCache;
invokespecial org.eclipse.jgit.dircache.DirCacheIterator.<init>:(Lorg/eclipse/jgit/dircache/DirCache;)V
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.addTree:(Lorg/eclipse/jgit/treewalk/AbstractTreeIterator;)I
pop
5: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
ldc "HEAD"
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.resolve:(Ljava/lang/String;)Lorg/eclipse/jgit/lib/ObjectId;
astore 4
start local 4 6: aload 4
ifnull 16
7: aconst_null
astore 5
aconst_null
astore 6
8: new org.eclipse.jgit.revwalk.RevWalk
dup
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokespecial org.eclipse.jgit.revwalk.RevWalk.<init>:(Lorg/eclipse/jgit/lib/Repository;)V
astore 7
start local 7 9: aload 3
aload 7
aload 4
invokevirtual org.eclipse.jgit.revwalk.RevWalk.parseTree:(Lorg/eclipse/jgit/lib/AnyObjectId;)Lorg/eclipse/jgit/revwalk/RevTree;
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.addTree:(Lorg/eclipse/jgit/lib/AnyObjectId;)I
pop
10: aload 7
ifnull 16
aload 7
invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
goto 16
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.lang.Throwable java.lang.Throwable org.eclipse.jgit.revwalk.RevWalk
StackMap stack: java.lang.Throwable
11: astore 5
aload 7
ifnull 12
aload 7
invokevirtual org.eclipse.jgit.revwalk.RevWalk.close:()V
end local 7 StackMap locals:
StackMap stack:
12: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
13: astore 6
aload 5
ifnonnull 14
aload 6
astore 5
goto 15
StackMap locals:
StackMap stack:
14: aload 5
aload 6
if_acmpeq 15
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
15: aload 5
athrow
16: StackMap locals:
StackMap stack:
aload 3
getstatic org.eclipse.jgit.treewalk.filter.TreeFilter.ANY_DIFF:Lorg/eclipse/jgit/treewalk/filter/TreeFilter;
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setFilter:(Lorg/eclipse/jgit/treewalk/filter/TreeFilter;)V
17: aload 3
iconst_1
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.setRecursive:(Z)V
18: new java.util.HashSet
dup
invokespecial java.util.HashSet.<init>:()V
astore 5
start local 5 19: goto 37
20: StackMap locals: java.util.Set
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
21: aload 3
iconst_0
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getObjectId:(I)Lorg/eclipse/jgit/lib/ObjectId;
astore 6
start local 6 22: aload 3
iconst_0
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getRawMode:(I)I
ldc 61440
iand
lookupswitch { // 5
0: 23
16384: 24
32768: 24
40960: 24
57344: 23
default: 26
}
23: StackMap locals: org.eclipse.jgit.lib.ObjectId
StackMap stack:
goto 37
24: StackMap locals:
StackMap stack:
aload 5
aload 6
invokeinterface java.util.Set.add:(Ljava/lang/Object;)Z
pop
25: goto 37
26: StackMap locals:
StackMap stack:
new java.io.IOException
dup
27: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.corruptObjectInvalidMode3:Ljava/lang/String;
iconst_4
anewarray java.lang.Object
dup
iconst_0
28: ldc "%o"
iconst_1
anewarray java.lang.Object
dup
iconst_0
29: aload 3
iconst_0
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getRawMode:(I)I
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
aastore
30: invokestatic java.lang.String.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
aastore
dup
iconst_1
31: aload 6
ifnonnull 32
ldc "null"
goto 33
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.util.Set org.eclipse.jgit.lib.ObjectId
StackMap stack: new 26 new 26 java.lang.String java.lang.Object[] java.lang.Object[] int
32: aload 6
invokevirtual org.eclipse.jgit.lib.ObjectId.name:()Ljava/lang/String;
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk org.eclipse.jgit.lib.ObjectId java.util.Set org.eclipse.jgit.lib.ObjectId
StackMap stack: new 26 new 26 java.lang.String java.lang.Object[] java.lang.Object[] int java.lang.String
33: aastore
dup
iconst_2
34: aload 3
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.getPathString:()Ljava/lang/String;
aastore
dup
iconst_3
35: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getIndexFile:()Ljava/io/File;
aastore
36: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
end local 6 37: StackMap locals:
StackMap stack:
aload 3
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.next:()Z
ifne 20
38: aload 5
39: aload 3
ifnull 40
aload 3
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
40: StackMap locals:
StackMap stack: java.util.Set
areturn
end local 5 end local 4 StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.lang.Throwable java.lang.Throwable org.eclipse.jgit.treewalk.TreeWalk
StackMap stack: java.lang.Throwable
41: astore 1
42: aload 3
ifnull 43
aload 3
invokevirtual org.eclipse.jgit.treewalk.TreeWalk.close:()V
end local 3 StackMap locals:
StackMap stack:
43: aload 1
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
44: astore 2
aload 1
ifnonnull 45
aload 2
astore 1
goto 46
StackMap locals:
StackMap stack:
45: aload 1
aload 2
if_acmpeq 46
aload 1
aload 2
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
46: aload 1
athrow
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 47 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
4 43 3 treeWalk Lorg/eclipse/jgit/treewalk/TreeWalk;
6 41 4 headID Lorg/eclipse/jgit/lib/ObjectId;
9 12 7 revWalk Lorg/eclipse/jgit/revwalk/RevWalk;
19 41 5 ret Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
22 37 6 objectId Lorg/eclipse/jgit/lib/ObjectId;
Exception table:
from to target type
9 10 11 any
8 13 13 any
4 39 41 any
3 40 44 any
41 44 44 any
Exceptions:
throws org.eclipse.jgit.errors.CorruptObjectException, java.io.IOException
Signature: ()Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
private org.eclipse.jgit.internal.storage.file.PackFile writePack(java.util.Set<? extends org.eclipse.jgit.lib.ObjectId>, java.util.Set<? extends org.eclipse.jgit.lib.ObjectId>, java.util.Set<org.eclipse.jgit.lib.ObjectId>, java.util.Set<org.eclipse.jgit.lib.ObjectId>, java.util.List<org.eclipse.jgit.lib.ObjectIdSet>);
descriptor: (Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/List;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
flags: (0x0002) ACC_PRIVATE
Code:
stack=7, locals=26, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
1: aconst_null
astore 6
start local 6 2: new java.util.TreeMap
dup
invokedynamic compare()Ljava/util/Comparator;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;Ljava/lang/Object;)I
org/eclipse/jgit/internal/storage/file/GC.lambda$9(Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I (6)
(Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I
invokespecial java.util.TreeMap.<init>:(Ljava/util/Comparator;)V
astore 7
start local 7 3: aconst_null
astore 8
aconst_null
astore 9
4: new org.eclipse.jgit.internal.storage.pack.PackWriter
dup
5: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
6: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.newObjectReader:()Lorg/eclipse/jgit/lib/ObjectReader;
7: invokespecial org.eclipse.jgit.internal.storage.pack.PackWriter.<init>:(Lorg/eclipse/jgit/storage/pack/PackConfig;Lorg/eclipse/jgit/lib/ObjectReader;)V
astore 10
start local 10 8: aload 10
iconst_1
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setDeltaBaseAsOffset:(Z)V
9: aload 10
iconst_0
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setReuseDeltaCommits:(Z)V
10: aload 4
ifnull 12
11: aload 10
aload 4
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.setTagTargets:(Ljava/util/Set;)V
12: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
StackMap stack:
aload 5
ifnull 17
13: aload 5
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 12
goto 16
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top java.util.Iterator
StackMap stack:
14: aload 12
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.ObjectIdSet
astore 11
start local 11 15: aload 10
aload 11
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.excludeObjects:(Lorg/eclipse/jgit/lib/ObjectIdSet;)V
end local 11 16: StackMap locals:
StackMap stack:
aload 12
invokeinterface java.util.Iterator.hasNext:()Z
ifne 14
17: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
StackMap stack:
aload 10
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
aload 1
aload 2
getstatic org.eclipse.jgit.internal.storage.pack.PackWriter.NONE:Ljava/util/Set;
aload 3
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.preparePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;Ljava/util/Set;)V
18: aload 10
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.getObjectCount:()J
lconst_0
lcmp
ifne 28
19: aload 10
ifnull 20
aload 10
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
20: StackMap locals:
StackMap stack:
aload 6
ifnull 22
aload 6
invokevirtual java.io.File.exists:()Z
ifeq 22
21: aload 6
invokevirtual java.io.File.delete:()Z
pop
22: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 25
goto 26
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter top top top top top top top top top top top top top top java.util.Iterator
StackMap stack:
23: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 24
start local 24 24: aload 24
invokevirtual java.io.File.exists:()Z
ifeq 26
25: aload 24
invokevirtual java.io.File.delete:()Z
pop
end local 24 26: StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
27: aconst_null
areturn
28: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.checkCancelled:()V
29: aload 10
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.computeName:()Lorg/eclipse/jgit/lib/ObjectId;
invokevirtual org.eclipse.jgit.lib.ObjectId.getName:()Ljava/lang/String;
astore 11
start local 11 30: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
astore 12
start local 12 31: aload 12
invokevirtual java.io.File.mkdirs:()Z
pop
32: ldc "gc_"
ldc ".pack_tmp"
aload 12
invokestatic java.io.File.createTempFile:(Ljava/lang/String;Ljava/lang/String;Ljava/io/File;)Ljava/io/File;
astore 6
33: aload 6
invokevirtual java.io.File.getName:()Ljava/lang/String;
34: iconst_0
aload 6
invokevirtual java.io.File.getName:()Ljava/lang/String;
bipush 46
invokevirtual java.lang.String.lastIndexOf:(I)I
invokevirtual java.lang.String.substring:(II)Ljava/lang/String;
35: astore 13
start local 13 36: new java.io.File
dup
aload 12
new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".idx_tmp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 14
start local 14 37: aload 7
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
aload 14
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
38: aload 14
invokevirtual java.io.File.createNewFile:()Z
ifne 42
39: new java.io.IOException
dup
40: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.cannotCreateIndexfile:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
aload 14
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aastore
41: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
42: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File
StackMap stack:
aconst_null
astore 15
aconst_null
astore 16
43: new java.io.FileOutputStream
dup
aload 6
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 17
start local 17 44: aload 17
invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
astore 18
start local 18 45: aload 18
invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
46: astore 19
start local 19 47: aload 10
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
aload 19
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writePack:(Lorg/eclipse/jgit/lib/ProgressMonitor;Lorg/eclipse/jgit/lib/ProgressMonitor;Ljava/io/OutputStream;)V
48: aload 18
iconst_1
invokevirtual java.nio.channels.FileChannel.force:(Z)V
49: aload 19
ifnull 52
aload 19
invokevirtual java.io.OutputStream.close:()V
goto 52
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
StackMap stack: java.lang.Throwable
50: astore 15
aload 19
ifnull 51
aload 19
invokevirtual java.io.OutputStream.close:()V
end local 19 StackMap locals:
StackMap stack:
51: aload 15
athrow
StackMap locals:
StackMap stack:
52: aload 18
ifnull 57
aload 18
invokevirtual java.nio.channels.FileChannel.close:()V
goto 57
StackMap locals:
StackMap stack: java.lang.Throwable
53: astore 16
aload 15
ifnonnull 54
aload 16
astore 15
goto 55
StackMap locals:
StackMap stack:
54: aload 15
aload 16
if_acmpeq 55
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
55: aload 18
ifnull 56
aload 18
invokevirtual java.nio.channels.FileChannel.close:()V
end local 18 StackMap locals:
StackMap stack:
56: aload 15
athrow
StackMap locals:
StackMap stack:
57: aload 17
ifnull 65
aload 17
invokevirtual java.io.FileOutputStream.close:()V
goto 65
StackMap locals:
StackMap stack: java.lang.Throwable
58: astore 16
aload 15
ifnonnull 59
aload 16
astore 15
goto 60
StackMap locals:
StackMap stack:
59: aload 15
aload 16
if_acmpeq 60
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
60: aload 17
ifnull 61
aload 17
invokevirtual java.io.FileOutputStream.close:()V
end local 17 StackMap locals:
StackMap stack:
61: aload 15
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
62: astore 16
aload 15
ifnonnull 63
aload 16
astore 15
goto 64
StackMap locals:
StackMap stack:
63: aload 15
aload 16
if_acmpeq 64
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
64: aload 15
athrow
65: StackMap locals:
StackMap stack:
aconst_null
astore 15
aconst_null
astore 16
66: new java.io.FileOutputStream
dup
aload 14
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 17
start local 17 67: aload 17
invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
astore 18
start local 18 68: aload 18
invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
69: astore 19
start local 19 70: aload 10
aload 19
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeIndex:(Ljava/io/OutputStream;)V
71: aload 18
iconst_1
invokevirtual java.nio.channels.FileChannel.force:(Z)V
72: aload 19
ifnull 75
aload 19
invokevirtual java.io.OutputStream.close:()V
goto 75
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
StackMap stack: java.lang.Throwable
73: astore 15
aload 19
ifnull 74
aload 19
invokevirtual java.io.OutputStream.close:()V
end local 19 StackMap locals:
StackMap stack:
74: aload 15
athrow
StackMap locals:
StackMap stack:
75: aload 18
ifnull 80
aload 18
invokevirtual java.nio.channels.FileChannel.close:()V
goto 80
StackMap locals:
StackMap stack: java.lang.Throwable
76: astore 16
aload 15
ifnonnull 77
aload 16
astore 15
goto 78
StackMap locals:
StackMap stack:
77: aload 15
aload 16
if_acmpeq 78
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
78: aload 18
ifnull 79
aload 18
invokevirtual java.nio.channels.FileChannel.close:()V
end local 18 StackMap locals:
StackMap stack:
79: aload 15
athrow
StackMap locals:
StackMap stack:
80: aload 17
ifnull 88
aload 17
invokevirtual java.io.FileOutputStream.close:()V
goto 88
StackMap locals:
StackMap stack: java.lang.Throwable
81: astore 16
aload 15
ifnonnull 82
aload 16
astore 15
goto 83
StackMap locals:
StackMap stack:
82: aload 15
aload 16
if_acmpeq 83
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
83: aload 17
ifnull 84
aload 17
invokevirtual java.io.FileOutputStream.close:()V
end local 17 StackMap locals:
StackMap stack:
84: aload 15
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
85: astore 16
aload 15
ifnonnull 86
aload 16
astore 15
goto 87
StackMap locals:
StackMap stack:
86: aload 15
aload 16
if_acmpeq 87
aload 15
aload 16
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
87: aload 15
athrow
88: StackMap locals:
StackMap stack:
aload 10
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.prepareBitmapIndex:(Lorg/eclipse/jgit/lib/ProgressMonitor;)Z
ifeq 119
89: new java.io.File
dup
aload 12
new java.lang.StringBuilder
dup
aload 13
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".bitmap_tmp"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 15
start local 15 90: aload 7
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.BITMAP_INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
aload 15
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
91: aload 15
invokevirtual java.io.File.createNewFile:()Z
ifne 96
92: new java.io.IOException
dup
93: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.cannotCreateIndexfile:Ljava/lang/String;
iconst_1
anewarray java.lang.Object
dup
iconst_0
94: aload 15
invokevirtual java.io.File.getPath:()Ljava/lang/String;
aastore
95: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.io.IOException.<init>:(Ljava/lang/String;)V
athrow
96: StackMap locals: java.io.File
StackMap stack:
aconst_null
astore 16
aconst_null
astore 17
97: new java.io.FileOutputStream
dup
aload 15
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
astore 18
start local 18 98: aload 18
invokevirtual java.io.FileOutputStream.getChannel:()Ljava/nio/channels/FileChannel;
astore 19
start local 19 99: aload 19
invokestatic java.nio.channels.Channels.newOutputStream:(Ljava/nio/channels/WritableByteChannel;)Ljava/io/OutputStream;
100: astore 20
start local 20 101: aload 10
aload 20
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.writeBitmapIndex:(Ljava/io/OutputStream;)V
102: aload 19
iconst_1
invokevirtual java.nio.channels.FileChannel.force:(Z)V
103: aload 20
ifnull 106
aload 20
invokevirtual java.io.OutputStream.close:()V
goto 106
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.lang.Throwable java.lang.Throwable java.io.FileOutputStream java.nio.channels.FileChannel java.io.OutputStream
StackMap stack: java.lang.Throwable
104: astore 16
aload 20
ifnull 105
aload 20
invokevirtual java.io.OutputStream.close:()V
end local 20 StackMap locals:
StackMap stack:
105: aload 16
athrow
StackMap locals:
StackMap stack:
106: aload 19
ifnull 111
aload 19
invokevirtual java.nio.channels.FileChannel.close:()V
goto 111
StackMap locals:
StackMap stack: java.lang.Throwable
107: astore 17
aload 16
ifnonnull 108
aload 17
astore 16
goto 109
StackMap locals:
StackMap stack:
108: aload 16
aload 17
if_acmpeq 109
aload 16
aload 17
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
109: aload 19
ifnull 110
aload 19
invokevirtual java.nio.channels.FileChannel.close:()V
end local 19 StackMap locals:
StackMap stack:
110: aload 16
athrow
StackMap locals:
StackMap stack:
111: aload 18
ifnull 119
aload 18
invokevirtual java.io.FileOutputStream.close:()V
goto 119
StackMap locals:
StackMap stack: java.lang.Throwable
112: astore 17
aload 16
ifnonnull 113
aload 17
astore 16
goto 114
StackMap locals:
StackMap stack:
113: aload 16
aload 17
if_acmpeq 114
aload 16
aload 17
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
114: aload 18
ifnull 115
aload 18
invokevirtual java.io.FileOutputStream.close:()V
end local 18 StackMap locals:
StackMap stack:
115: aload 16
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
116: astore 17
aload 16
ifnonnull 117
aload 17
astore 16
goto 118
StackMap locals:
StackMap stack:
117: aload 16
aload 17
if_acmpeq 118
aload 16
aload 17
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
118: aload 16
athrow
end local 15 119: StackMap locals:
StackMap stack:
aload 0
aload 11
ldc ".pack"
invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 15
start local 15 120: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
aload 15
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.closeAllPackHandles:(Ljava/io/File;)V
121: aload 6
invokevirtual java.io.File.setReadOnly:()Z
pop
122: aload 6
aload 15
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
aastore
invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
123: aload 7
invokeinterface java.util.Map.entrySet:()Ljava/util/Set;
invokeinterface java.util.Set.iterator:()Ljava/util/Iterator;
astore 17
goto 151
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File top java.util.Iterator
StackMap stack:
124: aload 17
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.util.Map$Entry
astore 16
start local 16 125: aload 16
invokeinterface java.util.Map$Entry.getValue:()Ljava/lang/Object;
checkcast java.io.File
astore 18
start local 18 126: aload 18
invokevirtual java.io.File.setReadOnly:()Z
pop
127: aload 0
aload 11
128: new java.lang.StringBuilder
dup
ldc "."
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 16
invokeinterface java.util.Map$Entry.getKey:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.pack.PackExt
invokevirtual org.eclipse.jgit.internal.storage.pack.PackExt.getExtension:()Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
129: invokevirtual org.eclipse.jgit.internal.storage.file.GC.nameFor:(Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
astore 19
start local 19 130: aload 18
aload 19
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
131: getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
aastore
132: invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
133: goto 151
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.util.Map$Entry java.util.Iterator java.io.File java.io.File
StackMap stack: java.io.IOException
134: astore 20
start local 20 135: new java.io.File
dup
aload 19
invokevirtual java.io.File.getParentFile:()Ljava/io/File;
136: new java.lang.StringBuilder
dup
aload 19
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokestatic java.lang.String.valueOf:(Ljava/lang/Object;)Ljava/lang/String;
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
ldc ".new"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
137: invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
astore 21
start local 21 138: aload 18
aload 21
iconst_1
anewarray java.nio.file.CopyOption
dup
iconst_0
139: getstatic java.nio.file.StandardCopyOption.ATOMIC_MOVE:Ljava/nio/file/StandardCopyOption;
aastore
140: invokestatic org.eclipse.jgit.util.FileUtils.rename:(Ljava/io/File;Ljava/io/File;[Ljava/nio/file/CopyOption;)V
141: goto 145
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File java.util.Map$Entry java.util.Iterator java.io.File java.io.File java.io.IOException java.io.File
StackMap stack: java.io.IOException
142: astore 22
start local 22 143: aload 18
astore 21
144: aload 22
astore 20
end local 22 145: StackMap locals:
StackMap stack:
new java.io.IOException
dup
146: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.panicCantRenameIndexFile:Ljava/lang/String;
iconst_2
anewarray java.lang.Object
dup
iconst_0
aload 21
aastore
dup
iconst_1
147: aload 19
aastore
148: invokestatic java.text.MessageFormat.format:(Ljava/lang/String;[Ljava/lang/Object;)Ljava/lang/String;
149: aload 20
150: invokespecial java.io.IOException.<init>:(Ljava/lang/String;Ljava/lang/Throwable;)V
athrow
end local 21 end local 20 end local 19 end local 18 end local 16 151: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File top java.util.Iterator
StackMap stack:
aload 17
invokeinterface java.util.Iterator.hasNext:()Z
ifne 124
152: iconst_0
istore 16
start local 16 153: aload 15
invokestatic org.eclipse.jgit.internal.storage.file.FileSnapshot.save:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
astore 17
start local 17 154: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
aload 17
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.size:()J
invokevirtual org.eclipse.jgit.storage.pack.PackConfig.doWaitPreventRacyPack:(J)Z
ifeq 159
155: aload 17
invokevirtual org.eclipse.jgit.internal.storage.file.FileSnapshot.waitUntilNotRacy:()V
end local 17 156: goto 159
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int
StackMap stack: java.lang.InterruptedException
157: pop
158: iconst_1
istore 16
159: StackMap locals:
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
aload 15
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.openPack:(Ljava/io/File;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
astore 18
160: iload 16
ifeq 162
161: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
162: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int top org.eclipse.jgit.internal.storage.file.PackFile
StackMap stack:
aload 10
ifnull 163
aload 10
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
163: StackMap locals:
StackMap stack:
aload 6
ifnull 165
aload 6
invokevirtual java.io.File.exists:()Z
ifeq 165
164: aload 6
invokevirtual java.io.File.delete:()Z
pop
165: StackMap locals:
StackMap stack:
aload 7
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 25
goto 169
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int top org.eclipse.jgit.internal.storage.file.PackFile top top top top top top java.util.Iterator
StackMap stack:
166: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 24
start local 24 167: aload 24
invokevirtual java.io.File.exists:()Z
ifeq 169
168: aload 24
invokevirtual java.io.File.delete:()Z
pop
end local 24 169: StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 166
170: aload 18
areturn
171: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter java.lang.String java.io.File java.lang.String java.io.File java.io.File int
StackMap stack: java.lang.Throwable
astore 17
172: iload 16
ifeq 174
173: invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.interrupt:()V
174: StackMap locals: java.lang.Throwable
StackMap stack:
aload 17
athrow
end local 16 end local 15 end local 14 end local 13 end local 12 end local 11 StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map java.lang.Throwable java.lang.Throwable org.eclipse.jgit.internal.storage.pack.PackWriter
StackMap stack: java.lang.Throwable
175: astore 8
176: aload 10
ifnull 177
aload 10
invokevirtual org.eclipse.jgit.internal.storage.pack.PackWriter.close:()V
end local 10 StackMap locals:
StackMap stack:
177: aload 8
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
178: astore 9
aload 8
ifnonnull 179
aload 9
astore 8
goto 180
StackMap locals:
StackMap stack:
179: aload 8
aload 9
if_acmpeq 180
aload 8
aload 9
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
180: aload 8
athrow
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map
StackMap stack: java.lang.Throwable
181: astore 23
182: aload 6
ifnull 184
aload 6
invokevirtual java.io.File.exists:()Z
ifeq 184
183: aload 6
invokevirtual java.io.File.delete:()Z
pop
184: StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map top top top top top top top top top top top top top top top java.lang.Throwable
StackMap stack:
aload 7
invokeinterface java.util.Map.values:()Ljava/util/Collection;
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 25
goto 188
StackMap locals: org.eclipse.jgit.internal.storage.file.GC java.util.Set java.util.Set java.util.Set java.util.Set java.util.List java.io.File java.util.Map top top top top top top top top top top top top top top top java.lang.Throwable top java.util.Iterator
StackMap stack:
185: aload 25
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.io.File
astore 24
start local 24 186: aload 24
invokevirtual java.io.File.exists:()Z
ifeq 188
187: aload 24
invokevirtual java.io.File.delete:()Z
pop
end local 24 188: StackMap locals:
StackMap stack:
aload 25
invokeinterface java.util.Iterator.hasNext:()Z
ifne 185
189: aload 23
athrow
end local 7 end local 6 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 190 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 190 1 want Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;
0 190 2 have Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;
0 190 3 tags Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
0 190 4 tagTargets Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;
0 190 5 excludeObjects Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;
2 190 6 tmpPack Ljava/io/File;
3 190 7 tmpExts Ljava/util/Map<Lorg/eclipse/jgit/internal/storage/pack/PackExt;Ljava/io/File;>;
8 177 10 pw Lorg/eclipse/jgit/internal/storage/pack/PackWriter;
15 16 11 idx Lorg/eclipse/jgit/lib/ObjectIdSet;
30 175 11 id Ljava/lang/String;
31 175 12 packdir Ljava/io/File;
36 175 13 tmpBase Ljava/lang/String;
37 175 14 tmpIdx Ljava/io/File;
44 61 17 fos Ljava/io/FileOutputStream;
45 56 18 channel Ljava/nio/channels/FileChannel;
47 51 19 channelStream Ljava/io/OutputStream;
67 84 17 fos Ljava/io/FileOutputStream;
68 79 18 idxChannel Ljava/nio/channels/FileChannel;
70 74 19 idxStream Ljava/io/OutputStream;
90 119 15 tmpBitmapIdx Ljava/io/File;
98 115 18 fos Ljava/io/FileOutputStream;
99 110 19 idxChannel Ljava/nio/channels/FileChannel;
101 105 20 idxStream Ljava/io/OutputStream;
120 175 15 realPack Ljava/io/File;
125 151 16 tmpEntry Ljava/util/Map$Entry<Lorg/eclipse/jgit/internal/storage/pack/PackExt;Ljava/io/File;>;
126 151 18 tmpExt Ljava/io/File;
130 151 19 realExt Ljava/io/File;
135 151 20 e Ljava/io/IOException;
138 151 21 newExt Ljava/io/File;
143 145 22 e2 Ljava/io/IOException;
153 175 16 interrupted Z
154 156 17 snapshot Lorg/eclipse/jgit/internal/storage/file/FileSnapshot;
24 26 24 tmpExt Ljava/io/File;
167 169 24 tmpExt Ljava/io/File;
186 188 24 tmpExt Ljava/io/File;
Exception table:
from to target type
47 49 50 any
45 52 53 any
44 57 58 any
43 62 62 any
70 72 73 any
68 75 76 any
67 80 81 any
66 85 85 any
101 103 104 any
99 106 107 any
98 111 112 any
97 116 116 any
130 133 134 Class java.io.IOException
138 141 142 Class java.io.IOException
153 156 157 Class java.lang.InterruptedException
159 160 171 any
8 19 175 any
28 162 175 any
171 175 175 any
4 20 178 any
28 163 178 any
171 178 178 any
3 20 181 any
28 163 181 any
171 181 181 any
Exceptions:
throws java.io.IOException
Signature: (Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<+Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/Set<Lorg/eclipse/jgit/lib/ObjectId;>;Ljava/util/List<Lorg/eclipse/jgit/lib/ObjectIdSet;>;)Lorg/eclipse/jgit/internal/storage/file/PackFile;
RuntimeInvisibleParameterAnnotations:
0:
org.eclipse.jgit.annotations.NonNull()
1:
org.eclipse.jgit.annotations.NonNull()
2:
org.eclipse.jgit.annotations.NonNull()
3:
4:
MethodParameters:
Name Flags
want
have
tags
tagTargets
excludeObjects
private java.io.File nameFor(java.lang.String, java.lang.String);
descriptor: (Ljava/lang/String;Ljava/lang/String;)Ljava/io/File;
flags: (0x0002) ACC_PRIVATE
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPackDirectory:()Ljava/io/File;
astore 3
start local 3 1: new java.io.File
dup
aload 3
new java.lang.StringBuilder
dup
ldc "pack-"
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 2
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 2 1 name Ljava/lang/String;
0 2 2 ext Ljava/lang/String;
1 2 3 packdir Ljava/io/File;
MethodParameters:
Name Flags
name
ext
private void checkCancelled();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
invokeinterface org.eclipse.jgit.lib.ProgressMonitor.isCancelled:()Z
ifne 1
invokestatic java.lang.Thread.currentThread:()Ljava/lang/Thread;
invokevirtual java.lang.Thread.isInterrupted:()Z
ifeq 2
1: StackMap locals:
StackMap stack:
new org.eclipse.jgit.errors.CancelledException
dup
invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.operationCanceled:Ljava/lang/String;
invokespecial org.eclipse.jgit.errors.CancelledException.<init>:(Ljava/lang/String;)V
athrow
2: StackMap locals:
StackMap stack:
return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
Exceptions:
throws org.eclipse.jgit.errors.CancelledException
public org.eclipse.jgit.internal.storage.file.GC$RepoStatistics getStatistics();
descriptor: ()Lorg/eclipse/jgit/internal/storage/file/GC$RepoStatistics;
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=14, args_size=1
start local 0 0: new org.eclipse.jgit.internal.storage.file.GC$RepoStatistics
dup
invokespecial org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.<init>:()V
astore 1
start local 1 1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
astore 2
start local 2 2: aload 2
invokeinterface java.util.Collection.iterator:()Ljava/util/Iterator;
astore 4
goto 9
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection top java.util.Iterator
StackMap stack:
3: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.internal.storage.file.PackFile
astore 3
start local 3 4: aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedObjects:J
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getIndex:()Lorg/eclipse/jgit/internal/storage/file/PackIndex;
invokevirtual org.eclipse.jgit.internal.storage.file.PackIndex.getObjectCount:()J
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedObjects:J
5: aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackFiles:J
lconst_1
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackFiles:J
6: aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfPackedObjects:J
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getPackFile:()Ljava/io/File;
invokevirtual java.io.File.length:()J
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfPackedObjects:J
7: aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getBitmapIndex:()Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
ifnull 9
8: aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfBitmaps:J
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.PackFile.getBitmapIndex:()Lorg/eclipse/jgit/internal/storage/file/PackBitmapIndex;
invokevirtual org.eclipse.jgit.internal.storage.file.PackBitmapIndex.getBitmapCount:()I
i2l
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfBitmaps:J
end local 3 9: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 3
10: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
astore 3
start local 3 11: aload 3
invokevirtual java.io.File.list:()[Ljava/lang/String;
astore 4
start local 4 12: aload 4
ifnull 30
aload 4
arraylength
ifle 30
13: aload 4
dup
astore 8
arraylength
istore 7
iconst_0
istore 6
goto 29
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
14: aload 8
iload 6
aaload
astore 5
start local 5 15: aload 5
invokevirtual java.lang.String.length:()I
iconst_2
if_icmpeq 17
16: goto 28
17: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[]
StackMap stack:
new java.io.File
dup
aload 3
aload 5
invokespecial java.io.File.<init>:(Ljava/io/File;Ljava/lang/String;)V
invokevirtual java.io.File.listFiles:()[Ljava/io/File;
astore 9
start local 9 18: aload 9
ifnonnull 20
19: goto 28
20: StackMap locals: java.io.File[]
StackMap stack:
aload 9
dup
astore 13
arraylength
istore 12
iconst_0
istore 11
goto 27
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] top int int java.io.File[]
StackMap stack:
21: aload 13
iload 11
aaload
astore 10
start local 10 22: aload 10
invokevirtual java.io.File.getName:()Ljava/lang/String;
invokevirtual java.lang.String.length:()I
bipush 38
if_icmpeq 24
23: goto 26
24: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] java.io.File int int java.io.File[]
StackMap stack:
aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseObjects:J
lconst_1
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseObjects:J
25: aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfLooseObjects:J
aload 10
invokevirtual java.io.File.length:()J
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.sizeOfLooseObjects:J
end local 10 26: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] java.lang.String int int java.lang.String[] java.io.File[] top int int java.io.File[]
StackMap stack:
iinc 11 1
StackMap locals:
StackMap stack:
27: iload 11
iload 12
if_icmplt 21
end local 9 end local 5 28: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] top int int java.lang.String[]
StackMap stack:
iinc 6 1
StackMap locals:
StackMap stack:
29: iload 6
iload 7
if_icmplt 14
30: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[]
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getRefDatabase:()Lorg/eclipse/jgit/lib/RefDatabase;
astore 5
start local 5 31: aload 5
invokevirtual org.eclipse.jgit.lib.RefDatabase.getRefs:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 7
goto 38
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
StackMap stack:
32: aload 7
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast org.eclipse.jgit.lib.Ref
astore 6
start local 6 33: aload 6
invokeinterface org.eclipse.jgit.lib.Ref.getStorage:()Lorg/eclipse/jgit/lib/Ref$Storage;
astore 8
start local 8 34: aload 8
getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE:Lorg/eclipse/jgit/lib/Ref$Storage;
if_acmpeq 35
aload 8
getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE_PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
if_acmpne 36
35: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase org.eclipse.jgit.lib.Ref java.util.Iterator org.eclipse.jgit.lib.Ref$Storage
StackMap stack:
aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseRefs:J
lconst_1
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfLooseRefs:J
36: StackMap locals:
StackMap stack:
aload 8
getstatic org.eclipse.jgit.lib.Ref$Storage.PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
if_acmpeq 37
aload 8
getstatic org.eclipse.jgit.lib.Ref$Storage.LOOSE_PACKED:Lorg/eclipse/jgit/lib/Ref$Storage;
if_acmpne 38
37: StackMap locals:
StackMap stack:
aload 1
dup
getfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedRefs:J
lconst_1
ladd
putfield org.eclipse.jgit.internal.storage.file.GC$RepoStatistics.numberOfPackedRefs:J
end local 8 end local 6 38: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GC$RepoStatistics java.util.Collection java.io.File java.lang.String[] org.eclipse.jgit.lib.RefDatabase top java.util.Iterator
StackMap stack:
aload 7
invokeinterface java.util.Iterator.hasNext:()Z
ifne 32
39: aload 1
areturn
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 40 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 40 1 ret Lorg/eclipse/jgit/internal/storage/file/GC$RepoStatistics;
2 40 2 packs Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
4 9 3 f Lorg/eclipse/jgit/internal/storage/file/PackFile;
11 40 3 objDir Ljava/io/File;
12 40 4 fanout [Ljava/lang/String;
15 28 5 d Ljava/lang/String;
18 28 9 entries [Ljava/io/File;
22 26 10 f Ljava/io/File;
31 40 5 refDb Lorg/eclipse/jgit/lib/RefDatabase;
33 38 6 r Lorg/eclipse/jgit/lib/Ref;
34 38 8 storage Lorg/eclipse/jgit/lib/Ref$Storage;
Exceptions:
throws java.io.IOException
public org.eclipse.jgit.internal.storage.file.GC setProgressMonitor(org.eclipse.jgit.lib.ProgressMonitor);
descriptor: (Lorg/eclipse/jgit/lib/ProgressMonitor;)Lorg/eclipse/jgit/internal/storage/file/GC;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
ifnonnull 1
getstatic org.eclipse.jgit.lib.NullProgressMonitor.INSTANCE:Lorg/eclipse/jgit/lib/NullProgressMonitor;
goto 2
StackMap locals:
StackMap stack: org.eclipse.jgit.internal.storage.file.GC
1: aload 1
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.ProgressMonitor
StackMap stack: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.lib.ProgressMonitor
2: putfield org.eclipse.jgit.internal.storage.file.GC.pm:Lorg/eclipse/jgit/lib/ProgressMonitor;
3: aload 0
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 4 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 4 1 pm Lorg/eclipse/jgit/lib/ProgressMonitor;
MethodParameters:
Name Flags
pm
public void setExpireAgeMillis(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
1: aload 0
aconst_null
putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 3 1 expireAgeMillis J
MethodParameters:
Name Flags
expireAgeMillis
public void setPackExpireAgeMillis(long);
descriptor: (J)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=2
start local 0 start local 1 0: aload 0
lload 1
putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
1: aload 0
aconst_null
putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 3 1 packExpireAgeMillis J
MethodParameters:
Name Flags
packExpireAgeMillis
public void setPackConfig(org.eclipse.jgit.storage.pack.PackConfig);
descriptor: (Lorg/eclipse/jgit/storage/pack/PackConfig;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.GC.pconfig:Lorg/eclipse/jgit/storage/pack/PackConfig;
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 2 1 pconfig Lorg/eclipse/jgit/storage/pack/PackConfig;
RuntimeInvisibleParameterAnnotations:
0:
org.eclipse.jgit.annotations.NonNull()
MethodParameters:
Name Flags
pconfig
public void setExpire(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.GC.expire:Ljava/util/Date;
1: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.expireAgeMillis:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 3 1 expire Ljava/util/Date;
MethodParameters:
Name Flags
expire
public void setPackExpire(java.util.Date);
descriptor: (Ljava/util/Date;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
putfield org.eclipse.jgit.internal.storage.file.GC.packExpire:Ljava/util/Date;
1: aload 0
ldc -1
putfield org.eclipse.jgit.internal.storage.file.GC.packExpireAgeMillis:J
2: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 3 1 packExpire Ljava/util/Date;
MethodParameters:
Name Flags
packExpire
public void setAuto(boolean);
descriptor: (Z)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 2 1 auto Z
MethodParameters:
Name Flags
auto
void setBackground(boolean);
descriptor: (Z)V
flags: (0x0000)
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
iload 1
putfield org.eclipse.jgit.internal.storage.file.GC.background:Z
1: return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 2 1 background Z
MethodParameters:
Name Flags
background
private boolean needGc();
descriptor: ()Z
flags: (0x0002) ACC_PRIVATE
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyPacks:()Z
ifeq 3
1: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.addRepackAllOption:()V
2: goto 4
3: StackMap locals:
StackMap stack:
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyLooseObjects:()Z
ireturn
4: StackMap locals:
StackMap stack:
iconst_1
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
private void addRepackAllOption();
descriptor: ()V
flags: (0x0002) ACC_PRIVATE
Code:
stack=0, locals=1, args_size=1
start local 0 0: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
boolean tooManyPacks();
descriptor: ()Z
flags: (0x0000)
Code:
stack=4, locals=2, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
1: ldc "gc"
2: ldc "autopacklimit"
3: bipush 50
4: invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getInt:(Ljava/lang/String;Ljava/lang/String;I)I
istore 1
start local 1 5: iload 1
ifgt 7
6: iconst_0
ireturn
7: StackMap locals: int
StackMap stack:
aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectDatabase:()Lorg/eclipse/jgit/internal/storage/file/ObjectDirectory;
invokevirtual org.eclipse.jgit.internal.storage.file.ObjectDirectory.getPacks:()Ljava/util/Collection;
invokeinterface java.util.Collection.size:()I
iload 1
iconst_1
iadd
if_icmple 8
iconst_1
ireturn
StackMap locals:
StackMap stack:
8: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
5 9 1 autopacklimit I
boolean tooManyLooseObjects();
descriptor: ()Z
flags: (0x0000)
Code:
stack=3, locals=9, args_size=1
start local 0 0: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.getLooseObjectLimit:()I
istore 1
start local 1 1: iload 1
ifgt 3
2: iconst_0
ireturn
3: StackMap locals: int
StackMap stack:
iconst_0
istore 2
start local 2 4: iload 1
sipush 255
iadd
sipush 256
idiv
istore 3
start local 3 5: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getObjectsDirectory:()Ljava/io/File;
invokevirtual java.io.File.toPath:()Ljava/nio/file/Path;
ldc "17"
invokeinterface java.nio.file.Path.resolve:(Ljava/lang/String;)Ljava/nio/file/Path;
astore 4
start local 4 6: aload 4
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.exists:()Z
ifne 8
7: iconst_0
ireturn
8: StackMap locals: int int java.nio.file.Path
StackMap stack:
aconst_null
astore 5
aconst_null
astore 6
9: aload 4
invokedynamic accept()Ljava/nio/file/DirectoryStream$Filter;
Bootstrap: invokestatic java.lang.invoke.LambdaMetafactory.metafactory:(Ljava/lang/invoke/MethodHandles$Lookup;Ljava/lang/String;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodType;Ljava/lang/invoke/MethodHandle;Ljava/lang/invoke/MethodType;)Ljava/lang/invoke/CallSite;
Method arguments:
(Ljava/lang/Object;)Z
org/eclipse/jgit/internal/storage/file/GC.lambda$10(Ljava/nio/file/Path;)Z (6)
(Ljava/nio/file/Path;)Z
invokestatic java.nio.file.Files.newDirectoryStream:(Ljava/nio/file/Path;Ljava/nio/file/DirectoryStream$Filter;)Ljava/nio/file/DirectoryStream;
astore 7
start local 7 10: aload 7
invokeinterface java.nio.file.DirectoryStream.iterator:()Ljava/util/Iterator;
astore 8
start local 8 11: goto 17
12: StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream java.util.Iterator
StackMap stack:
iinc 2 1
iload 2
iload 3
if_icmple 15
13: aload 7
ifnull 14
aload 7
invokeinterface java.nio.file.DirectoryStream.close:()V
14: StackMap locals:
StackMap stack:
iconst_1
ireturn
15: StackMap locals:
StackMap stack:
aload 8
16: invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
pop
17: StackMap locals:
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 12
end local 8 18: aload 7
ifnull 26
aload 7
invokeinterface java.nio.file.DirectoryStream.close:()V
goto 26
StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path java.lang.Throwable java.lang.Throwable java.nio.file.DirectoryStream
StackMap stack: java.lang.Throwable
19: astore 5
aload 7
ifnull 20
aload 7
invokeinterface java.nio.file.DirectoryStream.close:()V
end local 7 StackMap locals:
StackMap stack:
20: aload 5
athrow
StackMap locals:
StackMap stack: java.lang.Throwable
21: astore 6
aload 5
ifnonnull 22
aload 6
astore 5
goto 23
StackMap locals:
StackMap stack:
22: aload 5
aload 6
if_acmpeq 23
aload 5
aload 6
invokevirtual java.lang.Throwable.addSuppressed:(Ljava/lang/Throwable;)V
StackMap locals:
StackMap stack:
23: aload 5
athrow
StackMap locals: org.eclipse.jgit.internal.storage.file.GC int int int java.nio.file.Path
StackMap stack: java.io.IOException
24: astore 5
start local 5 25: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 5
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 5
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 5 26: StackMap locals:
StackMap stack:
iconst_0
ireturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 27 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 27 1 auto I
4 27 2 n I
5 27 3 threshold I
6 27 4 dir Ljava/nio/file/Path;
10 20 7 stream Ljava/nio/file/DirectoryStream<Ljava/nio/file/Path;>;
11 18 8 iter Ljava/util/Iterator<Ljava/nio/file/Path;>;
25 26 5 e Ljava/io/IOException;
Exception table:
from to target type
10 13 19 any
15 18 19 any
9 14 21 any
15 21 21 any
8 14 24 Class java.io.IOException
15 24 24 Class java.io.IOException
private int getLooseObjectLimit();
descriptor: ()I
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=1, args_size=1
start local 0 0: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.repo:Lorg/eclipse/jgit/internal/storage/file/FileRepository;
invokevirtual org.eclipse.jgit.internal.storage.file.FileRepository.getConfig:()Lorg/eclipse/jgit/storage/file/FileBasedConfig;
ldc "gc"
1: ldc "auto"
sipush 6700
2: invokevirtual org.eclipse.jgit.storage.file.FileBasedConfig.getInt:(Ljava/lang/String;Ljava/lang/String;I)I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 3 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
private java.util.Collection lambda$0(org.eclipse.jgit.internal.storage.file.GcLog);
descriptor: (Lorg/eclipse/jgit/internal/storage/file/GcLog;)Ljava/util/Collection;
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=4, locals=6, args_size=2
start local 0 0: aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.doGc:()Ljava/util/Collection;
astore 2
start local 2 1: aload 0
getfield org.eclipse.jgit.internal.storage.file.GC.automatic:Z
ifeq 5
aload 0
invokevirtual org.eclipse.jgit.internal.storage.file.GC.tooManyLooseObjects:()Z
ifeq 5
2: invokestatic org.eclipse.jgit.internal.JGitText.get:()Lorg/eclipse/jgit/internal/JGitText;
getfield org.eclipse.jgit.internal.JGitText.gcTooManyUnpruned:Ljava/lang/String;
astore 3
start local 3 3: aload 1
aload 3
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
4: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.commit:()Z
pop
end local 3 5: StackMap locals: java.util.Collection
StackMap stack:
aload 2
astore 5
6: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
7: aload 5
areturn
end local 2 8: StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GcLog
StackMap stack: java.lang.Exception
astore 2
start local 2 9: aload 1
aload 2
invokevirtual java.lang.Exception.getMessage:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
10: new java.io.StringWriter
dup
invokespecial java.io.StringWriter.<init>:()V
astore 3
start local 3 11: aload 2
new java.io.PrintWriter
dup
aload 3
invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
invokevirtual java.lang.Exception.printStackTrace:(Ljava/io/PrintWriter;)V
12: aload 1
aload 3
invokevirtual java.io.StringWriter.toString:()Ljava/lang/String;
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.write:(Ljava/lang/String;)V
13: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.commit:()Z
pop
end local 3 14: goto 18
StackMap locals: org.eclipse.jgit.internal.storage.file.GC org.eclipse.jgit.internal.storage.file.GcLog java.lang.Exception
StackMap stack: java.io.IOException
15: astore 3
start local 3 16: aload 3
aload 2
invokevirtual java.io.IOException.addSuppressed:(Ljava/lang/Throwable;)V
17: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 3
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 3
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 3 end local 2 18: StackMap locals:
StackMap stack:
aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
goto 22
19: StackMap locals:
StackMap stack: java.lang.Throwable
astore 4
20: aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GcLog.unlock:()V
21: aload 4
athrow
22: StackMap locals:
StackMap stack:
invokestatic java.util.Collections.emptyList:()Ljava/util/List;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 23 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
1 8 2 newPacks Ljava/util/Collection<Lorg/eclipse/jgit/internal/storage/file/PackFile;>;
3 5 3 message Ljava/lang/String;
9 18 2 e Ljava/lang/Exception;
11 14 3 sw Ljava/io/StringWriter;
16 18 3 e2 Ljava/io/IOException;
Exception table:
from to target type
0 6 8 Class java.io.IOException
0 6 8 Class java.text.ParseException
9 14 15 Class java.io.IOException
0 6 19 any
8 18 19 any
Exceptions:
throws java.lang.Exception
private static boolean lambda$11(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.isDirectory:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Z
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 arg0 Ljava/nio/file/Path;
private boolean lambda$2(java.time.Instant, java.nio.file.Path);
descriptor: (Ljava/time/Instant;Ljava/nio/file/Path;)Z
flags: (0x1002) ACC_PRIVATE, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 2 0: aload 0
aload 2
aload 1
invokevirtual org.eclipse.jgit.internal.storage.file.GC.canBeSafelyDeleted:(Ljava/nio/file/Path;Ljava/time/Instant;)Z
ireturn
end local 2 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Lorg/eclipse/jgit/internal/storage/file/GC;
0 1 2 path Ljava/nio/file/Path;
private static java.lang.String lambda$6(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Ljava/lang/String;
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 path Ljava/nio/file/Path;
private static boolean lambda$7(java.lang.String);
descriptor: (Ljava/lang/String;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=1, args_size=1
start local 0 0: aload 0
getstatic org.eclipse.jgit.internal.storage.file.GC.PACK_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
1: aload 0
getstatic org.eclipse.jgit.internal.storage.file.GC.BITMAP_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
2: aload 0
getstatic org.eclipse.jgit.internal.storage.file.GC.INDEX_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
3: aload 0
getstatic org.eclipse.jgit.internal.storage.file.GC.KEEP_EXT:Ljava/lang/String;
invokevirtual java.lang.String.endsWith:(Ljava/lang/String;)Z
ifne 4
iconst_0
goto 5
StackMap locals:
StackMap stack:
4: iconst_1
StackMap locals:
StackMap stack: int
5: ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 name Ljava/lang/String;
private static void lambda$8(java.time.Instant, java.nio.file.Path);
descriptor: (Ljava/time/Instant;Ljava/nio/file/Path;)V
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=3, locals=3, args_size=2
start local 1 0: aload 1
iconst_0
anewarray java.nio.file.LinkOption
invokestatic java.nio.file.Files.getLastModifiedTime:(Ljava/nio/file/Path;[Ljava/nio/file/LinkOption;)Ljava/nio/file/attribute/FileTime;
1: invokevirtual java.nio.file.attribute.FileTime.toInstant:()Ljava/time/Instant;
2: astore 2
start local 2 3: aload 2
aload 0
invokevirtual java.time.Instant.isBefore:(Ljava/time/Instant;)Z
ifeq 8
4: aload 1
invokestatic java.nio.file.Files.deleteIfExists:(Ljava/nio/file/Path;)Z
pop
end local 2 5: goto 8
StackMap locals:
StackMap stack: java.io.IOException
6: astore 2
start local 2 7: getstatic org.eclipse.jgit.internal.storage.file.GC.LOG:Lorg/slf4j/Logger;
aload 2
invokevirtual java.io.IOException.getMessage:()Ljava/lang/String;
aload 2
invokeinterface org.slf4j.Logger.error:(Ljava/lang/String;Ljava/lang/Throwable;)V
end local 2 8: StackMap locals:
StackMap stack:
return
end local 1 LocalVariableTable:
Start End Slot Name Signature
0 9 1 t Ljava/nio/file/Path;
3 5 2 lastModified Ljava/time/Instant;
7 8 2 e Ljava/io/IOException;
Exception table:
from to target type
0 5 6 Class java.io.IOException
private static int lambda$9(org.eclipse.jgit.internal.storage.pack.PackExt, org.eclipse.jgit.internal.storage.pack.PackExt);
descriptor: (Lorg/eclipse/jgit/internal/storage/pack/PackExt;Lorg/eclipse/jgit/internal/storage/pack/PackExt;)I
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
aload 1
if_acmpne 2
1: iconst_0
ireturn
2: StackMap locals:
StackMap stack:
aload 0
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
if_acmpne 4
3: iconst_1
ireturn
4: StackMap locals:
StackMap stack:
aload 1
getstatic org.eclipse.jgit.internal.storage.pack.PackExt.INDEX:Lorg/eclipse/jgit/internal/storage/pack/PackExt;
if_acmpne 6
5: iconst_m1
ireturn
6: StackMap locals:
StackMap stack:
aload 0
invokevirtual java.lang.Object.hashCode:()I
aload 1
invokevirtual java.lang.Object.hashCode:()I
isub
invokestatic java.lang.Integer.signum:(I)I
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 o1 Lorg/eclipse/jgit/internal/storage/pack/PackExt;
0 7 1 o2 Lorg/eclipse/jgit/internal/storage/pack/PackExt;
private static boolean lambda$10(java.nio.file.Path);
descriptor: (Ljava/nio/file/Path;)Z
flags: (0x100a) ACC_PRIVATE, ACC_STATIC, ACC_SYNTHETIC
Code:
stack=2, locals=2, args_size=1
start local 0 0: aload 0
invokeinterface java.nio.file.Path.getFileName:()Ljava/nio/file/Path;
astore 1
start local 1 1: aload 0
invokeinterface java.nio.file.Path.toFile:()Ljava/io/File;
invokevirtual java.io.File.isFile:()Z
ifeq 5
aload 1
ifnull 5
2: getstatic org.eclipse.jgit.internal.storage.file.GC.PATTERN_LOOSE_OBJECT:Ljava/util/regex/Pattern;
aload 1
invokeinterface java.nio.file.Path.toString:()Ljava/lang/String;
invokevirtual java.util.regex.Pattern.matcher:(Ljava/lang/CharSequence;)Ljava/util/regex/Matcher;
3: invokevirtual java.util.regex.Matcher.matches:()Z
ifeq 5
4: iconst_1
ireturn
StackMap locals: java.nio.file.Path
StackMap stack:
5: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 file Ljava/nio/file/Path;
1 6 1 fileName Ljava/nio/file/Path;
Exceptions:
throws java.io.IOException
}
SourceFile: "GC.java"
NestMembers:
org.eclipse.jgit.internal.storage.file.GC$RepoStatistics
InnerClasses:
public final Lookup = java.lang.invoke.MethodHandles$Lookup of java.lang.invoke.MethodHandles
public abstract Filter = java.nio.file.DirectoryStream$Filter of java.nio.file.DirectoryStream
public abstract Entry = java.util.Map$Entry of java.util.Map
public RepoStatistics = org.eclipse.jgit.internal.storage.file.GC$RepoStatistics of org.eclipse.jgit.internal.storage.file.GC
public MutableEntry = org.eclipse.jgit.internal.storage.file.PackIndex$MutableEntry of org.eclipse.jgit.internal.storage.file.PackIndex
public final Storage = org.eclipse.jgit.lib.Ref$Storage of org.eclipse.jgit.lib.Ref