Closed
Bug 677041
Opened 12 years ago
Closed 12 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•12 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•12 years ago
|
||
Filed bug 677066 for issues with emitAtUses.
![]() |
Reporter | |
Updated•12 years ago
|
Attachment #551302 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 3•12 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/51da05c4a153
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
You need to log in
before you can comment on or make changes to this bug.
Description
•