• Leszek Swirski's avatar
    [runtime] Key template object cache on Script · f3a0e8bc
    Leszek Swirski authored
    Use Script as the key for the template object cache, instead of the
    SharedFunctionInfo. This is because SharedFunctionInfos can be garbage
    collected and then later recompiled, which would mean that we break the
    spec's expectation that the template object stays constant.
    
    Now the association of cached template object with SharedFunctionInfo is
    via the function_literal_id of the SharedFunctionInfo, stored on the
    CachedTemplateObject. These are linearly searched, similar to the linear
    search over slot ids.
    
    Bug: v8:13190
    Change-Id: I3f67811c16ea4cd39c99b2fa034aa7e1f03c171e
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3892787Reviewed-by: 's avatarCamillo Bruni <cbruni@chromium.org>
    Commit-Queue: Camillo Bruni <cbruni@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#83195}
    f3a0e8bc