From f50ae1cfb64ea9dcc55f200cfe94188b5c8b9a15 Mon Sep 17 00:00:00 2001 From: darcy Date: Fri, 2 Sep 2011 16:06:08 -0700 Subject: [PATCH] 6989067: BigInteger's array copiers should be converted to System.arraycopy() Reviewed-by: mduigou, forax --- src/share/classes/java/math/BigInteger.java | 32 +++++++-------------- 1 file changed, 11 insertions(+), 21 deletions(-) diff --git a/src/share/classes/java/math/BigInteger.java b/src/share/classes/java/math/BigInteger.java index 2aea00d89..d783c2b8d 100644 --- a/src/share/classes/java/math/BigInteger.java +++ b/src/share/classes/java/math/BigInteger.java @@ -31,6 +31,7 @@ package java.math; import java.util.Random; import java.io.*; +import java.util.Arrays; /** * Immutable arbitrary-precision integers. All operations behave as if @@ -1612,14 +1613,12 @@ public class BigInteger extends Number implements Comparable { } else { // Array must be resized if (nBits <= (32-bitsInHighWord)) { int result[] = new int[nInts+len]; - for (int i=0; i { b = montReduce(b, mod, modLen, inv); // Set t to high half of b - int[] t = new int[modLen]; - for(int i=0; i { // Convert result out of Montgomery form and return int[] t2 = new int[2*modLen]; - for(int i=0; i { // Copy remaining ints of mag int numInts = (p + 31) >>> 5; int[] mag = new int[numInts]; - for (int i=0; i { return shiftRight(-n); } } - int[] newMag = shiftLeft(mag,n); + int[] newMag = shiftLeft(mag, n); return new BigInteger(newMag, signum); } @@ -2234,8 +2227,7 @@ public class BigInteger extends Number implements Comparable { if (nBits == 0) { newMag = new int[magLen + nInts]; - for (int i=0; i { if (nBits == 0) { int newMagLen = magLen - nInts; - newMag = new int[newMagLen]; - for (int i=0; i>> nBits; @@ -2561,7 +2551,7 @@ public class BigInteger extends Number implements Comparable { if (signum < 0) { // Check if magnitude is a power of two boolean pow2 = (Integer.bitCount(mag[0]) == 1); - for(int i=1; i< len && pow2; i++) + for (int i=1; i< len && pow2; i++) pow2 = (mag[i] == 0); n = (pow2 ? magBitLength -1 : magBitLength); -- GitLab