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

Reply via email to