• Benedikt Meurer's avatar
    [turbofan] Tweak JSCallReducer::ReduceCallApiFunction a bit more. · 5a4e0959
    Benedikt Meurer authored
    The previous change to JSCallReducer::ReduceCallApiFunction regressed
    the case a bit where the optimized graph has some knowledge about the
    receiver already, but the API callback didn't need any receiver checks,
    as in that case we unnecessarily added a ConvertReceiver node. This
    change refactors the code to first see if there's information in the
    graph about the receiver, and only if none is found, introduce the
    ConvertReceiver node.
    
    It also removes the unnecessary context load from the target function,
    since the API callback doesn't care about the concrete context, and
    we never inline cross native contexts, so using whatever incoming
    context we have is perfectly fine (and saves us from unnecessarily
    materializing the target just to load the native context off of it).
    
    Drive-by-fix: Remove bogus comment about CallApiCallbackStub parameters.
    
    Bug: v8:8820
    Change-Id: Ide1b283d9e448c3f0ae8f2daf4b1ad0202eae09e
    Cq-Include-Trybots: luci.chromium.try:linux-blink-rel
    Reviewed-on: https://chromium-review.googlesource.com/c/1466881
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#59536}
    5a4e0959
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni 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 Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython 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.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind 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...