• Mythri A's avatar
    [turboprop] Fix an incorrect DCHECK · a7857d44
    Mythri A authored
    When setting optimized code on feedback vector we had a DCHECK that
    ensured the optimization tier is kNone or it is kMidTier and we are
    installing TurboFan code. While this holds usually, this fails in
    few corner cases like:
    
    1. Trigger a TF concurrent compilation
    2. Create a new closure with --always-opt, which triggers a TF
    concurrent compilation and installs optimized code. We set
    OptimizationTier to kTopTier
    3. Optimized code gets deoptimized / GC clears the optimized code, but
    we haven't healed the optimized code slot / optimization tier yet.
    4. Concurrent compilation finishes and tries to install optimized code
    but the optimization tier is still set to kTopTier.
    
    This cl fixes the DCHECK by actually checking we are not overwriting
    valid optimized code except for tiering up.
    
    Drive by fixes: Also print optimization tier with feedback vector and
    print when marking a function for optimization with --always-opt.
    
    Bug: v8:11101, v8:9684
    Change-Id: Icad673ea01bb225f8b05e727a56f890af7e86514
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2520900
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarJakob Gruber <jgruber@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#71047}
    a7857d44
Name
Last commit
Last update
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...
.flake8 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...
COMMON_OWNERS Loading commit data...
DEPS Loading commit data...
DIR_METADATA Loading commit data...
ENG_REVIEW_OWNERS Loading commit data...
INFRA_OWNERS Loading commit data...
INTL_OWNERS Loading commit data...
LICENSE Loading commit data...
LICENSE.fdlibm Loading commit data...
LICENSE.strongtalk Loading commit data...
LICENSE.v8 Loading commit data...
MIPS_OWNERS Loading commit data...
OWNERS Loading commit data...
PPC_OWNERS Loading commit data...
PRESUBMIT.py Loading commit data...
README.md Loading commit data...
S390_OWNERS Loading commit data...
WATCHLISTS Loading commit data...
codereview.settings Loading commit data...