• bmeurer's avatar
    [builtins] Unify the various versions of [[Call]] with a Call builtin. · ccbb4ff0
    bmeurer authored
    The new Call and CallFunction builtins supersede the current
    CallFunctionStub (and CallIC magic) and will be the single bottleneck
    for all calling, including the currently special Function.prototype.call
    and Function.prototype.apply builtins, which had handwritten (and
    not fully compliant) versions of CallFunctionStub, and also the
    CallIC(s), which where also slightly different.
    
    This also reduces the overhead for API function calls, which is still
    unnecessary high, but let's do that step-by-step.
    
    This also fixes a bunch of cases where the implicit ToObject for
    sloppy receivers was done in the wrong context (in the caller
    context instead of the callee context), which basically meant
    that we allowed cross context access to %ObjectPrototype%.
    
    MIPS and MIPS64 ports contributed by akos.palfi@imgtec.com.
    
    R=mstarzinger@chromium.org, jarin@chromium.org, mvstanton@chromium.org
    CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg
    BUG=v8:4413
    LOG=n
    
    Committed: https://crrev.com/ef268a83be4dead004047c25b702319ea4be7277
    Cr-Commit-Position: refs/heads/master@{#30627}
    
    Review URL: https://codereview.chromium.org/1311013008
    
    Cr-Commit-Position: refs/heads/master@{#30629}
    ccbb4ff0
Name
Last commit
Last update
benchmarks Loading commit data...
build 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...
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...