• Benedikt Meurer's avatar
    [turbofan] Use CheckHeapObject only for StoreField. · c7ca8dac
    Benedikt Meurer authored
    Previously we had to use CheckHeapObject in front of every CheckMaps,
    CompareMaps and TransitionElementsKind operation. Now these operators
    request HeapObject representation themselves (requiring for CompareMaps
    and TransitionElementsKind to remove the kNoDeopt property). This means
    we only do CheckHeapObject for StoreField to a field that has HeapObject
    representation.
    
    This not only leads to smaller graphs in the compiler, but also removes
    most uses of the CheckHeapObject operator, which doesn't express a real
    semantic property in the compiler frontend.
    
    Bug: v8:9183, v8:9250
    Refs: nodejs/node#27667
    Change-Id: Ie3d83de69583b1bed6c1c53444bfc97aaef624bb
    Cq-Include-Trybots: luci.chromium.try:linux-rel,win7-rel
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1612902Reviewed-by: 's avatarJaroslav Sevcik <jarin@chromium.org>
    Reviewed-by: 's avatarSigurd Schneider <sigurds@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Commit-Queue: Benedikt Meurer <bmeurer@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#61508}
    c7ca8dac
simplified-operator.cc 72.3 KB