• Dominik Inführ's avatar
    Reland "[heap] Refactor allocation observer in AllocationCounter" · 9fff9a73
    Dominik Inführ authored
    This is a reland of b354e344
    
    This CL adds 3 fixes:
    
    * Unprotect code object before creating filler
    * Allows AllocationObserver::Step to add more AllocationObservers
    * Update limit in NewSpace::UpdateLinearAllocationArea
    
    Original change's description:
    > [heap] Refactor allocation observer in AllocationCounter
    >
    > Moves accounting of allocation observers into the AllocationCounter
    > class. This CL removes top_on_previous_step_ for counters that are
    > increased regularly in the slow path of the allocation functions.
    >
    > AdvanceAllocationObservers() informs the AllocationCounter about
    > allocated bytes, InvokeAllocationObservers() needs to be invoked when
    > an allocation step is reached. NextBytes() returns the number of bytes
    > until the next AllocationObserver::Step needs to run.
    >
    > Bug: v8:10315
    > Change-Id: I8b6eb8719ab032d44ee0614d2a0f2645bfce9df6
    > Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2320650
    > Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#69170}
    
    Bug: v8:10315
    Change-Id: I89ab4d5069a234a293471f613dab16b47d8fff89
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2332805Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Dominik Inführ <dinfuehr@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69216}
    9fff9a73
heap.cc 240 KB