Last Comment Bug 725254 - IonMonkey: Need optimistic GVN for gaussian-blur
: IonMonkey: Need optimistic GVN for gaussian-blur
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: JavaScript Engine (show other bugs)
: unspecified
: All All
: -- normal (vote)
: ---
Assigned To: general
:
Mentors:
Depends on: 723536
Blocks: IonSpeed
  Show dependency treegraph
 
Reported: 2012-02-08 03:01 PST by Jan de Mooij [:jandem] (PTO until July 31)
Modified: 2012-03-22 09:28 PDT (History)
5 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments

Description Jan de Mooij [:jandem] (PTO until July 31) 2012-02-08 03:01:03 PST
Kraken gaussian-blur has many duplicate expressions, so it's a good CSE/GVN testcase:
--
r += squidImageData[4 * ((y + j) * width + (x + i)) + 0] * kernel[Math.abs(j)][Math.abs(i)];
g += squidImageData[4 * ((y + j) * width + (x + i)) + 1] * kernel[Math.abs(j)][Math.abs(i)];
b += squidImageData[4 * ((y + j) * width + (x + i)) + 2] * kernel[Math.abs(j)][Math.abs(i)];
a += squidImageData[4 * ((y + j) * width + (x + i)) + 3] * kernel[Math.abs(j)][Math.abs(i)];
--
For bug 723536, the default GVN mode was switched from optimistic to pessimistic. Turns out that we probably need optimistic GVN here:

IM+TI optimistic GVN : 325 ms
JM+TI                : 498 ms
IM+TI no GVN         : 507 ms
IM+TI pessimistic GVN: 522 ms
Comment 1 David Anderson [:dvander] 2012-02-08 09:40:38 PST
Interesting that no GVN is faster than pessimistic GVN?
Comment 2 Ryan Pearl [:rpearl] 2012-02-08 16:08:08 PST
(In reply to David Anderson [:dvander] from comment #1)
> Interesting that no GVN is faster than pessimistic GVN?

I would assume due to register pressure increasing.
Comment 4 Jan de Mooij [:jandem] (PTO until July 31) 2012-03-22 09:28:40 PDT
Yeah, we're doing pretty well on gaussian-blur nowadays.

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