RFR(M): 7197327: 40% regression on 8 b41 comp 8 b40 on specjvm2008.mpegaudio on oob
Roland Westrelin
roland.westrelin at oracle.com
Tue Jan 22 03:44:38 PST 2013
> All combinations: 1-2,2-3,1-3. Will need additional check in process_expensive_nodes() to do nothing if c1==c2 (got it from processing previous pairs).
I don't understand why it's better than keeping a flat list. The combinations can be easily built from the list once sorted.
>> 1- Move the node up the dominator tree along paths with same frequency
>
> In my second mail I suggested to do it in build_loop_early() method where you have early_ctrl for data inputs.
But 2- can bring more opportunities to do 1- again.
>
>> 2- Handle If with same computation in both branches
>> 3- Check for computation that dominates another computation
>>
>> 1- and 2- is done in a loop until no more progress.
>>
>> You code above does 2- and 3-. Are you suggesting 1- can be dropped? Or that there's no need for 1- and 2- as separate steps in a loop?
>>
>> I wrote the code in process_expensive_nodes() so that it optimizes this correctly:
>
> Which should collapse to calls only before loop. Right?
Yes.
Roland.
More information about the hotspot-compiler-dev
mailing list