Open
Bug 1200407
Opened 9 years ago
Updated 2 years ago
Use EffectiveAddress instead of AddI to reduce register pressure
Categories
(Core :: JavaScript Engine: JIT, defect, P5)
Core
JavaScript Engine: JIT
Tracking
()
NEW
Tracking | Status | |
---|---|---|
firefox43 | --- | affected |
People
(Reporter: bhackett1024, Unassigned)
References
(Blocks 1 open bug)
Details
Attachments
(1 file)
12.00 KB,
patch
|
Details | Diff | Splinter Review |
When there is an add instruction where both inputs are live afterwards, or one input is live and the other is a constant, on x86/x64 the register allocator ends up needing to copy an input at some point because the add will clobber its output register. This hits at a couple of hot sites in a zlib inflation benchmark. The attached patch lowers these instructions using LEffectiveAddress instead of LAddI. This reduces the total number of Ion instructions executed by 1% and the amount of spill code executed by 4%. Unfortunately it seems to slow down the actual run time of the benchmark by 1-2%, so it seems better to shelf this for now until there's a better understanding of what's going on.
Updated•8 years ago
|
Blocks: sm-js-perf
Priority: -- → P5
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•