• Mythri A's avatar
    Check that function was prepared before optimizing using manually · b086cb7b
    Mythri A authored
    With lazy feedback allocation and bytecode flushing we need to call
    %PrepareFunctionForOptimize before we call %OptimizeFunctionOnNextCall/
    %OptimizeOsr. This cl:
    1. Adds an additional state in pending optimized table to check if the
    optimization was triggered manually.
    2. Changes the compilation pipeline to delete the entry from pending
    optimized table only if the optimization was triggered through
    %OptimizeFunctionOnNextCall / %OptimizeOsr.
    3. Adds a check to enforce %PrepareFunctionForOptimize was called.
    4. Adds a new run-time flag to only check in the d8 test runner. We
    don't want this check enabled in other cases like clusterfuzz that doesn't
    ensure %PrepareFunctionForOptimize is called.
    
    Bug: v8:8394, v8:8801, v8:9183
    Change-Id: I9ae2b2da812e313c746b6df0b2da864c2ed5de51
    Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/1664810
    Commit-Queue: Mythri Alle <mythria@chromium.org>
    Reviewed-by: 's avatarMichael Achenbach <machenbach@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#62653}
    b086cb7b