Closed
Bug 677041
Opened 14 years ago
Closed 14 years ago
IonMonkey: Wrong result with lsra
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: dvander, Assigned: adrake)
References
Details
Attachments
(1 file)
|
7.70 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
var f = function (y) {
var x = y;
for (var i = 0; i; i = i + 1) {
x = x & i;
}
return x;
}
print(f(2));
Prints "NaN" instead of 2. There is a very weird exchange between ecx/edx on the edges of two branches and without that it looks correct.
| Assignee | ||
Comment 1•14 years ago
|
||
Fixes a thinko in the control flow resolution algorithm, as well as some related brain damage in live interval construction that I found in some other test cases.
I also added an assertion to catch escaping live registers, as I encountered several of these while debugging this problem, and they look a lot like LSRA bugs but are caused by emitAtUses brokenness. I will file a follow up bug for emitAtUses issues.
| Assignee | ||
Comment 2•14 years ago
|
||
Filed bug 677066 for issues with emitAtUses.
| Reporter | ||
Updated•14 years ago
|
Attachment #551302 -
Flags: review?(dvander) → review+
| Assignee | ||
Comment 3•14 years ago
|
||
Status: ASSIGNED → RESOLVED
Closed: 14 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•