Reviewed by Sam.
authordarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Feb 2008 21:28:21 +0000 (21:28 +0000)
committerdarin@apple.com <darin@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 18 Feb 2008 21:28:21 +0000 (21:28 +0000)
        * wtf/ASCIICType.h:
        (WTF::toASCIIHexValue): Added.

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@30380 268f45cc-cd09-0410-ab3c-d52691b4dbfc

JavaScriptCore/ChangeLog
JavaScriptCore/wtf/ASCIICType.h

index 53977474a34d7fa0cdb3e508d3a8eb17e09567be..3cff6b3eaac974ea58fd36068123bb85c82c8a6c 100644 (file)
@@ -1,3 +1,10 @@
+2008-02-18  Darin Adler  <darin@apple.com>
+
+        Reviewed by Sam.
+
+        * wtf/ASCIICType.h:
+        (WTF::toASCIIHexValue): Added.
+
 2008-02-17  Darin Adler  <darin@apple.com>
 
         * wtf/ListHashSet.h: (WTF::swap): Removed stray return statement.
index d93acc5a1ddf3741e81e5ba7547513ed3a2989bc..7d24f0e1e9569b5fb815a31b1d59c25f2fe086d7 100644 (file)
@@ -86,19 +86,18 @@ namespace WTF {
     inline bool isASCIIUpper(int c) { return c >= 'A' && c <= 'Z'; }
 
     /*
-        Statistics from a run of the PLT on the usage of isASCIISpace:
-        Hex  Name               Count
-        ---  ----               -----
-           ALL OTHER VALUES     689383
-        x20  SPACE              294720
-        x0A  NEWLINE            89059
-        x09  TAB                28320
-        x0D  CARRIAGE RETURN    0
-        x0C  FORMFEED           0
-        x0B  VERTICAL TAB       0
-
+        Statistics from a run of Apple's page load test for callers of isASCIISpace:
+
+            character          count
+            ---------          -----
+            non-spaces         689383
+        20  space              294720
+        0A  \n                 89059
+        09  \t                 28320
+        0D  \r                 0
+        0C  \f                 0
+        0B  \v                 0
     */
-
     inline bool isASCIISpace(char c) { return c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); }
     inline bool isASCIISpace(unsigned short c) { return c <= ' ' && (c == ' ' || (c <= 0xD && c >= 0x9)); }
 #if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
@@ -120,6 +119,13 @@ namespace WTF {
 #endif
     inline int toASCIIUpper(int c) { return static_cast<int>(c & ~((c >= 'a' && c <= 'z') << 5)); }
 
+    inline int toASCIIHexValue(char c) { ASSERT(isASCIIHexDigit(c)); return c < 'A' ? c - '0' : (c - 'A' + 10) & 0xF; }
+    inline int toASCIIHexValue(unsigned short c) { ASSERT(isASCIIHexDigit(c)); return c < 'A' ? c - '0' : (c - 'A' + 10) & 0xF; }
+#if !COMPILER(MSVC) || defined(_NATIVE_WCHAR_T_DEFINED)
+    inline int toASCIIHexValue(wchar_t c) { ASSERT(isASCIIHexDigit(c)); return c < 'A' ? c - '0' : (c - 'A' + 10) & 0xF; }
+#endif
+    inline int toASCIIHexValue(int c) { ASSERT(isASCIIHexDigit(c)); return c < 'A' ? c - '0' : (c - 'A' + 10) & 0xF; }
+
 }
 
 #endif