]> source.dussan.org Git - jgit.git/commitdiff
Discard the uncompressed delta as soon as its compressed 41/1141/1
authorShawn O. Pearce <spearce@spearce.org>
Fri, 16 Jul 2010 17:41:09 +0000 (10:41 -0700)
committerShawn O. Pearce <spearce@spearce.org>
Fri, 16 Jul 2010 17:41:09 +0000 (10:41 -0700)
The DeltaCache will most likely need to copy the compressed delta
into a new buffer in order to compact away the wasted space at the
end caused by over allocation.  Since we don't need the uncompressed
format anymore, null out our only reference to it so the GC can
reclaim this memory if it needs to perform a collection in order
to satisfy the cache's allocation attempt.

Change-Id: I50403cfd2e3001b093f93a503cccf7adab43cc9d
Signed-off-by: Shawn O. Pearce <spearce@spearce.org>
org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java

index ee865fbe5a569b8d70e5409b821855d152fc17e4..6521e6d3ec7196160a684b3e66f192937802a476 100644 (file)
@@ -330,6 +330,7 @@ class DeltaWindow {
 
                                ZipStream zs = new ZipStream(deflater(), zbuf);
                                bestDelta.writeTo(zs, null);
+                               bestDelta = null;
                                int len = zs.finish();
 
                                resObj.setCachedDelta(deltaCache.cache(zbuf, len, rawsz));