• bmeurer's avatar
    [runtime] Introduce dedicated JSBoundFunction to represent bound functions. · 97def807
    bmeurer authored
    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.
    
    The mips/mips64 ports were contributed by akos.palfi@imgtec.com.
    
    CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel
    BUG=chromium:535408, chromium:571299, v8:4629
    LOG=n
    
    Committed: https://crrev.com/ca8623eaa468cba65a5adafcdfb4615966f43ce2
    Cr-Commit-Position: refs/heads/master@{#33042}
    
    Review URL: https://codereview.chromium.org/1542963002
    
    Cr-Commit-Position: refs/heads/master@{#33044}
    97def807
Name
Last commit
Last update
..
OWNERS Loading commit data...
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...
deoptimizer-arm.cc Loading commit data...
disasm-arm.cc Loading commit data...
frames-arm.cc Loading commit data...
frames-arm.h Loading commit data...
interface-descriptors-arm.cc Loading commit data...
interface-descriptors-arm.h Loading commit data...
macro-assembler-arm.cc Loading commit data...
macro-assembler-arm.h Loading commit data...
simulator-arm.cc Loading commit data...
simulator-arm.h Loading commit data...