• Santiago Aboy Solanes's avatar
    Reland "[compiler] Perform MapRef's SupportsFastArray methods concurrently" · fd16e67e
    Santiago Aboy Solanes authored
    This is a reland of ebd9dcda
    
    Reason for reland: std::atomic<> only works for primitive types i.e. it
    does not work for Object. We can change it to read/write the Object's
    Address, instead.
    
    Original (reverted) CL can be seen in PS1.
    
    Original change's description:
    > [compiler] Perform MapRef's SupportsFastArray methods concurrently
    >
    > We are safe to go through the native_contexts_list_ since we do it
    > through IsAnyInitialArrayPrototype which disallows the GC. Furthermore,
    > we read that list with an acquire load which guarantees that the fields
    > have been initialized.
    >
    > Bug: v8:7790
    > Change-Id: I778d51f4ead44e472f842693a7e9ff577d6acfe3
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2826541
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Reviewed-by: Georg Neis <neis@chromium.org>
    > Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#74086}
    
    Bug: v8:7790
    Change-Id: I721c3a1e962951b0bc073dc74baf7fbeababc243
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2843813Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Santiago Aboy Solanes <solanes@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74104}
    fd16e67e
heap-refs.cc 168 KB