| Index: src/runtime.js
|
| diff --git a/src/runtime.js b/src/runtime.js
|
| index d9e1fe5c994030f40461167faac8b3df4d60ff22..6657d96f4a422337bd967ac815dd6d4c4c488c64 100644
|
| --- a/src/runtime.js
|
| +++ b/src/runtime.js
|
| @@ -576,6 +576,15 @@ function ToInt32(x) {
|
| return %NumberToJSInt32(ToNumber(x));
|
| }
|
|
|
| +// ES6, section 7.1.15
|
| +function ToLength(x) {
|
| + if (%_IsSmi(x) && x >= 0) return x;
|
| +
|
| + var len = ToInteger(x);
|
| + if (len <= 0) return 0;
|
| + return MathMin(len, $Number.MAX_SAFE_INTEGER);
|
| +}
|
| +
|
|
|
| // ES5, section 9.12
|
| function SameValue(x, y) {
|
| @@ -590,6 +599,15 @@ function SameValue(x, y) {
|
| return x === y;
|
| }
|
|
|
| +// ES6, section 7.2.4
|
| +function SameValueZero(x, y) {
|
| + if (typeof x != typeof y) return false;
|
| + if (IS_NUMBER(x)) {
|
| + if (NUMBER_IS_NAN(x) && NUMBER_IS_NAN(y)) return true;
|
| + }
|
| + return x === y;
|
| +}
|
| +
|
|
|
| /* ---------------------------------
|
| - - - U t i l i t i e s - - -
|
|
|