Reviewers: ,
Message:
PTAL:
Reviewer guidance:
* The main change is to support element type transitions in the Array()
constructor. The platform specific builtin to construct Arrays now bails
out to
the C++ runtime code when a transition is necessary, and the C++ runtime
code
support the transition.
* There were tweaks made to the EnsureCanContain* functions to more
precisely
support the different contexts that elements transitions are needed in.
These
are needed because the Array code need the Ensure call to generate a
FAST_DOUBLE_ARRAY ElementsKind, which was previously not supported.
Description:
Support Smi->Double->HeapObject transitions in constructed Arrays.
Also several bugs with Smi/double elements handling and make Ensure*
routines
more flexible.
BUG=none
TEST=test/mjsunit/array-construct-transition.js
Please review this at http://codereview.chromium.org/8820014/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M src/arm/builtins-arm.cc
M src/builtins.cc
M src/factory.h
M src/factory.cc
M src/ia32/builtins-ia32.cc
M src/objects-inl.h
M src/objects.h
M src/objects.cc
M src/runtime.cc
M src/x64/builtins-x64.cc
A test/mjsunit/array-construct-transition.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev