• Caitlin Potter's avatar
    [turbofan] Reduce ArrayIteratorNext based on instance type · dcd60e8c
    Caitlin Potter authored
    NodeProperties::InferReceiverMaps now traverses effect chain for
    Loop-EffectPhi nodes, which makes it possible to inline `iterator.next()`
    within a loop when the next property is loaded outside of a loop.
    
    A new helper, GetInstanceTypeWitness(), performs InferReceiverMaps() and
    checks that each resulting map has an identical instance type.
    
    BUG=chromium:795632, v8:5940, v8:3018
    R=bmeurer@chromium.org, jarin@chromium.org
    
    Change-Id: Id2690c224668bea62dbcad62ebc2bdf7e37e80d3
    Reviewed-on: https://chromium-review.googlesource.com/837484
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarBenedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#50284}
    dcd60e8c
node-properties.cc 19.4 KB