Reviewers: Toon Verwaest, danno,

Message:
PTAL. Inline array constructors. thx!
--Michael

Description:
Inline zero argument array constructor.
patch from issue 54583003 (dependent code).

Zero arguments - very easy
1 argument - two special cases:
  a) respect DoNotInline feedback on the AllocationSite for
     cases that the argument is not a smi or is an integer
     with a length that should create a dictionary.
  b) if kind feedback is non-holey, it implies the length
     argument is zero. Generate different code if the
     length is discovered to be non-zero, ensuring that a
     holey array is created.

N arguments - two special cases:
  a) If a deopt ever occurs because an input argument isn't
     compatible with the elements kind, then set the
     DoNotInline flag.
  b) Argument copying is done as an unrolled loop,
     therefore, keep the number of arguments accepted
     reasonable (<=5).

BUG=

Please review this at https://codereview.chromium.org/55933002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+304, -55 lines):
  M src/heap.cc
  M src/hydrogen.h
  M src/hydrogen.cc
  M src/ia32/code-stubs-ia32.cc
  M src/ia32/stub-cache-ia32.cc
  M src/mips/stub-cache-mips.cc
  M src/objects-inl.h
  M src/objects-printer.cc
  M src/objects.h
  M src/objects.cc
  M src/runtime.cc
  M src/x64/stub-cache-x64.cc
  M test/mjsunit/array-constructor-feedback.js


--
--
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/groups/opt_out.

Reply via email to