diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 19:33:14 +0000 |
commit | 36d22d82aa202bb199967e9512281e9a53db42c9 (patch) | |
tree | 105e8c98ddea1c1e4784a60a5a6410fa416be2de /js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js | |
parent | Initial commit. (diff) | |
download | firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.tar.xz firefox-esr-36d22d82aa202bb199967e9512281e9a53db42c9.zip |
Adding upstream version 115.7.0esr.upstream/115.7.0esr
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js')
-rw-r--r-- | js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js b/js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js new file mode 100644 index 0000000000..17c11f8599 --- /dev/null +++ b/js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js @@ -0,0 +1,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, { + });
\ No newline at end of file |