diff options
Diffstat (limited to 'deps/v8/src/runtime.js')
-rw-r--r-- | deps/v8/src/runtime.js | 5 |
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)); |