• Jakob Gruber's avatar
    [compiler] Make NativeContextRef never-serialized · 5258364e
    Jakob Gruber authored
    Most NativeContext elements are immutable after initialization;
    additionally, we now use acquire-release semantics to load/store
    elements when possible. Reading and constructing Refs for elements
    is thus possible from the background.
    
    A few notes:
    
    - A few elements are not immutable; if read from the background
    thread, these must use acquire-release semantics.
    - Elements can be stored from generated code; these are not compatible
    with bg-thread accesses.
    - While elements can be read safely from the native context, the
    elements themselves may still require serialization; this is done in
    NativeContextRef::Serialize.
    
    Bug: v8:7790
    Change-Id: I12e9611a292e7dd912438c712390731a5422407d
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2897254
    Auto-Submit: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Jakob Gruber <jgruber@chromium.org>
    Commit-Queue: Georg Neis <neis@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#74604}
    5258364e
heap-refs.cc 165 KB