• palfia@homejinni.com's avatar
    MIPS: Hydrogen array constructor cleanup and improvements. · 081a9d17
    palfia@homejinni.com authored
    Port r15383 (3e90aaf)
    
    Original commit message:
    * 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=
    
    Review URL: https://codereview.chromium.org/18191007
    Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
    
    git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15395 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
    081a9d17
lithium-mips.cc 83.8 KB