Reland "[d8][wasm] Test wasm compilation completion"
This is a reland of ed2605f040
Original change's description:
> [d8][wasm] Test wasm compilation completion
>
> d8 was recently changed to keep running until wasm compilation has
> completed. This adds a message test to test that.
>
> R=ahaas@chromium.org
>
> Change-Id: I73af53b6df4ee5f9a6afd26cf2d71a269140465f
> Reviewed-on: https://chromium-review.googlesource.com/966184
> Reviewed-by: Andreas Haas <ahaas@chromium.org>
> Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#52008}
Change-Id: Iadbd5056dfa58da454956c4e89369af8b0455b35
Reviewed-on: https://chromium-review.googlesource.com/975242
Reviewed-by: Andreas Haas <ahaas@chromium.org>
Commit-Queue: Clemens Hammacher <clemensh@chromium.org>
Cr-Commit-Position: refs/heads/master@{#52154}
This commit is contained in:
parent
543c007ea6
commit
4d1c2907d3
22
test/message/wasm-finish-compilation.js
Normal file
22
test/message/wasm-finish-compilation.js
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
// Copyright 2018 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.
|
||||||
|
|
||||||
|
// Flags: --no-stress-opt
|
||||||
|
|
||||||
|
load('test/mjsunit/wasm/wasm-constants.js');
|
||||||
|
load('test/mjsunit/wasm/wasm-module-builder.js');
|
||||||
|
|
||||||
|
// Test that d8 does not terminate until wasm compilation has finished and the
|
||||||
|
// promise was resolved.
|
||||||
|
|
||||||
|
var builder = new WasmModuleBuilder();
|
||||||
|
// Add a few functions so it takes some time to compile.
|
||||||
|
for (var i = 0; i < 2000; ++i) {
|
||||||
|
builder.addFunction('fun' + i, kSig_i_v)
|
||||||
|
.addBody([...wasmI32Const(i)])
|
||||||
|
.exportFunc();
|
||||||
|
}
|
||||||
|
builder.asyncInstantiate()
|
||||||
|
.then(instance => instance.exports.fun1155())
|
||||||
|
.then(res => print('Result of executing fun1155: ' + res));
|
1
test/message/wasm-finish-compilation.out
Normal file
1
test/message/wasm-finish-compilation.out
Normal file
@ -0,0 +1 @@
|
|||||||
|
Result of executing fun1155: 1155
|
@ -683,6 +683,11 @@ class WasmModuleBuilder {
|
|||||||
return instance;
|
return instance;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
asyncInstantiate(ffi) {
|
||||||
|
return WebAssembly.instantiate(this.toBuffer(), ffi)
|
||||||
|
.then(({module, instance}) => instance);
|
||||||
|
}
|
||||||
|
|
||||||
toModule(debug = false) {
|
toModule(debug = false) {
|
||||||
return new WebAssembly.Module(this.toBuffer(debug));
|
return new WebAssembly.Module(this.toBuffer(debug));
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user