• Leszek Swirski's avatar
    [offthread] Change OffThreadIsolate to LocalIsolate · f1589bbe
    Leszek Swirski authored
    This patch introduces a new LocalIsolate and LocalFactory, which use
    LocalHeap and replace OffThreadIsolate and OffThreadFactory. This allows
    us to remove those classes, as well as the related OffThreadSpace,
    OffThreadLargeObjectSpace, OffThreadHeap, and OffThreadTransferHandle.
    OffThreadLogger becomes LocalLogger.
    
    LocalHeap behaves more like Heap than OffThreadHeap did, so this allows
    us to additionally remove the concept of "Finish" and "Publish" that the
    OffThreadIsolate had, and allows us to internalize strings directly with
    the newly-concurrent string table (where the implementation can now move
    to FactoryBase).
    
    This patch also removes the off-thread support from the deserializer
    entirely, as well as removing the LocalIsolateWrapper which allowed
    run-time distinction between Isolate and OffThreadIsolate. LocalHeap
    doesn't support the reservation model used by the deserializer, and we
    will likely move the deserializer to use LocalIsolate unconditionally
    once we figure out the details of how to do this.
    
    Bug: chromium:1011762
    
    Change-Id: I1a1a0a72952b19a8a4c167c11a863c153a1252fc
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2315990
    Commit-Queue: Andreas Haas <ahaas@chromium.org>
    Auto-Submit: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarAndreas Haas <ahaas@chromium.org>
    Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69397}
    f1589bbe
factory.cc 145 KB