• Michael Lippautz's avatar
    Reland "[heap] Add global memory controller" · 880c3202
    Michael Lippautz authored
    Provide a global memory controller used to compute limits for combined
    on-heap and embedder memory. The global controller uses the same
    mechanism (gc speed, mutator speed) and growing factors as the regular
    on-heap controller.
    
    Rely on V8's mechanisms for configured state that stops shrinking the
    limit.
    
    Reland:
    - API fixes with overrides and default versions.
    - Fix of depending on uninitialized values when using the old API.
    - GCTracer: Fixed issue in speed computation.
    - GCTracer: Added unittests.
    
    This reverts commit 5e043f27.
    
    Bug: chromium:948807
    Change-Id: I0f81253b3e1a8b49a7ac107c012a15e33cb514d7
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1622852Reviewed-by: 's avatarUlan Degenbaev <ulan@chromium.org>
    Commit-Queue: Michael Lippautz <mlippautz@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61735}
    880c3202
v8.h 350 KB