• mvstanton@chromium.org's avatar
    Hydrogen array constructor cleanup and improvements · 83519ec8
    mvstanton@chromium.org authored
    * Cleanup of LCallNewArray::PrintDataTo() method
    * Created HCallNewArray::PrintDataTo()
    * Created many more tests in array-constructor-feedback.js
    * Removed redundant instructions in
      GenerateRecordCallTarget
    * Bugfix in CreateArrayDispatchOneArgument: on a call to
      new Array(0), we'd like to set the type feedback cell to
      a packed elements kind, but we shouldn't do it if the
      cell contains the megamorphic sentinel.
    * When used from crankshaft, ArrayConstructorStubs can
      avoid verifying that the function being called is the
      array function from the current native context, relying
      instead on the fact that crankshaft issues an
      HCheckFunction to protect the constructor call. (this
      new minor key is used in LCodeGen::DoCallNewArray(), and
      influences code generation in
      CodeStubGraphBuilderBase::BuildArrayConstructor()).
    * Optimization: the array constructor specialized for
      FAST_SMI_ELEMENTS can save some instructions by looking
      up the correct map on the passed in constructor, rather
      than indexing into the array of cached maps per element
      kind.
    
    BUG=
    R=danno@chromium.org
    
    Review URL: https://codereview.chromium.org/17091002
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15383 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    83519ec8
lithium-codegen-x64.cc 188 KB