Last Comment Bug 783272 - IonMonkey: Remove code to eagerly spill phis if there's no register available
: IonMonkey: Remove code to eagerly spill phis if there's no register available
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: Jan de Mooij [:jandem]
: general
Mentors:
Depends on:
Blocks: 777561
  Show dependency treegraph
 
Reported: 2012-08-16 07:39 PDT by Jan de Mooij [:jandem]
Modified: 2012-08-17 04:05 PDT (History)
3 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Patch (1.23 KB, patch)
2012-08-16 07:39 PDT, Jan de Mooij [:jandem]
dvander: review+
Details | Diff | Review

Description Jan de Mooij [:jandem] 2012-08-16 07:39:39 PDT
Created attachment 652449 [details] [diff] [review]
Patch

Bug 675381 added some code to prevent blocked register allocation at phis. This hurts the loop in 3d-cube's DrawLine; the code Ion currently generates for the loop is atrocious. The patch reduces the instruction count for that loop from 43 to 29 and reduces the benchmark time from 12.2 to 11.7 ms.

I will fuzz this for a few hours before landing, just in case I'm missing something, but I'm pretty sure this patch is safe now.
Comment 1 Jan de Mooij [:jandem] 2012-08-17 04:05:41 PDT
https://hg.mozilla.org/projects/ionmonkey/rev/d794f23798f4

This didn't turn out to be a large 3d-cube win on AWFY, but it helped ss-nsieve, navier-stokes and gaussian-blur.

Note You need to log in before you can comment on or make changes to this bug.