• 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
runtime-function.cc 6.2 KB