RFR(L): 8036976: PPC64: implement the template interpreter

Coleen Phillimore coleen.phillimore at oracle.com
Tue Mar 11 14:55:09 UTC 2014

This is a lot of code to review but I have a couple of comments anyway.  
It doesn't seem like the functions are in the same place as they are for 
the other platforms, eg. generate_accessor_entry is in 
interpreter_ppc.cpp and not in templateInterpreter_ppc.cpp.

Also, it appears that you ported the code for UseFastAccessorEntries and 
UseFastEmptyMethods.  We have that turned off and it's been bit rotting 
(maybe not currently rotten but nobody knows) for years because it made 
performance worse rather than better.  We had hoped to remove this code, 
so that there was less assembly code.   Did you find any performance 
benefits to this code?



On 3/11/14 5:13 AM, Lindenmaier, Goetz wrote:
> Hi,
> This time I have a really nice one: the template interpreter for ppc64!
> Great thanks to my colleagues, especially Axel and Martin, who ported
> this.
> http://cr.openjdk.java.net/~goetz/webrevs/8036976-0-ti/
> With this change, both interpreters can be used on linux_ppc64 and aix_ppc64.
> This change almost only touches ppc platform files.
> I shared files, I needed to add a special case for PPC64 in make/linux/Makefile, as I found no way to set FORCE_TIERED=0 in any ppc file that's included above the use of FORCE_TIERED. As we don't have C1, the current scheme does not work for ppc64.
> Actually, one should have lines as
>     supports_cppInterpreter = 1
>     supports_c2 = 1
>     supports_c1 = 0
> in platform_<cpu>. But that's out of scope of this change.
> Further I add a #include in src/share/vm/interpreter/templateTable.hpp.  That's all for shared changes.
> Please review and test this change.
> Best regards,
>    Goetz.

More information about the hotspot-dev mailing list