< prev index next >

src/java.base/share/classes/java/lang/String.java

Print this page
rev 49110 : 8198955: String#repeat loop optimization
Reviewed-by: igerasim, redestad

@@ -3003,13 +3003,12 @@
         }
         final int limit = len * count;
         final byte[] multiple = new byte[limit];
         System.arraycopy(value, 0, multiple, 0, len);
         int copied = len;
-        for (int next = copied << 1; next < limit && 0 < next; next = next << 1) {
+        for (; copied < limit - copied; copied <<= 1) {
             System.arraycopy(multiple, 0, multiple, copied, copied);
-            copied = next;
         }
         System.arraycopy(multiple, 0, multiple, copied, limit - copied);
         return new String(multiple, coder);
     }
 
< prev index next >