зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1487023: Replace the self-hosted SameValue function with Object.is. r=mgaudet
This commit is contained in:
Родитель
6e78f08178
Коммит
b82c20b28b
|
@ -1655,8 +1655,8 @@ obj_entries(JSContext* cx, unsigned argc, Value* vp)
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ES6 draft 15.2.3.16 */
|
/* ES6 draft 15.2.3.16 */
|
||||||
static bool
|
bool
|
||||||
obj_is(JSContext* cx, unsigned argc, Value* vp)
|
js::obj_is(JSContext* cx, unsigned argc, Value* vp)
|
||||||
{
|
{
|
||||||
CallArgs args = CallArgsFromVp(argc, vp);
|
CallArgs args = CallArgsFromVp(argc, vp);
|
||||||
|
|
||||||
|
|
|
@ -35,6 +35,9 @@ obj_propertyIsEnumerable(JSContext* cx, unsigned argc, Value* vp);
|
||||||
MOZ_MUST_USE bool
|
MOZ_MUST_USE bool
|
||||||
obj_create(JSContext* cx, unsigned argc, JS::Value* vp);
|
obj_create(JSContext* cx, unsigned argc, JS::Value* vp);
|
||||||
|
|
||||||
|
MOZ_MUST_USE bool
|
||||||
|
obj_is(JSContext* cx, unsigned argc, JS::Value* vp);
|
||||||
|
|
||||||
MOZ_MUST_USE bool
|
MOZ_MUST_USE bool
|
||||||
obj_getOwnPropertyNames(JSContext* cx, unsigned argc, JS::Value* vp);
|
obj_getOwnPropertyNames(JSContext* cx, unsigned argc, JS::Value* vp);
|
||||||
|
|
||||||
|
|
|
@ -110,15 +110,6 @@ function ToLength(v) {
|
||||||
return std_Math_min(v, 0x1fffffffffffff);
|
return std_Math_min(v, 0x1fffffffffffff);
|
||||||
}
|
}
|
||||||
|
|
||||||
// ES2017 draft rev aebf014403a3e641fb1622aec47c40f051943527
|
|
||||||
// 7.2.9 SameValue ( x, y )
|
|
||||||
function SameValue(x, y) {
|
|
||||||
if (x === y) {
|
|
||||||
return (x !== 0) || (1 / x === 1 / y);
|
|
||||||
}
|
|
||||||
return (x !== x && y !== y);
|
|
||||||
}
|
|
||||||
|
|
||||||
// ES2017 draft rev aebf014403a3e641fb1622aec47c40f051943527
|
// ES2017 draft rev aebf014403a3e641fb1622aec47c40f051943527
|
||||||
// 7.2.10 SameValueZero ( x, y )
|
// 7.2.10 SameValueZero ( x, y )
|
||||||
function SameValueZero(x, y) {
|
function SameValueZero(x, y) {
|
||||||
|
|
|
@ -2445,6 +2445,7 @@ static const JSFunctionSpec intrinsic_functions[] = {
|
||||||
JS_FN("_DefineDataProperty", intrinsic_DefineDataProperty, 4,0),
|
JS_FN("_DefineDataProperty", intrinsic_DefineDataProperty, 4,0),
|
||||||
JS_FN("_DefineProperty", intrinsic_DefineProperty, 6,0),
|
JS_FN("_DefineProperty", intrinsic_DefineProperty, 6,0),
|
||||||
JS_FN("CopyDataPropertiesOrGetOwnKeys", intrinsic_CopyDataPropertiesOrGetOwnKeys, 3,0),
|
JS_FN("CopyDataPropertiesOrGetOwnKeys", intrinsic_CopyDataPropertiesOrGetOwnKeys, 3,0),
|
||||||
|
JS_INLINABLE_FN("SameValue", js::obj_is, 2,0, ObjectIs),
|
||||||
|
|
||||||
JS_INLINABLE_FN("_IsConstructing", intrinsic_IsConstructing, 0,0,
|
JS_INLINABLE_FN("_IsConstructing", intrinsic_IsConstructing, 0,0,
|
||||||
IntrinsicIsConstructing),
|
IntrinsicIsConstructing),
|
||||||
|
|
Загрузка…
Ссылка в новой задаче