[9] RFR(XS): 8068505: interpreter profiling incorrect on PPC

Zoltán Majó zoltan.majo at oracle.com
Wed Jan 7 17:14:13 UTC 2015

Hi Volker,

thank you for the feedback!

On 01/07/2015 06:02 PM, Volker Simonis wrote:
> Hi Zoltan,
> thanks for this change. I think you're right with your observation
> that the code is wrong. It seems this is an old copy and paste error
> which has been in the port since the first day. The historical
> background is that we implemented tiered compilation with the C2
> compiler only but haven't contributed that to the OpenJDK. But even
> with our C2-based tiered compilation, the code region fixed by you was
> never executed and still isn't executed because we have no C1 in the
> ppc64 port (and therefore no tiered compilation).

This makes things much clearer to me.

> So the only test I can currently do is to verify that the new code
> compiles - which I've just verified. Nevertheless your change is good
> since we might start working on C1 later this year.
> I can sponsor this change (and push it because it only touches a
> ppc-specific file).

Thank you! It would be great if you could push the change.

> Regards,
> Volker
> PS: just out of curiosity - how did you stumble over this problem
> without even having ppc64 hardware? Maybe you just like reading
> ppc-assembly:)

I'm currently working on JDK-8059606 (enabling per-method compilation 
thresholds) and I was looking into how invocation and backedge counters 
are used by hotspot. So I stumbled upon this small problem... :-)

Best regards,


> On Tue, Jan 6, 2015 at 2:45 PM, Zoltán Majó <zoltan.majo at oracle.com> wrote:
>> Hi,
>> I've recently looked at the PPC port in hotspot and I noticed the following
>> small problem.
>> Problem: The method TemplateInterpreterGenerator::generate_counter_incr()
>> increments method invocations counters on all supported architectures,
>> except on PPC (w/ tiered compilation enabled). As a result, methods might be
>> compiled later and OSR happens sooner than specified by compilation
>> thresholds.
>> Solution: Change generate_counter_incr() in templateInterpreter_ppc.cpp to
>> use invocation counters instead of backedge counters.
>> Webrev: http://cr.openjdk.java.net/~zmajo/8068505/webrev.00/
>> JDK Bug: https://bugs.openjdk.java.net/browse/JDK-8068505
>> I was not able to test the change as I don't have access to appropriate
>> infrastructure.
>> Maybe this is the wrong list to send this RFR to. If yes, could you please
>> tell me where to send it?
>> Thank you and best regards,
>> Zoltan

More information about the hotspot-dev mailing list