You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by us...@apache.org on 2012/03/31 23:33:19 UTC

svn commit: r1307910 - in /lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store: BufferedIndexInput.java ByteArrayDataInput.java DataInput.java

Author: uschindler
Date: Sat Mar 31 21:33:19 2012
New Revision: 1307910

URL: http://svn.apache.org/viewvc?rev=1307910&view=rev
Log:
LUCENE-3738: Simplification of unrolled vint code

Modified:
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
    lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/DataInput.java

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java?rev=1307910&r1=1307909&r2=1307910&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/BufferedIndexInput.java Sat Mar 31 21:33:19 2012
@@ -199,17 +199,17 @@ public abstract class BufferedIndexInput
   public final int readVInt() throws IOException {
     if (5 <= (bufferLength-bufferPosition)) {
       byte b = buffer[bufferPosition++];
+      if (b >= 0) return b;
       int i = b & 0x7F;
-      if ((b & 0x80) == 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7F) << 7;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7F) << 14;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7F) << 21;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       // Warning: the next ands use 0x0F / 0xF0 - beware copy/paste errors:
       i |= (b & 0x0F) << 28;
@@ -224,32 +224,32 @@ public abstract class BufferedIndexInput
   public final long readVLong() throws IOException {
     if (9 <= bufferLength-bufferPosition) {
       byte b = buffer[bufferPosition++];
+      if (b >= 0) return b;
       long i = b & 0x7FL;
-      if ((b & 0x80) == 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 7;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 14;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 21;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 28;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 35;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 42;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 49;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       b = buffer[bufferPosition++];
       i |= (b & 0x7FL) << 56;
-      if ((b & 0x80) == 0) return i;
+      if (b >= 0) return i;
       throw new IOException("Invalid vLong detected (negative values disallowed)");
     } else {
       return super.readVLong();

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java?rev=1307910&r1=1307909&r2=1307910&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/ByteArrayDataInput.java Sat Mar 31 21:33:19 2012
@@ -102,17 +102,17 @@ public final class ByteArrayDataInput ex
   @Override
   public int readVInt() {
     byte b = bytes[pos++];
+    if (b >= 0) return b;
     int i = b & 0x7F;
-    if ((b & 0x80) == 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7F) << 7;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7F) << 14;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7F) << 21;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     // Warning: the next ands use 0x0F / 0xF0 - beware copy/paste errors:
     i |= (b & 0x0F) << 28;
@@ -123,32 +123,32 @@ public final class ByteArrayDataInput ex
   @Override
   public long readVLong() {
     byte b = bytes[pos++];
+    if (b >= 0) return b;
     long i = b & 0x7FL;
-    if ((b & 0x80) == 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 7;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 14;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 21;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 28;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 35;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 42;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 49;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = bytes[pos++];
     i |= (b & 0x7FL) << 56;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     throw new RuntimeException("Invalid vLong detected (negative values disallowed)");
   }
 

Modified: lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/DataInput.java
URL: http://svn.apache.org/viewvc/lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/DataInput.java?rev=1307910&r1=1307909&r2=1307910&view=diff
==============================================================================
--- lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/DataInput.java (original)
+++ lucene/dev/trunk/lucene/core/src/java/org/apache/lucene/store/DataInput.java Sat Mar 31 21:33:19 2012
@@ -94,17 +94,17 @@ public abstract class DataInput implemen
     return i;
     */
     byte b = readByte();
+    if (b >= 0) return b;
     int i = b & 0x7F;
-    if ((b & 0x80) == 0) return i;
     b = readByte();
     i |= (b & 0x7F) << 7;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7F) << 14;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7F) << 21;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     // Warning: the next ands use 0x0F / 0xF0 - beware copy/paste errors:
     i |= (b & 0x0F) << 28;
@@ -135,32 +135,32 @@ public abstract class DataInput implemen
     return i;
     */
     byte b = readByte();
+    if (b >= 0) return b;
     long i = b & 0x7FL;
-    if ((b & 0x80) == 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 7;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 14;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 21;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 28;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 35;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 42;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 49;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     b = readByte();
     i |= (b & 0x7FL) << 56;
-    if ((b & 0x80) == 0) return i;
+    if (b >= 0) return i;
     throw new IOException("Invalid vLong detected (negative values disallowed)");
   }