Source code

Revision control

Copy as Markdown

Other Tools

// |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;
}
}