From 9c4d42e94dbf199a9cef46a4b9286552c8633f4f Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" <spearce@spearce.org> Date: Sat, 15 May 2010 16:18:44 -0700 Subject: [PATCH] Factor out duplicate Inflater setup in WindowCursor Since we use this code twice, pull it into a private method. Let the compiler/JIT worry about whether or not this logic should be inlined into the call sites. Change-Id: Ia44fb01e0328485bcdfd7af96835d62b227a0fb1 Signed-off-by: Shawn O. Pearce <spearce@spearce.org> --- .../src/org/eclipse/jgit/lib/WindowCursor.java | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java b/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java index 93e2a0242..968c92e5c 100644 --- a/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java +++ b/org.eclipse.jgit/src/org/eclipse/jgit/lib/WindowCursor.java @@ -116,10 +116,7 @@ int copy(final PackFile pack, long position, final byte[] dstbuf, */ int inflate(final PackFile pack, long position, final byte[] dstbuf, int dstoff) throws IOException, DataFormatException { - if (inf == null) - inf = InflaterCache.get(); - else - inf.reset(); + prepareInflater(); for (;;) { pin(pack, position); dstoff = window.inflate(position, dstbuf, dstoff, inf); @@ -131,10 +128,7 @@ int inflate(final PackFile pack, long position, final byte[] dstbuf, void inflateVerify(final PackFile pack, long position) throws IOException, DataFormatException { - if (inf == null) - inf = InflaterCache.get(); - else - inf.reset(); + prepareInflater(); for (;;) { pin(pack, position); window.inflateVerify(position, inf); @@ -144,6 +138,13 @@ void inflateVerify(final PackFile pack, long position) } } + private void prepareInflater() { + if (inf == null) + inf = InflaterCache.get(); + else + inf.reset(); + } + private void pin(final PackFile pack, final long position) throws IOException { final ByteWindow w = window; -- GitLab