Closed Bug 870539 Opened 12 years ago Closed 12 years ago

Incorrect behavior in IonMonkey with lots of exceptions

Categories

(Core :: JavaScript Engine, defect)

x86_64
Linux
defect
Not set
normal

Tracking

()

RESOLVED WORKSFORME

People

(Reporter: azakai, Unassigned)

Details

Attachments

(1 file)

Attached file Testcases
Attached are two testcases. a.out.js is the original, and 14.js an attempted reduction with lithium (not 100% sure that it is valid, so here are both). They give different behavior when run normally and with --no-ion. This is compiled code from emscripten, that basically hammers on throwing and catching C++ exceptions. Those are implemented using JS exceptions, so there are lots of those thrown here. The main C++ loop looks like this: for(int i = 0; i < 10000; ++i) { try { throw std::runtime_error("Throwing an exception."); } catch(const std::exception &e) { ++numExceptions; } }
The main compiled loop in JS is in function _main. It throws and catches using invoke, handles using some cxa__ functions.
Amusingly, merely setting IONFLAGS=aborts (or any other valid value) causes correct behavior.
This now works.
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → WORKSFORME
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: