From 2aa4a82499d4becd2284cdb482213d541b8804dd Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 28 Apr 2024 16:29:10 +0200 Subject: Adding upstream version 86.0.1. Signed-off-by: Daniel Baumann --- js/src/jit-test/tests/ion/recover-autounsafe.js | 36 +++++++++++++++++++++++++ 1 file changed, 36 insertions(+) create mode 100644 js/src/jit-test/tests/ion/recover-autounsafe.js (limited to 'js/src/jit-test/tests/ion/recover-autounsafe.js') diff --git a/js/src/jit-test/tests/ion/recover-autounsafe.js b/js/src/jit-test/tests/ion/recover-autounsafe.js new file mode 100644 index 0000000000..e03b018ccc --- /dev/null +++ b/js/src/jit-test/tests/ion/recover-autounsafe.js @@ -0,0 +1,36 @@ +// |jit-test| --ion-eager; --ion-offthread-compile=off + +// Some AutoUnsafeCallWithABI functions can be reached via recovery instructions. +// This testcase is designed to trigger all of the recovery paths that can reach +// AutoUnsafeCallWithABI functions, while an exception is being thrown. + +(function() { + inputs = []; + f = (function(x) { + var o = {a: x}; + 4294967297 ** (x >>> 0) * + 4294967297 / x >>> 0 * + 4294967297 % x >>> 0 * + Math.max(4294967297, x >>> 0) * + Math.min(4294967, x >>> 0) * + Math.atan2(4294967, x >>> 0) * + Math.sin(x >>> 0) * + Math.sqrt(x >>> 0) * + Math.hypot(4294967, x >>> 0) * + Math.ceil((x >>> 0) * 0.5) * + Math.floor((x >>> 0) * 0.5) * + Math.trunc((x >>> 0) * 0.5) * + Math.round((x >>> 0) * 0.5) * + Math.sign(x >>> 0) * + Math.log(x >>> 0) * + !o * + Math.fround(y); // Exception thrown here; y is not defined. + }); + if (f) { + for (var j = 0; j < 2; ++j) { + try { + f(inputs[0]); + } catch (e) {} + } + } +})(); -- cgit v1.2.3