• Nico Hartmann's avatar
    Reland "[TurboFan] Move FunctionTemplateInfo to never serialized" · 07db5a65
    Nico Hartmann authored
    This reverts commit c85b7a44.
    
    This reland fixes missing serialization of objects stored in
    CallHandlerInfo::data by adding necessary handling of these objects
    in FunctionTemplateInfoRef::SerializeCallCode when running with
    direct heap access.
    
    Drive-by: Remove declaration of CallHandlerInfoRef::Serialize, which
    did not have a definition.
    
    Original change's description:
    > [TurboFan] Move FunctionTemplateInfo to never serialized
    >
    > This CL moves FunctionTemplateInfo to the list of never serialized
    > objects, allowing direct heap reads. To make this threadsafe, the CL:
    > - adds necessary atomic (relaxed/acquire-release) operations to the
    >   accessors of FunctionTemplateInfo.
    > - changes FunctionTemplateInfoRef::LookupHolderOfExpectedType to be
    >   usable from the background thread (e.g. no handle construction) with
    >   the caveat of skipping optimization in some cases where necessary
    >   JSObjects are not serialized.
    >
    > Drive-by: Add missing serialization of objects possibly reachable
    > through CallHandlerInfo::data.
    >
    > Bug: v8:7790
    > Change-Id: I49cf4f328ecfab368dff9076fde8f5783ead3246
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2679687
    > Reviewed-by: Ross McIlroy <rmcilroy@chromium.org>
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#73364}
    
    Bug: v8:7790, chromium:1188563
    Change-Id: Ib43f1eaf0592d2565292e86dea5acfc41a58f637
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2773807Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarLeszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Nico Hartmann <nicohartmann@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#73599}
    07db5a65
call-optimization.cc 4.55 KB