• Dominik Inführ's avatar
    [heap] Support --expose-gc with shared heap · 01eb8ff9
    Dominik Inführ authored
    --shared-string-table assumes that all old strings are in the shared
    heap. However, when also using --expose-gc we create an external string
    for the GC function name. So far external strings are always allocated
    in the local old space though, which results in a heap verification
    error. This CL creates external string in the shared old heap with
    --shared-string-table enabled.
    
    In order to pass all the tests this CL also has to:
    
    * Stop marking into the shared heap for VisitEmbeddedPointer and
      VisitCodePointer.
    * Relax DCHECK in String::GetFlatContent: We cannot check the thread
      id for any shared string. Even if that string isn't really shared atm.
    
    Bug: v8:11708
    Change-Id: I51fec5ba038d035be5fe5e1277ef9286efc8dc2a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3447371Reviewed-by: 's avatarMichael Lippautz <mlippautz@chromium.org>
    Reviewed-by: 's avatarShu-yu Guo <syg@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#79022}
    01eb8ff9
factory.cc 159 KB