[WTF] Add clz32 / clz64 for MSVC
[WebKit-https.git] / Source / JavaScriptCore / runtime / MathCommon.h
index 0fdc7c3..e919461 100644 (file)
@@ -47,44 +47,6 @@ inline constexpr double minSafeInteger()
     return -9007199254740991.0;
 }
 
-inline int clz32(uint32_t number)
-{
-#if COMPILER(GCC_OR_CLANG)
-    int zeroCount = 32;
-    if (number)
-        zeroCount = __builtin_clz(number);
-    return zeroCount;
-#else
-    int zeroCount = 0;
-    for (int i = 31; i >= 0; i--) {
-        if (!(number >> i))
-            zeroCount++;
-        else
-            break;
-    }
-    return zeroCount;
-#endif
-}
-
-inline int clz64(uint64_t number)
-{
-#if COMPILER(GCC_OR_CLANG)
-    int zeroCount = 64;
-    if (number)
-        zeroCount = __builtin_clzll(number);
-    return zeroCount;
-#else
-    int zeroCount = 0;
-    for (int i = 63; i >= 0; i--) {
-        if (!(number >> i))
-            zeroCount++;
-        else
-            break;
-    }
-    return zeroCount;
-#endif
-}
-
 // This in the ToInt32 operation is defined in section 9.5 of the ECMA-262 spec.
 // Note that this operation is identical to ToUInt32 other than to interpretation
 // of the resulting bit-pattern (as such this method is also called to implement