[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Bug classpath/27888] Arrays.binarySearch broken for large arrays
From: |
cvs-commit at developer dot classpath dot org |
Subject: |
[Bug classpath/27888] Arrays.binarySearch broken for large arrays |
Date: |
9 Jun 2006 17:07:07 -0000 |
------- Comment #6 from cvs-commit at developer dot classpath dot org
2006-06-09 17:07 -------
Subject: Bug 27888
CVSROOT: /cvsroot/classpath
Module name: classpath
Changes by: Tom Tromey <tromey> 06/06/09 17:02:32
Modified files:
. : ChangeLog
javax/swing/text: GapContent.java
java/util : Collections.java Arrays.java
Log message:
2006-06-09 Anthony Green <address@hidden>
PR classpath/27888:
* javax/swing/text/GapContent.java (binarySearch): Use unsigned
shift.
* java/util/Collections.java (binarySearch): Use unsigned
shift.
* java/util/Arrays.java (binarySearch): Use unsigned shift.
CVSWeb URLs:
http://cvs.savannah.gnu.org/viewcvs/classpath/ChangeLog?cvsroot=classpath&r1=1.7742&r2=1.7743
http://cvs.savannah.gnu.org/viewcvs/classpath/javax/swing/text/GapContent.java?cvsroot=classpath&r1=1.49&r2=1.50
http://cvs.savannah.gnu.org/viewcvs/classpath/java/util/Collections.java?cvsroot=classpath&r1=1.41&r2=1.42
http://cvs.savannah.gnu.org/viewcvs/classpath/java/util/Arrays.java?cvsroot=classpath&r1=1.28&r2=1.29
Patches:
Index: ChangeLog
===================================================================
RCS file: /cvsroot/classpath/classpath/ChangeLog,v
retrieving revision 1.7742
retrieving revision 1.7743
diff -u -b -r1.7742 -r1.7743
--- ChangeLog 9 Jun 2006 16:44:55 -0000 1.7742
+++ ChangeLog 9 Jun 2006 17:02:31 -0000 1.7743
@@ -1,3 +1,10 @@
+2006-06-09 Anthony Green <address@hidden>
+
+ PR classpath/27888:
+ * javax/swing/text/GapContent.java (binarySearch): Use unsigned shift.
+ * java/util/Collections.java (binarySearch): Use unsigned shift.
+ * java/util/Arrays.java (binarySearch): Use unsigned shift.
+
2006-06-09 Tom Tromey <address@hidden>
* tools/.cvsignore: Added .deps.
Index: javax/swing/text/GapContent.java
===================================================================
RCS file: /cvsroot/classpath/classpath/javax/swing/text/GapContent.java,v
retrieving revision 1.49
retrieving revision 1.50
diff -u -b -r1.49 -r1.50
--- javax/swing/text/GapContent.java 5 Jun 2006 11:44:50 -0000 1.49
+++ javax/swing/text/GapContent.java 9 Jun 2006 17:02:32 -0000 1.50
@@ -918,7 +918,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final int d = a[mid];
if (d == key)
return mid;
Index: java/util/Collections.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/util/Collections.java,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -b -r1.41 -r1.42
--- java/util/Collections.java 11 May 2006 07:56:42 -0000 1.41
+++ java/util/Collections.java 9 Jun 2006 17:02:32 -0000 1.42
@@ -655,7 +655,7 @@
boolean forward = true;
while (low <= hi)
{
- pos = (low + hi) >> 1;
+ pos = (low + hi) >>> 1;
if (i < pos)
{
if (!forward)
@@ -684,7 +684,7 @@
{
while (low <= hi)
{
- pos = (low + hi) >> 1;
+ pos = (low + hi) >>> 1;
final int d = compare(l.get(pos), key, c);
if (d == 0)
return pos;
Index: java/util/Arrays.java
===================================================================
RCS file: /cvsroot/classpath/classpath/java/util/Arrays.java,v
retrieving revision 1.28
retrieving revision 1.29
diff -u -b -r1.28 -r1.29
--- java/util/Arrays.java 7 Apr 2006 19:45:46 -0000 1.28
+++ java/util/Arrays.java 9 Jun 2006 17:02:32 -0000 1.29
@@ -97,7 +97,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final byte d = a[mid];
if (d == key)
return mid;
@@ -131,7 +131,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final char d = a[mid];
if (d == key)
return mid;
@@ -165,7 +165,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final short d = a[mid];
if (d == key)
return mid;
@@ -199,7 +199,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final int d = a[mid];
if (d == key)
return mid;
@@ -233,7 +233,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final long d = a[mid];
if (d == key)
return mid;
@@ -268,7 +268,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final int r = Float.compare(a[mid], key);
if (r == 0)
return mid;
@@ -303,7 +303,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final int r = Double.compare(a[mid], key);
if (r == 0)
return mid;
@@ -369,7 +369,7 @@
int mid = 0;
while (low <= hi)
{
- mid = (low + hi) >> 1;
+ mid = (low + hi) >>> 1;
final int d = Collections.compare(key, a[mid], c);
if (d == 0)
return mid;
--
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=27888
- [Bug classpath/27888] New: Arrays.binarySearch broken for large arrays, green at redhat dot com, 2006/06/04
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, green at redhat dot com, 2006/06/04
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, tromey at gcc dot gnu dot org, 2006/06/04
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, tromey at gcc dot gnu dot org, 2006/06/04
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, kaz at maczuka dot gcd dot org, 2006/06/06
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, kaz at maczuka dot gcd dot org, 2006/06/07
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays, tromey at gcc dot gnu dot org, 2006/06/09
- [Bug classpath/27888] Arrays.binarySearch broken for large arrays,
cvs-commit at developer dot classpath dot org <=