Hi Claes!

Wouldn't it be better to use do-while here:

 339         while (charPos > offset) {
 340             buf[--charPos] = Integer.digits[val & mask];
 341             val >>>= shift;
 342         }

given the precondition

         // assert len > 0 && (offset + len) <= buf.length : "illegal length";

(charPos > offset) condition should always hold for the first time.

This would save one comparison.

Sincerely yours,
Ivan

On 19.07.2014 1:14, Claes Redestad wrote:
Hi,

Mike Duigou suggested some simplifications to the formatUnsigned methods. Shows a slight speed-upon some micros as well:

 http://cr.openjdk.java.net/~redestad/8050114/webrev.2/

/Claes

On 2014-07-13 00:26, Claes Redestad wrote:
Hi,

please review this patch to expose formatUnsignedInt/-Long through JavaLangAccess.

 webrev: http://cr.openjdk.java.net/~redestad/8050114/webrev.1/
 bug: https://bugs.openjdk.java.net/browse/JDK-8050114

The behavior of the methods have been adjusted to be zero-padding in case the number formatted is shorter than the specified length, since that simplifies use cases for which this utility is exposed internally, e.g., JDK-8006627 <https://bugs.openjdk.java.net/browse/JDK-8006627>. Microbenchmarks show that this does not adversely affect performance of current uses through toHexString, toOctalString etc.

 Thanks!

 /Claes




Reply via email to