DescriptionPPC: [runtime] Introduce dedicated JSBoundFunction to represent bound functions.
Port 97def8070cbb979419c041c3732d5e11779f79da
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
Committed: https://crrev.com/974e50ba0d2150d8f8f74a88c03cea6e67897095
Cr-Commit-Position: refs/heads/master@{#33064}
Patch Set 1 #
Messages
Total messages: 15 (6 generated)
|