v8/test/mjsunit/bugs
adamk@chromium.org 5f1ae66d56 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

Review URL: https://codereview.chromium.org/656423004

git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@24855 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2014-10-23 18:21:50 +00:00
..
harmony Avoid exposing compiler-allocated temporaries to the debugger 2014-04-23 08:58:41 +00:00
bug-222.js
bug-617.js
bug-2337.js Fix misplaced assert in heap.cc. 2012-09-17 11:38:24 +00:00
bug-2615.js Narrow cases where Sparse/Smart versions of Array methods are used 2014-10-23 18:21:50 +00:00
bug-941049.js
bug-1344252.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00
bug-proto.js Make sure files end with exactly one new line and police this in presubmit. 2013-11-22 13:50:39 +00:00