• Peter Marshall's avatar
    Reland "[runtime] Remove the construct_stub field of the SFI" · b158bfdc
    Peter Marshall authored
    This is a reland of 63ecddc8
    
    Original change's description:
    > [runtime] Remove the construct_stub field of the SFI
    >
    > Don't dispatch based on the construct_stub field anymore. Rather than
    > read it out and jump to the construct stub, we can switch on the
    > builtin_id.
    >
    > Builtins will always have builtin_id as a Smi, so this signals we need
    > to jump to JSBuiltinsConstructStub. The only exception is for uncompiled
    > functions, which will have kCompileLazy as the builtin_id, but need to
    > jump to the generic stub instead.
    >
    > API function calls will have a FunctionTemplateInfo in the SFI
    > function_data field, and need to go to the builtins stub as well.
    >
    > The final case is everything else, which should go to the generic stub.
    >
    > Bug: v8:7503
    > Change-Id: I14790a5f9784dc0d940bf10a05f5310026e1d482
    > Reviewed-on: https://chromium-review.googlesource.com/980941
    > Reviewed-by: Leszek Swirski <leszeks@chromium.org>
    > Reviewed-by: Benedikt Meurer <bmeurer@chromium.org>
    > Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#52345}
    
    TBR=bmeurer@chromium.org
    
    Bug: v8:7503
    Change-Id: Ie46bfb0af173ad7ac8cbdfeed1865e60f3f413f7
    Reviewed-on: https://chromium-review.googlesource.com/997712Reviewed-by: 's avatarPeter Marshall <petermarshall@chromium.org>
    Commit-Queue: Peter Marshall <petermarshall@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52389}
    b158bfdc
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides 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...
.editorconfig Loading commit data...
.git-blame-ignore-revs 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...