54483c4880
Port r15240 (909f716e) Original commit message: This patch makes yield sites save the resume continuation and context inline. If the operand stack is empty, we can avoid a call into the runtime. This also makes the SuspendJSGeneratorObject runtime function less magical: it just has to save the operand stack and stack handlers. This speeds up the following case by a factor of 3 or so: function* until(n) { for (var i = 0; i < n; i++) yield i; } function sum(iter) { var sum = 0; for (var x of iter) sum += x; return sum; } for (var i = 0; i < 10000; i++) sum(until(1000)) Also, there is no more sentinel value as the generators will resume in the right place already, allowing me to remove the hack added to the --debug-code check in r14437. BUG= Review URL: https://codereview.chromium.org/17291016 git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15258 ce2b1a6d-e550-0410-aec6-3dcde31c8c00 |
||
---|---|---|
benchmarks | ||
build | ||
include | ||
preparser | ||
samples | ||
src | ||
test | ||
tools | ||
.gitignore | ||
AUTHORS | ||
ChangeLog | ||
DEPS | ||
LICENSE | ||
LICENSE.strongtalk | ||
LICENSE.v8 | ||
LICENSE.valgrind | ||
Makefile | ||
Makefile.android | ||
Makefile.nacl | ||
OWNERS | ||
PRESUBMIT.py |