• Dan Elphick's avatar
    [heap] Add SharedReadOnlySpace for shared RO_SPACE · 93cfa458
    Dan Elphick authored
    When RO_SPACE is to be shared, this constructs SharedReadOnlySpace
    object (via ReadOnlySpace::DetachPagesAndAddToArtifacts) that contains
    the shared artifacts and the original ReadOnlySpace is destroyed. This
    is mostly a conceptual change and SharedReadOnlySpace behaves
    identically to ReadOnlySpace (and subclasses it).
    
    Also adds ReadOnlyArtifacts that contains the shared artifacts and which
    is stored as a std::weak_ptr in a global so it can be destroyed when all
    std::shared_ptrs to it are destroyed. Since this allows the ReadOnlyHeap
    to be reconstructed when all Isolates are destroyed,
    ReadOnlyHeap::ClearSharedHeapForTest is removed along with all uses
    since that is now done automatically.
    
    The ReadOnlyArtifacts class now owns all the shared artifacts and is
    responsible for deleting them on exit (mostly via unique_ptr).
    
    Bug: v8:10454
    Change-Id: I2fe7110a4ab9cf8719dd198bafc1d083bee641b1
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2154204
    Commit-Queue: Dan Elphick <delphick@chromium.org>
    Reviewed-by: 's avatarClemens Backes <clemensb@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67440}
    93cfa458
Name
Last commit
Last update
..
api Loading commit data...
asmjs Loading commit data...
ast Loading commit data...
base Loading commit data...
builtins Loading commit data...
codegen Loading commit data...
common Loading commit data...
compiler Loading commit data...
compiler-dispatcher Loading commit data...
d8 Loading commit data...
date Loading commit data...
debug Loading commit data...
deoptimizer Loading commit data...
diagnostics Loading commit data...
execution Loading commit data...
extensions Loading commit data...
flags Loading commit data...
handles Loading commit data...
heap Loading commit data...
ic Loading commit data...
init Loading commit data...
inspector Loading commit data...
interpreter Loading commit data...
json Loading commit data...
libplatform Loading commit data...
libsampler Loading commit data...
logging Loading commit data...
numbers Loading commit data...
objects Loading commit data...
parsing Loading commit data...
profiler Loading commit data...
protobuf Loading commit data...
regexp Loading commit data...
roots Loading commit data...
runtime Loading commit data...
sanitizer Loading commit data...
snapshot Loading commit data...
strings Loading commit data...
tasks Loading commit data...
third_party Loading commit data...
torque Loading commit data...
tracing Loading commit data...
trap-handler Loading commit data...
utils Loading commit data...
wasm Loading commit data...
zone Loading commit data...
DEPS Loading commit data...
OWNERS Loading commit data...