Reland "Reland "[d8][wasm] Test wasm compilation completion""
The deadlock should be fixed with https://crrev.com/c/1002174. This is a reland of4d1c2907d3
Original change's description: > Reland "[d8][wasm] Test wasm compilation completion" > > This is a reland ofed2605f040
> > 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} Bug: chromium:824681 Change-Id: I4077645bcfcb2320f6573bb779027add36feee3f Reviewed-on: https://chromium-review.googlesource.com/999632 Commit-Queue: Clemens Hammacher <clemensh@chromium.org> Reviewed-by: Andreas Haas <ahaas@chromium.org> Cr-Commit-Position: refs/heads/master@{#52505}
This commit is contained in:
parent
042d5f68e0
commit
bbb26b5f75
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;
|
||||
}
|
||||
|
||||
asyncInstantiate(ffi) {
|
||||
return WebAssembly.instantiate(this.toBuffer(), ffi)
|
||||
.then(({module, instance}) => instance);
|
||||
}
|
||||
|
||||
toModule(debug = false) {
|
||||
return new WebAssembly.Module(this.toBuffer(debug));
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user