Backed out changeset e8dfde56e9ca (bug 925123) for jsreftest failures; CLOSED TREE

This commit is contained in:
Ed Morley 2014-04-11 17:32:38 +01:00
Родитель 23c2df160b
Коммит 229f4c5f0a
3 изменённых файлов: 0 добавлений и 65 удалений

Просмотреть файл

@ -309,29 +309,6 @@ js::math_ceil(JSContext *cx, unsigned argc, Value *vp)
return true;
}
bool
js::math_clz32(JSContext *cx, unsigned argc, Value *vp)
{
CallArgs args = CallArgsFromVp(argc, vp);
if (args.length() == 0) {
args.rval().setInt32(32);
return true;
}
uint32_t n;
if (!ToUint32(cx, args[0], &n))
return false;
if (n == 0) {
args.rval().setInt32(32);
return true;
}
args.rval().setInt32(mozilla::CountLeadingZeroes32(n));
return true;
}
/*
* Fast sine and cosine approximation code, based on the sin [0] and cos [1]
* implementations [2] in the cephes library [3].
@ -1558,7 +1535,6 @@ static const JSFunctionSpec math_static_methods[] = {
JS_FN("atan", math_atan, 1, 0),
JS_FN("atan2", math_atan2, 2, 0),
JS_FN("ceil", math_ceil, 1, 0),
JS_FN("clz32", math_clz32, 1, 0),
JS_FN("cos", math_cos, 1, 0),
JS_FN("exp", math_exp, 1, 0),
JS_FN("floor", math_floor, 1, 0),

Просмотреть файл

@ -247,9 +247,6 @@ math_ceil(JSContext *cx, unsigned argc, Value *vp);
extern double
math_ceil_impl(double x);
extern bool
math_clz32(JSContext *cx, unsigned argc, Value *vp);
extern bool
math_floor(JSContext *cx, unsigned argc, Value *vp);

Просмотреть файл

@ -1,38 +0,0 @@
// Undefined and NaN end up as zero after ToUint32
assertEq(Math.clz32(), 32);
assertEq(Math.clz32(NaN), 32);
assertEq(Math.clz32.call(), 32);
// 0
assertEq(Math.clz32(null), 32);
assertEq(Math.clz32(false), 32);
// 1
assertEq(Math.clz32(true), 31);
// 3
assertEq(Math.clz32(3.5), 30);
// NaN -> 0
assertEq(Math.clz32({}), 32);
// 2
assertEq(Math.clz32({valueOf: function() { return 2; }}), 30);
// 0 -> 0
assertEq(Math.clz32([]), 32);
assertEq(Math.clz32(""), 32);
// NaN -> 0
assertEq(Math.clz32([1, 2, 3]), 32);
assertEq(Math.clz32("bar"), 32);
// 15
assertEq(Math.clz32("15"), 28);
assertEq(Math.clz32(0x80000000), 0);
assertEq(Math.clz32(0xF0FF1000), 0);
assertEq(Math.clz32(0x7F8F0001), 1);
assertEq(Math.clz32(0x3FFF0100), 2);
assertEq(Math.clz32(0x1FF50010), 3);
assertEq(Math.clz32(0x00800000), 8);
assertEq(Math.clz32(0x00400000), 9);
assertEq(Math.clz32(0x00008000), 16);
assertEq(Math.clz32(0x00004000), 17);
assertEq(Math.clz32(0x00000080), 24);
assertEq(Math.clz32(0x00000040), 25);
assertEq(Math.clz32(0x00000001), 31);
assertEq(Math.clz32(0), 32);