blob: ab95fb207c74a574f3b0e26d454bd27b25519856 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
|
// |jit-test| skip-if: !getBuildConfiguration("arm"); test-also=--arm-hwcap=armv7,vfp
// The command line options disable the idiv instruction and thus make the
// baseline compiler unavailable, so we must be prepared for a run-time error
// below in the baseline-only configuration.
// The flags above should be sufficient for there to be a WebAssembly object.
assertEq(typeof WebAssembly, "object");
try {
var i = new WebAssembly.Instance(
new WebAssembly.Module(
wasmTextToBinary('(module (func (export "") (result i32) (i32.const 42)))')));
assertEq(i.exports[""](), 42);
} catch (e) {
if (String(e).match(/no WebAssembly compiler available/)) {
switch (wasmCompileMode()) {
case "none":
// This is fine: the limited feature set combined with command line
// compiler selection caused all compilers to be disabled.
break;
default:
// This is not fine: if there's a compiler available then we should
// not get an error.
throw e;
}
} else {
// Some other error, propagate it.
throw e;
}
}
|