• Leszek Swirski's avatar
    [serializer] Clean-up and de-macro ReadDataCase · c06d24b9
    Leszek Swirski authored
    Refactors weak prefix handling, in particular the post-hoc weak prefix
    read and HeapObjectReference creation, to a few function calls. This
    simplifies ReadDataCase sufficiently that it can be inlined into
    ReadData, which removes the need for a) having two places where we
    branch on the bytecode value (ReadData and ReadDataCase), and b)
    removes the need for the macro helper which calls ReadData. With a
    bit of refactoring we can therefore make the big switch much more
    explicit.
    
    This patch also moves that switch into a per-bytecode helper, so that
    switch entries can return the updated slot, rather than remembering to
    update in-place and continue looping.
    
    It also moves the weak prefix handling from the deserializer allocator
    to the deserializer itself, as weak prefixes don't have anything to do
    with allocation.
    
    Change-Id: I84fbda021cb65d5bfb91fc3ef27f72823acee05a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2395557
    Commit-Queue: Leszek Swirski <leszeks@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#69800}
    c06d24b9
deserializer.h 8.17 KB