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)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla28

People

(Reporter: jandem, Assigned: jandem)

Details

Attachments

(1 file, 1 obsolete file)

Attached patch Patch (obsolete) (deleted) — 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)
Attached patch Patch (deleted) — Splinter Review
Forgot to add the testcase.
Attachment #8341797 - Attachment is obsolete: true
Attachment #8341797 - Flags: review?(hv1989)
Attachment #8341804 - Flags: review?(hv1989)
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+
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 :(
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.

Attachment

General

Created:
Updated:
Size: