From 36d22d82aa202bb199967e9512281e9a53db42c9 Mon Sep 17 00:00:00 2001 From: Daniel Baumann Date: Sun, 7 Apr 2024 21:33:14 +0200 Subject: Adding upstream version 115.7.0esr. Signed-off-by: Daniel Baumann --- .../inlining/exception-during-inlining-decision.js | 115 +++++++++++++++++++++ 1 file changed, 115 insertions(+) create mode 100644 js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js (limited to 'js/src/jit-test/tests/ion/inlining/exception-during-inlining-decision.js') 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 -- cgit v1.2.3