• mvstanton@chromium.org's avatar
    Inline zero argument array constructor. · 3cf157b4
    mvstanton@chromium.org authored
    patch from issue 54583003 (dependent code).
    
    Zero arguments - very easy
    
    1 argument - three special cases:
      a) If length is a constant in valid array length range,
         no need to check it at runtime.
      b) 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.
      c) if kind feedback is non-holey, and length is non-constant,
         we'd have to generate a lot of code to be correct.
         Don't inline this case.
    
    N arguments - one special case:
      a) If a deopt ever occurs because an input argument isn't
         compatible with the elements kind, then set the
         DoNotInline flag.
    
    BUG=
    R=verwaest@chromium.org
    
    Review URL: https://codereview.chromium.org/55933002
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@17741 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    3cf157b4
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
include Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
AUTHORS Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
WATCHLISTS Loading commit data...