summaryrefslogtreecommitdiffstats
path: root/js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js
blob: 17c11f8599de20934cfd00d051ac916c32a17fb4 (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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
function runNearStackLimit(f) {
  function t() {
    try {
      return t();
    } catch (e) {
      return f();
    }
  }
    return t()
}
var helpers = function helpers() {
  return {
    get isCompatVersion9() {
    }  };
}();
var testRunner = function testRunner() {
  var testRunner = {
    asyncTestHasNoErr: function asyncTestHasNoErr() {
    },
    runTests: function runTests(testsToRun) {
      for (var i in testsToRun) {
          this.runTest(i, testsToRun[i].name, testsToRun[i].body);
      }
    },
    runTest: function runTest(testIndex, testName, testBody) {
      try {
        testBody();
      } catch (ex) {
      }
    },
    asyncTestBegin: function asyncTestBegin() {
        return explicitAsyncTestExit ? `
                    ` : `
                    `;
    }  };
  return testRunner;
}();
var assert = function assert() {
  var validate = function validate() {
  };
  return {
    areEqual: function areEqual() {
      validate( message);
    },
    areNotEqual: function areNotEqual() {
    }  };
}();
class __c_19 {
  constructor() {
      this.foo = 'SimpleParent';
  }
}
var __v_2735 = [{
  body: function () {
    class __c_23 extends __c_19 {
      constructor() {
          super()
      }
    }
    let __v_2738 = new __c_23();
  }
}, {
  body: function () {
    class __c_26 extends __c_19 {
      constructor() {
          super();
      }
    }
    let __v_2739 = new __c_26();
  }
}, {
  body: function () {
    class __c_29 extends __c_19 {
      constructor() {
            super()
      }
    }
    let __v_2743 = new __c_29();
    class __c_30 extends __c_19 {
      constructor() {
            super()
            super();
      }
    }
    let __v_2746 = new __c_30();
  }
}, {
  body: function () {
    class __c_34 extends __c_19 {}
    let __v_2749 = new __c_34();
  }
}, {
  body: function () {
    class __c_87 extends __c_19 {
      constructor() {
        try {
          assert.areEqual();
        } catch (e) {}
            eval('super();')
      }
    }
    function __f_683(__v_2812) {
 __v_2812.foo
    }
      __f_683(new __c_87())
      runNearStackLimit(() => {
        return __f_683();
      })
  }
}, {
  body: function () {
  }
}];
  testRunner.runTests(__v_2735, {
  });