Closed
Bug 670632
Opened 14 years ago
Closed 14 years ago
IonMonkey: Add register hinting to the linear scan register allocator
Categories
(Core :: JavaScript Engine, defect)
Tracking
()
RESOLVED
FIXED
People
(Reporter: adrake, Assigned: adrake)
References
Details
Attachments
(1 file, 1 obsolete file)
10.50 KB,
patch
|
dvander
:
review+
|
Details | Diff | Splinter Review |
Wimmer's paper reports ~1% run-time speedup from simply doing register hinting across moves.
Assignee | ||
Updated•14 years ago
|
Assignee: general → adrake
Status: NEW → ASSIGNED
Assignee | ||
Comment 1•14 years ago
|
||
Nice and simple. I can hit this case on some test cases, but it's Yet Another Heuristic™. We should remember to benchmark with and without this later on some test cases we care about.
Attachment #545252 -
Flags: review?(dvander)
Assignee | ||
Comment 2•14 years ago
|
||
This includes both of the following hinting optimizations:
1) When an interval is up for free register allocation, if it is not the first
interval for the virtual register (i.e. it was split from another interval),
try to allocate the same register as the previous interval in order to avoid
emitting a move, even if it's not "optimal" by other heuristics. This is the
optimization described in Wimmer's paper.
2) When an interval is up for free register allocation, if the next use of the
interval has a FIXED policy, try to allocate that register. This eliminates
truly stupid moves surrounding FIXED policies that could have been avoided
just by picking the fixed register to start with.
Neither of these is a particularly huge gain, but neither is particularly hard to do, either.
Attachment #545252 -
Attachment is obsolete: true
Attachment #548741 -
Flags: review?(dvander)
Attachment #545252 -
Flags: review?(dvander)
Comment on attachment 548741 [details] [diff] [review]
Patch v1
Review of attachment 548741 [details] [diff] [review]:
-----------------------------------------------------------------
Attachment #548741 -
Flags: review?(dvander) → review+
Assignee | ||
Comment 4•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
•