• mstarzinger's avatar
    [compiler] Sidestep optimizing of generator resumers. · 85517653
    mstarzinger authored
    This ensures our optimizing compilers as well as the interpreter are
    never tasked with compiling the generator-resuming builtin methods. The
    corresponding intrinsics for those methods are not supported and it is
    not possible to provide a C++ reference implementation for them. We do
    this by assigning builtin function ids to them that we can recognize
    during the compiler dispatch.
    
    Note that this also affects the interpreter, because methods having a
    builtin function id assigned are not interpreted ({function_data} field
    is overlapping). If this ever changes we can still do an early check in
    the compiler dispatch (similar to the optimizing compilers) easily.
    
    This applies to the following methods:
    - Generator.prototype.next (calls Runtime_GeneratorNext).
    - Generator.prototype.return (calls Runtime_GeneratorReturn).
    - Generator.prototype.throw (calls Runtime_GeneratorThrow).
    
    R=neis@chromium.org
    BUG=v8:4681
    LOG=n
    
    Review URL: https://codereview.chromium.org/1779123003
    
    Cr-Commit-Position: refs/heads/master@{#34675}
    85517653
Name
Last commit
Last update
benchmarks Loading commit data...
build Loading commit data...
docs Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party/binutils Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.gitignore Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
Makefile Loading commit data...
Makefile.android Loading commit data...
Makefile.nacl Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...