Commit db39fadf authored by Clemens Backes's avatar Clemens Backes Committed by Commit Bot

[wasm][debug] Always regenerate Liftoff debug code

If there is still Liftoff code installed on a function, we cannot reuse
it when tiering down, since we don't know if it was compiled with
debugging capabilities. This made the "debug-step-into-wasm" test flake.

R=thibaudm@chromium.org

Bug: v8:10368
Change-Id: I3672940015c85ec10ead2e33e7792410b47589d4
Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2135732Reviewed-by: 's avatarThibaud Michaud <thibaudm@chromium.org>
Commit-Queue: Clemens Backes <clemensb@chromium.org>
Cr-Commit-Position: refs/heads/master@{#66993}
parent b997b1d0
......@@ -2545,14 +2545,16 @@ void CompilationStateImpl::InitializeRecompilation(
DCHECK_LT(slot_index, compilation_progress_.size());
ExecutionTier reached_tier =
ReachedTierField::decode(compilation_progress_[slot_index]);
// Ignore Liftoff code, since we don't know if it was compiled with
// debugging support.
// TODO(clemensb): Introduce {kLiftoffDebug} as a separate tier.
bool has_correct_tier =
reached_tier == tier &&
tier == ExecutionTier::kTurbofan && reached_tier == tier &&
native_module_->HasCodeWithTier(function_index, tier);
compilation_progress_[slot_index] =
ReachedRecompilationTierField::update(
compilation_progress_[slot_index],
has_correct_tier ? tier : ExecutionTier::kNone);
if (!has_correct_tier) {
compilation_progress_[slot_index] =
ReachedRecompilationTierField::update(
compilation_progress_[slot_index], ExecutionTier::kNone);
outstanding_recompilation_functions_++;
builder.AddRecompilationUnit(function_index, tier);
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment