97def8070c
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} |
||
---|---|---|
.. | ||
base | ||
compiler | ||
heap | ||
interpreter | ||
libplatform | ||
runtime | ||
wasm | ||
atomic-utils-unittest.cc | ||
cancelable-tasks-unittest.cc | ||
char-predicates-unittest.cc | ||
counters-unittest.cc | ||
DEPS | ||
locked-queue-unittest.cc | ||
run-all-unittests.cc | ||
test-utils.cc | ||
test-utils.h | ||
unittests.gyp | ||
unittests.isolate | ||
unittests.status |