Author: [EMAIL PROTECTED]
Date: Wed Sep  3 15:08:25 2008
New Revision: 3610

Modified:
    releases/1.5/user/super/com/google/gwt/emul/java/lang/Integer.java
    releases/1.5/user/super/com/google/gwt/emul/java/lang/Long.java

Log:
Fixes a dumb mistake where we were clinit'ing in a loop references to  
__Digits.digits; this should make Long->String and Integer->String  
conversions faster.

Review by: spoon (desk check)


Modified: releases/1.5/user/super/com/google/gwt/emul/java/lang/Integer.java
==============================================================================
--- releases/1.5/user/super/com/google/gwt/emul/java/lang/Integer.java   
(original)
+++ releases/1.5/user/super/com/google/gwt/emul/java/lang/Integer.java  Wed  
Sep  3 15:08:25 2008
@@ -184,19 +184,20 @@

      final int bufSize = 33;
      char[] buf = new char[bufSize];
+    char[] digits = __Digits.digits;
      int pos = bufSize - 1;
      if (value >= 0) {
        while (value >= radix) {
-        buf[pos--] = __Digits.digits[value % radix];
+        buf[pos--] = digits[value % radix];
          value /= radix;
        }
-      buf[pos] = __Digits.digits[value];
+      buf[pos] = digits[value];
      } else {
        while (value <= -radix) {
-        buf[pos--] = __Digits.digits[-(value % radix)];
+        buf[pos--] = digits[-(value % radix)];
          value /= radix;
        }
-      buf[pos--] = __Digits.digits[-value];
+      buf[pos--] = digits[-value];
        buf[pos] = '-';
      }
      return String.__valueOf(buf, pos, bufSize);
@@ -227,19 +228,20 @@
      final int bufSize = 32 / shift;
      int bitMask = (1 << shift) - 1;
      char[] buf = new char[bufSize];
+    char[] digits = __Digits.digits;
      int pos = bufSize - 1;
      if (value >= 0) {
        while (value > bitMask) {
-        buf[pos--] = __Digits.digits[value & bitMask];
+        buf[pos--] = digits[value & bitMask];
          value >>= shift;
        }
      } else {
        while (pos > 0) {
-        buf[pos--] = __Digits.digits[value & bitMask];
+        buf[pos--] = digits[value & bitMask];
          value >>= shift;
        }
      }
-    buf[pos] = __Digits.digits[value & bitMask];
+    buf[pos] = digits[value & bitMask];
      return String.__valueOf(buf, pos, bufSize);
    }


Modified: releases/1.5/user/super/com/google/gwt/emul/java/lang/Long.java
==============================================================================
--- releases/1.5/user/super/com/google/gwt/emul/java/lang/Long.java      
(original)
+++ releases/1.5/user/super/com/google/gwt/emul/java/lang/Long.java     Wed  
Sep  3 15:08:25 2008
@@ -225,21 +225,22 @@

      final int bufSize = 65;
      char[] buf = new char[bufSize];
+    char[] digits = __Digits.digits;
      int pos = bufSize - 1;
      // Cache a converted version for performance (pure long ops are  
faster).
      long radix = intRadix;
      if (value >= 0) {
        while (value >= radix) {
-        buf[pos--] = __Digits.digits[(int) (value % radix)];
+        buf[pos--] = digits[(int) (value % radix)];
          value /= radix;
        }
-      buf[pos] = __Digits.digits[(int) value];
+      buf[pos] = digits[(int) value];
      } else {
        while (value <= -radix) {
-        buf[pos--] = __Digits.digits[(int) -(value % radix)];
+        buf[pos--] = digits[(int) -(value % radix)];
          value /= radix;
        }
-      buf[pos--] = __Digits.digits[(int) -value];
+      buf[pos--] = digits[(int) -value];
        buf[pos] = '-';
      }
      return String.__valueOf(buf, pos, bufSize);
@@ -292,19 +293,20 @@
      final int bufSize = 64 / shift;
      long bitMask = (1 << shift) - 1;
      char[] buf = new char[bufSize];
+    char[] digits = __Digits.digits;
      int pos = bufSize - 1;
      if (value >= 0) {
        while (value > bitMask) {
-        buf[pos--] = __Digits.digits[(int) (value & bitMask)];
+        buf[pos--] = digits[(int) (value & bitMask)];
          value >>= shift;
        }
      } else {
        while (pos > 0) {
-        buf[pos--] = __Digits.digits[(int) (value & bitMask)];
+        buf[pos--] = digits[(int) (value & bitMask)];
          value >>= shift;
        }
      }
-    buf[pos] = __Digits.digits[(int) (value & bitMask)];
+    buf[pos] = digits[(int) (value & bitMask)];
      return String.__valueOf(buf, pos, bufSize);
    }


--~--~---------~--~----~------------~-------~--~----~
http://groups.google.com/group/Google-Web-Toolkit-Contributors
-~----------~----~----~----~------~----~------~--~---

Reply via email to