Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(183)

Issue 656423004: Narrow cases where Sparse/Smart versions of Array methods are used (Closed)

Created:
6 years, 2 months ago by adamk
Modified:
6 years, 2 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev, Toon Verwaest
Project:
v8
Visibility:
Public.

Description

Narrow cases where Sparse/Smart versions of Array methods are used Added a new %HasComplexElements runtime function (meaning elements that are non-writable, non-configurable, or have getters and setters) and use it in UseSparseVariant to filter out cases where the sparse optimizations can cause V8 to fall out of spec compliance. Renamed SmartMove/SmartSlice to SparseMove/SparseSlice and guarded them with the new and improved UseSparseVariant. These two changes combine let us pass nearly every test in bug-2615.js, as well as fixing reverse and join on sparse arrays. Note that there are various test changes in this patch that correct existing tests to match the correct-by-spec behavior. This patch depends on https://codereview.chromium.org/666883009, which better-aligns the behavior of SmartMove with SimpleMove. BUG=v8:2615, v8:3612, v8:3621 LOG=y R=mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=24855

Patch Set 1 #

Total comments: 2

Patch Set 2 : Added more tests #

Unified diffs Side-by-side diffs Delta from patch set Stats (+85 lines, -174 lines) Patch
M src/array.js View 7 chunks +12 lines, -11 lines 0 comments Download
M src/objects.h View 1 chunk +4 lines, -0 lines 0 comments Download
M src/objects.cc View 2 chunks +24 lines, -6 lines 0 comments Download
M src/runtime/runtime.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/runtime/runtime-array.cc View 1 chunk +24 lines, -0 lines 0 comments Download
M test/mjsunit/array-natives-elements.js View 1 chunk +1 line, -2 lines 0 comments Download
M test/mjsunit/array-shift2.js View 1 1 chunk +13 lines, -3 lines 0 comments Download
M test/mjsunit/bugs/bug-2615.js View 1 chunk +0 lines, -86 lines 0 comments Download
D test/mjsunit/bugs/bug-3612.js View 1 chunk +0 lines, -21 lines 0 comments Download
D test/mjsunit/bugs/bug-3621.js View 1 chunk +0 lines, -11 lines 0 comments Download
A + test/mjsunit/regress/regress-2615.js View 4 chunks +2 lines, -32 lines 0 comments Download
A + test/mjsunit/regress/regress-3612.js View 0 chunks +-1 lines, --1 lines 0 comments Download
A + test/mjsunit/regress/regress-3621.js View 0 chunks +-1 lines, --1 lines 0 comments Download
M test/mjsunit/regress/regress-crbug-412319.js View 1 chunk +1 line, -1 line 0 comments Download
M test/mozilla/mozilla.status View 3 chunks +5 lines, -3 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
adamk
Let me know if you'd rather I just roll the changes in https://codereview.chromium.org/666883009 into this ...
6 years, 2 months ago (2014-10-21 22:35:18 UTC) #2
Michael Starzinger
LGTM. Please keep the CL that this depends on separate. https://codereview.chromium.org/656423004/diff/1/test/mjsunit/array-shift2.js File test/mjsunit/array-shift2.js (right): https://codereview.chromium.org/656423004/diff/1/test/mjsunit/array-shift2.js#newcode16 ...
6 years, 2 months ago (2014-10-22 09:13:20 UTC) #3
adamk
https://codereview.chromium.org/656423004/diff/1/test/mjsunit/array-shift2.js File test/mjsunit/array-shift2.js (right): https://codereview.chromium.org/656423004/diff/1/test/mjsunit/array-shift2.js#newcode16 test/mjsunit/array-shift2.js:16: assertEquals(["element 1","element 1"], test(["0",,2])); On 2014/10/22 at 09:13:20, Michael ...
6 years, 2 months ago (2014-10-22 18:49:44 UTC) #4
adamk
Committed patchset #2 (id:20001) manually as 24855 (presubmit successful).
6 years, 2 months ago (2014-10-23 18:22:00 UTC) #5
adamk
This is causing a few Blink test "failures" (actually tests that are now passing). Tracking ...
6 years, 2 months ago (2014-10-23 20:03:10 UTC) #6
adamk
6 years, 2 months ago (2014-10-23 20:13:38 UTC) #7
Message was sent while issue was closed.
On 2014/10/23 at 20:03:10, adamk wrote:
> This is causing a few Blink test "failures" (actually tests that are now
passing). Tracking this in
https://code.google.com/p/chromium/issues/detail?id=426543, I'll land new
expectations so as to not harm the v8 roll.

Landed test fixes in Blink:
https://src.chromium.org/viewvc/blink?revision=184299&view=revision

Powered by Google App Engine
This is Rietveld 408576698