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 - - - |