This goes on top of my series from yesterday, as the first part of it covers some minor corner-case bugs in the WindowCache rewrite. The last patch in this series maybe should be held off for a while as it deletes ObjectIdMap. I'm inclined to just kill it off now, as after 11/13, nobody uses it. Shawn O. Pearce (13): Fix performance problem recently introduced to DeltaPackedObjectLoader Don't use ByteWindows when checking pack file headers/footers Rewrite WindowCache to be easier to follow and maintain Document the IllegalArgumentException thrown by WindowCache.reconfigure Create the new WindowCache before clearing the old one Better handle concurrent reads during a WindowCache reconfiguration Clear dead OffsetCache cells when clearing a reference Work around Sun JVM bug "Cleared SoftReference not added to queue" Replace inefficient new String(String) constructor to silence FindBugs Replace inefficient new Long(long) constructor to silence FindBugs Change IndexPack to use ObjectIdSubclassMap instead of ObjectIdMap Use getCachedBytes in IndexPack to avoid an unnecessary copy Remove ObjectIdMap from the JGit library .../org/spearce/jgit/lib/ConcurrentRepackTest.java | 4 - .../tst/org/spearce/jgit/lib/ObjectIdMapTest.java | 103 ---- .../src/org/spearce/jgit/lib/ByteArrayWindow.java | 57 +-- .../src/org/spearce/jgit/lib/ByteBufferWindow.java | 41 +- .../src/org/spearce/jgit/lib/ByteWindow.java | 91 +--- .../spearce/jgit/lib/DeltaPackedObjectLoader.java | 1 + .../src/org/spearce/jgit/lib/ObjectIdMap.java | 201 -------- .../org/spearce/jgit/lib/ObjectIdSubclassMap.java | 31 ++- .../src/org/spearce/jgit/lib/OffsetCache.java | 536 ++++++++++++++++++++ .../src/org/spearce/jgit/lib/PackFile.java | 128 +++-- .../org/spearce/jgit/lib/PackedObjectLoader.java | 4 +- .../src/org/spearce/jgit/lib/RefDatabase.java | 3 +- .../src/org/spearce/jgit/lib/WindowCache.java | 417 ++++------------ .../src/org/spearce/jgit/lib/WindowCursor.java | 42 +- .../src/org/spearce/jgit/transport/IndexPack.java | 129 +++-- .../src/org/spearce/jgit/transport/LongMap.java | 152 ++++++ org.spearce.jgit/src/org/spearce/jgit/util/NB.java | 32 ++ 17 files changed, 1088 insertions(+), 884 deletions(-) delete mode 100644 org.spearce.jgit.test/tst/org/spearce/jgit/lib/ObjectIdMapTest.java delete mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/ObjectIdMap.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/lib/OffsetCache.java create mode 100644 org.spearce.jgit/src/org/spearce/jgit/transport/LongMap.java -- To unsubscribe from this list: send the line "unsubscribe git" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html