• Igor Sheludko's avatar
    Revert "Reland "[heap] Store size with invalidated object"" · 1a80bfc1
    Igor Sheludko authored
    This reverts commit 23b2d571.
    
    Reason for revert: Breaks the V8 roll https://ci.chromium.org/ui/p/chromium/builders/try/linux-rel/1000394/
    
    Original change's description:
    > Reland "[heap] Store size with invalidated object"
    >
    > This is a reland of commit 5d235def
    >
    > The previous version of this CL got reverted because the cached
    > size of an invalidated object wasn't up-to-date when performing a GC.
    >
    > Not all size changes go through NotifyObjectLayoutChange, so
    > https://crrev.com/c/3607992 introduced NotifyObjectSizeChange as a
    > bottleneck for object size changes/right-trimming. This method is
    > now used to update the size of invalidated objects.
    >
    > Original change's description:
    > > [heap] Store size with invalidated object
    > >
    > > When updating pointers during a full GC, a page might not be swept
    > > already. In such cases there might be invalid objects and slots recorded
    > > in free memory. Updating tagged slots in free memory is fine even though
    > > it is superfluous work.
    > >
    > > However, the GC also needs to calculate the size of potentially dead
    > > invalid objects in order to be able to check whether a slot is within
    > > that object. But since that object is dead, its map might be dead as
    > > well which makes size calculation impossible on such objects. The CL
    > > changes this to cache the size of invalid objects. A follow-up CL will
    > > also check the marking bit of invalid objects.
    > >
    > > Bug: v8:12578, chromium:1316289
    > > Change-Id: Ie773d0862a565982957e0dc409630d76552d1a32
    > > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3599482
    > > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > > Reviewed-by: Jakob Linke <jgruber@chromium.org>
    > > Reviewed-by: Patrick Thier <pthier@chromium.org>
    > > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > > Cr-Commit-Position: refs/heads/main@{#80169}
    >
    > Bug: v8:12578, chromium:1316289
    > Change-Id: I1f7c6070b8e7d116aeb1a8d03d4f87927ab40872
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3608632
    > Reviewed-by: Jakob Linke <jgruber@chromium.org>
    > Reviewed-by: Patrick Thier <pthier@chromium.org>
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Michael Lippautz <mlippautz@chromium.org>
    > Cr-Commit-Position: refs/heads/main@{#80262}
    
    Bug: v8:12578, chromium:1316289
    Change-Id: I88b73ebe09bb923ba4ac57b0dbdceb08a1badd99
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3616730
    Bot-Commit: Rubber Stamper <rubber-stamper@appspot.gserviceaccount.com>
    Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
    Auto-Submit: Igor Sheludko <ishell@chromium.org>
    Owners-Override: Michael Achenbach <machenbach@chromium.org>
    Reviewed-by: 's avatarDominik Inführ <dinfuehr@chromium.org>
    Commit-Queue: Michael Achenbach <machenbach@chromium.org>
    Cr-Commit-Position: refs/heads/main@{#80291}
    1a80bfc1
heap.cc 271 KB