tor-browser

The Tor Browser
git clone https://git.dasho.dev/tor-browser.git
Log | Files | Refs | README | LICENSE

recover-autounsafe.js (1075B)


      1 // |jit-test| --ion-eager; --ion-offthread-compile=off
      2 
      3 // Some AutoUnsafeCallWithABI functions can be reached via recovery instructions.
      4 // This testcase is designed to trigger all of the recovery paths that can reach
      5 // AutoUnsafeCallWithABI functions, while an exception is being thrown.
      6 
      7 (function() {
      8    inputs = [];
      9    f = (function(x) {
     10 var o = {a: x};
     11        4294967297 ** (x >>> 0) *
     12     4294967297 / x >>> 0 *
     13     4294967297 % x >>> 0 *
     14     Math.max(4294967297, x >>> 0) *
     15     Math.min(4294967, x >>> 0) *
     16     Math.atan2(4294967, x >>> 0) *
     17     Math.sin(x >>> 0) *
     18     Math.sqrt(x >>> 0) *
     19     Math.hypot(4294967, x >>> 0) *
     20     Math.ceil((x >>> 0) * 0.5) *
     21     Math.floor((x >>> 0) * 0.5) *
     22     Math.trunc((x >>> 0) * 0.5) *
     23     Math.round((x >>> 0) * 0.5) *
     24     Math.sign(x >>> 0) *
     25     Math.log(x >>> 0) *
     26     !o *
     27            Math.fround(y); // Exception thrown here; y is not defined.
     28    });
     29    if (f) {
     30        for (var j = 0; j < 2; ++j) {
     31            try {
     32                f(inputs[0]);
     33            } catch (e) {}
     34        }
     35    }
     36 })();