• Mike Stanton's avatar
    [Turbofan] Wiser zone allocation for child serializers · 3c3bd147
    Mike Stanton authored
    The serialization step in the pipeline gets an initial zone, and thus
    far, it's allocated all of it's hinting information in that zone.
    However, much of this comes from stepping into calls and
    walking the bytecode of the called function. Once we finished
    recursing into a call, we should be able to throw all those
    hints away -- they've served their purpose, and the "output"
    of their work is a set of new objects made visible to the broker.
    
    Therefore, we should create and destroy a child zone.
    
    On a run of typescript, this reduces absolute max (high water mark)
    allocation of the serialization phase from 10 MB to 5 MB.
    
    Bug: v8:7790
    Change-Id: Icbb35abed28b1a924328541df82be23594152a8f
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1800570Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Reviewed-by: 's avatarMaya Lekova <mslekova@chromium.org>
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#63872}
    3c3bd147
serializer-for-background-compilation.cc 117 KB