summaryrefslogtreecommitdiff
path: root/deps/v8/src/runtime.js
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/runtime.js')
-rw-r--r--deps/v8/src/runtime.js5
1 files changed, 4 insertions, 1 deletions
diff --git a/deps/v8/src/runtime.js b/deps/v8/src/runtime.js
index 42968104b6..f2c8d6b846 100644
--- a/deps/v8/src/runtime.js
+++ b/deps/v8/src/runtime.js
@@ -502,7 +502,10 @@ function ToBoolean(x) {
// ECMA-262, section 9.3, page 31.
function ToNumber(x) {
if (IS_NUMBER(x)) return x;
- if (IS_STRING(x)) return %StringToNumber(x);
+ if (IS_STRING(x)) {
+ return %_HasCachedArrayIndex(x) ? %_GetCachedArrayIndex(x)
+ : %StringToNumber(x);
+ }
if (IS_BOOLEAN(x)) return x ? 1 : 0;
if (IS_UNDEFINED(x)) return $NaN;
return (IS_NULL(x)) ? 0 : ToNumber(%DefaultNumber(x));