Closed
Bug 779860
Opened 13 years ago
Closed 12 years ago
IonMonkey: OSR can cause lots of stack moves
Categories
(Core :: JavaScript Engine, defect)
Core
JavaScript Engine
Tracking
()
RESOLVED
DUPLICATE
of bug 780973
People
(Reporter: jandem, Assigned: jandem)
References
(Blocks 1 open bug)
Details
(Whiteboard: [ion:p2])
Attachments
(1 file)
652 bytes,
application/x-javascript
|
Details |
If we enter an inner loop using OSR, the outer loop may contain a huge movegroup. This happens when the input to an OSR-phi is live after the phi itself, so that regalloc allocates another stack slot or register for the phi.
The attached micro-benchmark demonstrates the problem, I get these numbers:
JM : 1780 ms
Ion : 3600 ms
If I remove all the a* variables from the return statement, the problem goes away (fewer overlapping live ranges so the phi can reuse the input allocation) and Ion gets 1900 ms (1300 ms with range analysis on).
I'm not sure how much fixing this will help SS-fannkuch though.
Updated•13 years ago
|
Whiteboard: [ion:p2]
Assignee | ||
Comment 1•12 years ago
|
||
Bug 780973 should have fixed the most problematic cases like the attached micro-benchmark. Let's reopen or file a new bug if that's not sufficient.
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Assignee | ||
Updated•12 years ago
|
Resolution: FIXED → DUPLICATE
You need to log in
before you can comment on or make changes to this bug.
Description
•