Closed
Bug 945811
Opened 11 years ago
Closed 11 years ago
Assertion failure: !analysisContext->isExceptionPending(), at jit/IonBuilder.cpp:3868
Categories
(Core :: JavaScript Engine: JIT, defect)
Core
JavaScript Engine: JIT
Tracking
()
RESOLVED
FIXED
mozilla28
People
(Reporter: jandem, Assigned: jandem)
Details
Attachments
(1 file, 1 obsolete file)
21.66 KB,
patch
|
h4writer
:
review+
|
Details | Diff | Splinter Review |
decoder reported this on IRC. The problem was that the call to getOrCreateScript in IonBuilder was not propagating an error. This patch refactors the inlining code a bit so that this is handled correctly. This may fix intermittent orange bug 939714 and/or bug 923614.
Attachment #8341797 -
Flags: review?(hv1989)
Assignee | ||
Comment 1•11 years ago
|
||
Forgot to add the testcase.
Attachment #8341797 -
Attachment is obsolete: true
Attachment #8341797 -
Flags: review?(hv1989)
Attachment #8341804 -
Flags: review?(hv1989)
Comment 2•11 years ago
|
||
Comment on attachment 8341804 [details] [diff] [review] Patch Review of attachment 8341804 [details] [diff] [review]: ----------------------------------------------------------------- Nice. We indeed need to have some error propagation there. Though I have a few comments: 1) Why don't we reuse InliningStatus, instead of adding InliningDecision. I don't see any reason not to. They both have the same 3 values (error, inlined, notInlined). No need for this extra enum. Though I wouldn't be mad if we decided to rename InliningStatus to InliningDecision ;) 2) IonBuilder::DontInline should be IonBuilder::dontInline(targetScript, const char *reason). Lowercase. Looks much cleaner with the dontInline spewing ;) Ps: did you have to do this before optimizationLevels landed :P
Attachment #8341804 -
Flags: review?(hv1989) → review+
Assignee | ||
Comment 3•11 years ago
|
||
https://hg.mozilla.org/integration/mozilla-inbound/rev/48b19f9cc967 (In reply to Hannes Verschore [:h4writer] from comment #2) > 1) Why don't we reuse InliningStatus, instead of adding InliningDecision. Discussed this on IRC - it felt wrong to use "InliningStatus_Inlined" when we are not sure we are going to inline.. > > 2) IonBuilder::DontInline should be IonBuilder::dontInline(targetScript, > const char *reason). Lowercase. It's a static method so it has to be uppercase - see also MBasicBlock::New, IonBuilder::TableSwitch, etc. > Ps: did you have to do this before optimizationLevels landed :P Sorry! For some reason we're touching the same code lately :(
Comment 4•11 years ago
|
||
https://hg.mozilla.org/mozilla-central/rev/48b19f9cc967
Status: ASSIGNED → RESOLVED
Closed: 11 years ago
Flags: in-testsuite+
Resolution: --- → FIXED
Target Milestone: --- → mozilla28
You need to log in
before you can comment on or make changes to this bug.
Description
•