[Liftoff] Do not unuse labels in destructor

This is not needed generally, and might prevent catching bugs where
labels are not bound correctly. Instead, only unuse labels on errors.

R=mstarzinger@chromium.org

Change-Id: I1dc77ea21ca80c5be801f17ba284908e1c04abe0
Reviewed-on: https://chromium-review.googlesource.com/c/1443051
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Reviewed-by: Michael Starzinger <mstarzinger@chromium.org>
Cr-Commit-Position: refs/heads/master@{#59173}
This commit is contained in:
Clemens Hammacher 2019-01-29 15:31:30 +01:00 committed by Commit Bot
parent 3af3c9d100
commit 14054ad99b

View File

@ -174,8 +174,6 @@ class LiftoffCompiler {
compilation_zone_(compilation_zone),
safepoint_table_builder_(compilation_zone_) {}
~LiftoffCompiler() { UnuseLabels(nullptr); }
bool ok() const { return ok_; }
void GetCode(CodeDesc* desc) { asm_.GetCode(nullptr, desc); }
@ -1973,7 +1971,10 @@ WasmCompilationResult LiftoffCompilationUnit::ExecuteCompilation(
decoder.Decode();
liftoff_compile_time_scope.reset();
LiftoffCompiler* compiler = &decoder.interface();
if (decoder.failed()) return WasmCompilationResult{decoder.error()};
if (decoder.failed()) {
compiler->OnFirstError(&decoder);
return WasmCompilationResult{decoder.error()};
}
if (!compiler->ok()) {
// Liftoff compilation failed.
counters->liftoff_unsupported_functions()->Increment();