Closed
Bug 870539
Opened 12 years ago
Closed 12 years ago
Incorrect behavior in IonMonkey with lots of exceptions
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
WORKSFORME
People
(Reporter: azakai, Unassigned)
Details
Attachments
(1 file)
|
312.67 KB,
application/zip
|
Details |
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;
}
}
| Reporter | ||
Comment 1•12 years ago
|
||
The main compiled loop in JS is in function _main. It throws and catches using invoke, handles using some cxa__ functions.
Comment 2•12 years ago
|
||
Amusingly, merely setting IONFLAGS=aborts (or any other valid value) causes correct behavior.
| Reporter | ||
Comment 3•12 years ago
|
||
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.
Description
•