--- a/jdk/src/share/classes/java/math/BitSieve.java Thu May 21 23:32:46 2009 -0700
+++ b/jdk/src/share/classes/java/math/BitSieve.java Sun May 24 16:29:57 2009 -0700
@@ -110,13 +110,11 @@
int convertedStep = (step *2) + 1;
// Construct the large sieve at an even offset specified by base
- MutableBigInteger r = new MutableBigInteger();
+ MutableBigInteger b = new MutableBigInteger(base);
MutableBigInteger q = new MutableBigInteger();
do {
// Calculate base mod convertedStep
- r.copyValue(base.mag);
- r.divideOneWord(convertedStep, q);
- start = r.value[r.offset];
+ start = b.divideOneWord(convertedStep, q);
// Take each multiple of step out of sieve
start = convertedStep - start;