On 2014/10/21 at 08:07:48, mstarzinger wrote:
LGTM (rubber-stamped).
https://codereview.chromium.org/649063003/diff/1/src/array.js
File src/array.js (right):
https://codereview.chromium.org/649063003/diff/1/src/array.js#newcode288
src/array.js:288: if (!IS_UNDEFINED(current) || index in array) {
I know this is not part of your change, but the ordering of the [[Get]]
and
[[Has]] calls in this predicate is also off. It first loads the property and
then (if the value is undefined) checks presence of the property. The
following
is a repro:
var a = [1, 2, 3];
Object.defineProperty(a, '1', {
get: function() { delete this[1]; return undefined; },
configurable: true
});
var s = a.slice(1);
assertTrue('0' in s);
I am completely unsurprised there are more bugs here. This looks like the
same
old bug we used to have in Array.prototype.forEach (for speed!). But I'd
like to
leave it separately due to the performance regression I expect with it.
https://codereview.chromium.org/649063003/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.