RFR(M): 8026253: New type profiling points: sparc support
roland.westrelin at oracle.com
Fri Jan 10 04:44:32 PST 2014
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.
> On 1/9/14 12:35 AM, Roland Westrelin wrote:
>> 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.
More information about the hotspot-compiler-dev