a9f376aae4
For deserialized modules the compilation state was not set to kFinishedTopTierCompilation and co. A consequence was that code that required top tier compilation to be finished to block indefinitely. With this CL the compilation state is initialized properly. I tested this CL locally with the regression test mentioned in the bug tracker issue. However, this regression test required to run this test twice in separate processes. It would be possible to write a regression test for this that runs on the bots, but I considered it not worth it. R=clemensb@chromium.org Bug: v8:11024 Change-Id: Ib4e75eae03fab13a3ff013118fc1f33a1278b33f Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/2494930 Reviewed-by: Clemens Backes <clemensb@chromium.org> Commit-Queue: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#70757}
23 lines
716 B
JavaScript
23 lines
716 B
JavaScript
// Copyright 2020 the V8 project authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
// The test needs --wasm-tier-up because we can't serialize and deserialize
|
|
// Liftoff code.
|
|
// Flags: --expose-wasm --allow-natives-syntax --expose-gc --wasm-tier-up
|
|
|
|
load("test/mjsunit/wasm/wasm-module-builder.js");
|
|
|
|
|
|
const wire_bytes = new WasmModuleBuilder().toBuffer();
|
|
|
|
const serialized = (() => {
|
|
return %SerializeWasmModule(new WebAssembly.Module(wire_bytes));
|
|
})();
|
|
|
|
// Collect the compiled module, to avoid sharing of the NativeModule.
|
|
gc();
|
|
|
|
const module = %DeserializeWasmModule(serialized, wire_bytes);
|
|
%SerializeWasmModule(module);
|