• Jaroslav Sevcik's avatar
    [turbofan] Analyze loops in memory optimizer. · c62a6da5
    Jaroslav Sevcik authored
    Currently, we are flushing current allocation group state on loop entry.
    With this CL, we only flush the state for loops that can allocate.
    Non-allocating loop will preserve the state. This enables more
    optimization opportunities for write barrier elimination and
    allocation folding.
    
    Unforutnately, the optimization will only trigger for
    compiler-introduced loops - user loops always contain stack check
    (which can allocate).
    
    Bug: v8:8984
    Change-Id: I5a47accec92455f4aabb0129800773596712029a
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1541043Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Commit-Queue: Jaroslav Sevcik <jarin@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#60501}
    c62a6da5
memory-optimizer.cc 24.9 KB