[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,
Zoltan
>
>
> 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 ppc-aix-port-dev
mailing list