diff options
author | Shawn O. Pearce <spearce@spearce.org> | 2010-07-16 10:41:09 -0700 |
---|---|---|
committer | Shawn O. Pearce <spearce@spearce.org> | 2010-07-16 10:41:09 -0700 |
commit | 12fe0f2d1eb18aab2964532e99d11d4311d558eb (patch) | |
tree | 63ee1dab4bf003b100c15459dd63f10e43cea5d2 | |
parent | 97341949171dcdd7d6c30f3eef89ee2c63d8eb34 (diff) | |
download | jgit-12fe0f2d1eb18aab2964532e99d11d4311d558eb.tar.gz jgit-12fe0f2d1eb18aab2964532e99d11d4311d558eb.zip |
Discard the uncompressed delta as soon as its compressed
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>
-rw-r--r-- | org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java index ee865fbe5a..6521e6d3ec 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/storage/pack/DeltaWindow.java @@ -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)); |