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)
(deleted),
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
|
||
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
•