• Leszek Swirski's avatar
    [sfi] Remove SFI function literal id field (reland^2) · 5dee5ade
    Leszek Swirski authored
    SharedFunctionInfos store their original function literal's id. This is
    also their index in the Script's SFI list.
    
    The function literal id is only needed for lazy compilation and live edit,
    and access only has to be fast in the former. So, we can move the SFI
    function literal id field to UncompiledData, and if patching with live
    edit, or discarding compiled code, we can perform a slower linear search
    through the Script's SFI list.
    
    This is a reland of
     1) https://chromium-review.googlesource.com/1082480 and
     2) https://chromium-review.googlesource.com/1128854
    the differences being:
     1) caching the literal id on UncompiledData rather than always linearly
        searching the SFI list, and removing the unused runtime-liveedit.cc
        file instead of fixing it to support this change.
     2) clearing padding on UncompiledData now that it has 3 int32 fields,
        making its end unaligned on x64.
    
    TBR=yangguo@chromium.org,marja@chromium.org,ulan@chromium.org,cbruni@chromium.org
    
    Bug: chromium:818642
    Change-Id: I58dcb12a2a60a680f662568da428e01189c62638
    Reviewed-on: https://chromium-review.googlesource.com/1138325Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#54473}
    5dee5ade
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...
.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...