Request for reviews (S): 7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64 (original) (raw)

Vladimir Kozlov vladimir.kozlov at oracle.com
Fri Sep 9 12:13:33 PDT 2011


Thank you, Tom

Vlaidmir

Tom Rodriguez wrote:

Looks good.

tom On Sep 9, 2011, at 9:54 AM, Vladimir Kozlov wrote:

http://cr.openjdk.java.net/~kvn/7035946/webrev

7035946: Up to 15% regression on JDK 7 b136 vs b135 on specjvm2008.crypto.rsa on x64 It is almost exact anti-delta of my changes in 7008866. I kept replaceparalleliv() as separate method and added new TraceLoopOpts output. I traced down the most of regression to my changes for "replace parallel induction variables" optimization in 7008866 fix. I replaced new nodes IGVN registration with immediate Ideal transformation. As result SplitIf optimization reversed it back by doing spit through Phi and it prevents loop predicates (which follow SplitIf) execute RCE. If local transformation in replaceparalleliv() is not executed the created new code matches RCE shape: ivratio+(init2-initratio) where (init2-init*ratio) is loop invariant. And SplitIf optimization does not execute spit through Phi for AddI nodes in Counted loops. Yes, a lot of hidden dependences. An other part of regression came from always creation of new loop iteration Phi node. I was not able to find why it has regression affect. I returned code back to keep original Phi. I do not see affect on refworkload benchmark after this fix. Thanks, Vladimir



More information about the hotspot-compiler-dev mailing list