• Mike Stanton's avatar
    [TurboFan] Check deoptimized status on CodeRef · d2cb2ae6
    Mike Stanton authored
    When making inlining decisions, we are interested in
    CodeRef::inlined_bytecode_size(). Previously, we gated a check of this
    value on predicate JSFunctionRef::HasAttachedOptimizedCode(), but we
    removed this predicate because it only recorded a value seen at
    serialization time.
    
    Now, we look at attached CodeRefs "live," which means we might discover
    that the code is now optimized, where it wasn't at serialization time.
    This affects the inlining decision. This CL adds an additional check
    before returning a non-zero inlined_bytecode_size that the code object
    hasn't (already) been deoptimized. It's logical to do this, because the
    inlined_bytecode_size is actually a stale value at this point.
    
    Bug: chromium:1180749
    Change-Id: I4d55132c5b47083413d3c6b1d934bfce6b550709
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2712565
    Commit-Queue: Michael Stanton <mvstanton@chromium.org>
    Reviewed-by: 's avatarGeorg Neis <neis@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#72960}
    d2cb2ae6
js-inlining-heuristic.cc 32.5 KB