• mbrandy's avatar
    PPC: [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 974e50ba
    mbrandy authored
    Port 97def807
    
    Original commit message:
        According to the ES2015 specification, bound functions are exotic
        objects, and thus don't need to be implemented as JSFunctions. So
        we introduce a new JSBoundFunction type to represent bound functions
        and make them optimizable. This already improves the performance of
        calling or constructing bound functions by 10-100x depending on the
        use case because we avoid the crazy dance between JavaScript and C++
        that was implemented in v8natives.js previously.
    
        There's still room for improvement in the performance of actually
        creating bound functions, which is also relevant in practice, but
        we already have a plan how to accomplish that later.
    
    R=bmeurer@chromium.org, joransiu@ca.ibm.com, jyan@ca.ibm.com, michael_dawson@ca.ibm.com
    BUG=chromium:535408, chromium:571299, v8:4629
    LOG=n
    
    Review URL: https://codereview.chromium.org/1559473002
    
    Cr-Commit-Position: refs/heads/master@{#33064}
    974e50ba
macro-assembler-ppc.cc 134 KB