• 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
..
assembler-arm-inl.h Loading commit data...
assembler-arm.cc Loading commit data...
assembler-arm.h Loading commit data...
builtins-arm.cc Loading commit data...
code-stubs-arm.cc Loading commit data...
code-stubs-arm.h Loading commit data...
codegen-arm.cc Loading commit data...
codegen-arm.h Loading commit data...
constants-arm.cc Loading commit data...
constants-arm.h Loading commit data...
cpu-arm.cc Loading commit data...
debug-arm.cc Loading commit data...
deoptimizer-arm.cc Loading commit data...
disasm-arm.cc Loading commit data...
frames-arm.cc Loading commit data...
frames-arm.h Loading commit data...
full-codegen-arm.cc Loading commit data...
ic-arm.cc Loading commit data...
lithium-arm.cc Loading commit data...
lithium-arm.h Loading commit data...
lithium-codegen-arm.cc Loading commit data...
lithium-codegen-arm.h Loading commit data...
lithium-gap-resolver-arm.cc Loading commit data...
lithium-gap-resolver-arm.h Loading commit data...
macro-assembler-arm.cc Loading commit data...
macro-assembler-arm.h Loading commit data...
regexp-macro-assembler-arm.cc Loading commit data...
regexp-macro-assembler-arm.h Loading commit data...
simulator-arm.cc Loading commit data...
simulator-arm.h Loading commit data...
stub-cache-arm.cc Loading commit data...