• 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
Name
Last commit
Last update
benchmarks Loading commit data...
build_overrides Loading commit data...
custom_deps Loading commit data...
docs Loading commit data...
gni Loading commit data...
include Loading commit data...
infra Loading commit data...
samples Loading commit data...
src Loading commit data...
test Loading commit data...
testing Loading commit data...
third_party Loading commit data...
tools Loading commit data...
.clang-format Loading commit data...
.clang-tidy Loading commit data...
.editorconfig Loading commit data...
.git-blame-ignore-revs Loading commit data...
.gitattributes Loading commit data...
.gitignore Loading commit data...
.gn Loading commit data...
.vpython Loading commit data...
.ycm_extra_conf.py Loading commit data...
AUTHORS Loading commit data...
BUILD.gn Loading commit data...
CODE_OF_CONDUCT.md Loading commit data...
ChangeLog Loading commit data...
DEPS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
LICENSE.valgrind Loading commit data...
OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...
snapshot_toolchain.gni Loading commit data...