RFR(M): 8026253: New type profiling points: sparc support

Roland Westrelin roland.westrelin at oracle.com
Fri Jan 10 04:44:32 PST 2014

Hi Vladimir,

Thanks for reviewing this.

> c1_LIRAssembler_sparc.cpp: consider using not short branch instruction because the distance could be big (stop() generates a lot of code):
> 3135       __ ba_short(next);

I did a specjvm98 run on a T4 with VerifyOops on and the code as it is runs fine.
The interpreter code is ok unless TypeProfileArgsLimit is set to something unreasonable (10).
The ba_short that you mention above is the most likely to cause problem on the compiler side. I could convert it to a non short branch just to be safe. What do you think?


> Otherwise it seems good.
> Thanks,
> Vladimir
> On 1/9/14 12:35 AM, Roland Westrelin wrote:
>> http://cr.openjdk.java.net/~roland/8026253/webrev.00/
>> The main difference with the x86 code is that on sparc, the current profile value is loaded, checked & updated and finally stored rather than checked & updated in place as is done on x86. As a consequence the code is somewhat simpler because concurrent updates to the profile are not possible.
>> Roland.

More information about the hotspot-compiler-dev mailing list