• Deepti Gandluri's avatar
    Revert "Reland^4 "[runtime] Amortize descriptor array growing for fast-mode prototypes"" · accf95fc
    Deepti Gandluri authored
    This reverts commit fd2548f3.
    
    Reason for revert: Breaks telemetry benchmark, blocks deps roll.
    https://ci.chromium.org/p/chromium/builders/try/linux-rel/373686?
    https://chromium-swarm.appspot.com/task?id=4be57eb0279bbb10
    
    Original change's description:
    > Reland^4 "[runtime] Amortize descriptor array growing for fast-mode prototypes"
    > 
    > This CL:
    >  - stops tracking transitions for fast maps that are known to be detached
    >  - reuses descriptor arrays when transitioning detached maps to avoid O(n^2) performance and garbage creation
    > 
    > Fix2 in reland: constructor_or_backpointer can be a smi since it can also hold a user-provided function.prototype
    > Fix in reland: check whether the map of the back pointer is the metamap rather than reading the map of the constructor-or-backpointer slot. If the slot contains a constructor, it's possible that the object transitions while the concurrent marker is reading the map (from which it's reading the instance type); and it's possible that the transitioned map isn't set up yet fully when we read the instance type. An acquire load for the constructor-or-backpointer map would also fix it by serializing stores, but is more expensive. Checking the metamap is faster.
    > 
    > Original commit message:
    > > This avoids an O(n^2) algorithm that creates an equal amount of garbage.
    > > Even though the actual final descriptor array might be a little bigger,
    > > it reduces peak memory usage by allocating less.
    > 
    > Change-Id: Id99dc76a369057e5c4d76a31163605cb38a66867
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2172080
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Commit-Queue: Toon Verwaest <verwaest@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#67501}
    
    TBR=ulan@chromium.org,verwaest@chromium.org
    
    Change-Id: If305b5410ca37e04e9ec0ce50e9b494f5c4cd4dc
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2174767Reviewed-by: 's avatarDeepti Gandluri <gdeepti@chromium.org>
    Commit-Queue: Deepti Gandluri <gdeepti@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#67510}
    accf95fc
map.h 46.9 KB