]> source.dussan.org Git - jgit.git/commitdiff
Micro-optimize DeltaWindow primary loop 02/11802/1
authorShawn Pearce <sop@google.com>
Thu, 11 Apr 2013 04:27:54 +0000 (21:27 -0700)
committerShawn Pearce <sop@google.com>
Thu, 11 Apr 2013 08:17:28 +0000 (01:17 -0700)
javac and the JIT are more likely to understand a boolean being
used as a branch conditional than comparing int against 0 and 1.
Rewrite NEXT_RES and NEXT_SRC constants to be booleans so the
code is clarified for the JIT.

Change-Id: I1bdd8b587a69572975a84609c779b9ebf877b85d

org.eclipse.jgit/src/org/eclipse/jgit/internal/storage/pack/DeltaWindow.java

index 298be02cc7bd8d06e05973b9e77e2b2e0a7ba8fd..3ff0a6c1cb51051ae851bf0479000530136bbdda 100644 (file)
@@ -57,9 +57,8 @@ import org.eclipse.jgit.storage.pack.PackConfig;
 import org.eclipse.jgit.util.TemporaryBuffer;
 
 final class DeltaWindow {
-       private static final int NEXT_RES = 0;
-
-       private static final int NEXT_SRC = 1;
+       private static final boolean NEXT_RES = false;
+       private static final boolean NEXT_SRC = true;
 
        private final PackConfig config;
        private final DeltaCache deltaCache;
@@ -236,10 +235,10 @@ final class DeltaWindow {
                        DeltaWindowEntry src = window[srcSlot];
                        if (src.empty())
                                break;
-                       if (delta(src, srcSlot) == NEXT_RES) {
-                               bestDelta = null;
-                               return;
-                       }
+                       if (delta(src, srcSlot) /* == NEXT_SRC */)
+                               continue;
+                       bestDelta = null;
+                       return;
                }
 
                // We couldn't find a suitable delta for this object, but it may
@@ -286,7 +285,7 @@ final class DeltaWindow {
                keepInWindow();
        }
 
-       private int delta(final DeltaWindowEntry src, final int srcSlot)
+       private boolean delta(final DeltaWindowEntry src, final int srcSlot)
                        throws IOException {
                // Objects must use only the same type as their delta base.
                // If we are looking at something where that isn't true we