diff options
Diffstat (limited to '')
-rw-r--r-- | js/src/jit-test/tests/wasm/regress/debug-exception-in-fast-import.js | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/wasm/regress/debug-exception-in-fast-import.js b/js/src/jit-test/tests/wasm/regress/debug-exception-in-fast-import.js new file mode 100644 index 0000000000..bba37b38b0 --- /dev/null +++ b/js/src/jit-test/tests/wasm/regress/debug-exception-in-fast-import.js @@ -0,0 +1,21 @@ +// |jit-test| skip-if: !wasmDebuggingEnabled() +g = newGlobal({newCompartment: true}); +g.parent = this; +g.eval("(" + function() { + Debugger(parent).onExceptionUnwind = function(frame) {} +} + ")()") + +o = {}; + +let { exports } = wasmEvalText(` + (module (import "" "inc" (func $imp)) (func) (func $start (call $imp)) (start $start) (export "" (func $start))) +`, { + "": { + inc: function() { o = o.p; } + } +}); + +// after instanciation, the start function has been executed and o is undefined. +// This second call will throw in the imported function: + +assertErrorMessage(exports[""], TypeError, /undefined/); |