Closed
Bug 738577
Opened 12 years ago
Closed 12 years ago
IonMonkey: Unwrap MPassArg in encodeSlots().
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
FIXED
People
(Reporter: jandem, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
2.01 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
This assert breaks Kraken. The problem is that MResumePoint::setOperand unwraps MPassArg, but initOperand calls addUse on the MPassArg instead of its argument: void MNode::initOperand(size_t index, MDefinition *ins) { setOperand(index, ins); ins->addUse(this, index); } Easiest fix is to change initOperand: getOperand(index)->addUse(this, index); Not sure if it's the best fix though. Any thoughts?
Comment 1•12 years ago
|
||
The unwrapping shouldn't have been done in setOperand(); the actual bug was that we missed unwrapping in encodeSlots(). We could also elect to unwrap in getOperand(). This passes earley-boyer, but still fails Kraken and a few other tests with TI errors. These regressions appear to be merge fallout.
Attachment #608862 -
Flags: review?(dvander)
Updated•12 years ago
|
Attachment #608862 -
Flags: review?(dvander) → review+
Comment 2•12 years ago
|
||
https://hg.mozilla.org/projects/ionmonkey/rev/dec79c24caa3
Status: NEW → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Summary: IonMonkey: Assertion failure: isLowered(), at MIR.h:423 → IonMonkey: Unwrap MPassArg in encodeSlots().
You need to log in
before you can comment on or make changes to this bug.
Description
•