Closed
Bug 670633
Opened 12 years ago
Closed 12 years ago
IonMonkey: Add spill store elimination to linear scan register allocator
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: adrake, Assigned: adrake)
References
Details
Attachments
(1 file)
5.05 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
Wimmer's paper reports a 3-4% win out of this, so it seems worthwhile to do.
Assignee | ||
Comment 1•12 years ago
|
||
This patch does two things: 1) In LinearScanAllocator::spill(), if there is a canonical spill location, spill to that instead of allocating a new one. When a memory location is assigned, make that the canonical spill location (i.e. the argument slots on the stack). 2) In the reification pass, if there is a redundant store to the canonical spill location (i.e. any but the first), drop it on the floor.
Attachment #548745 -
Flags: review?(dvander)
Comment on attachment 548745 [details] [diff] [review] Patch v0 Review of attachment 548745 [details] [diff] [review]: -----------------------------------------------------------------
Attachment #548745 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 3•12 years ago
|
||
http://hg.mozilla.org/projects/ionmonkey/rev/7bd4ed0a2285
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
•