RFR(S): 8205609: [PPC64] Fix PPC64 part of 8010319 and TLH without UseSIGTRAP on AIX

David Holmes david.holmes at oracle.com
Tue Jun 26 02:11:17 UTC 2018

Hi Martin,

On 26/06/2018 12:34 AM, Doerr, Martin wrote:
> Hi,
> I'd like to fix issues with the current PPC64 implementation:
>    *   Wrong register usage in template interpreter after JDK-8010319.

Well that's disappointing - I thought it had all been pre-tested.

This code is quite confusing. We have:

3584   prepare_invoke(byte_no, Rinterface_klass, Rret_addr, Rmethod, 
Rreceiver, Rflags, Rscratch1);

but the definition of prepare_invoke is:

3332 void TemplateTable::prepare_invoke(int byte_no,
3333               Register Rmethod,  // linked method (or i-klass)
3334               Register Rret_addr,// return address
3335               Register Rindex,   // itable index, MethodType, etc.
3336               Register Rrecv,    // If caller wants to see it.
3337               Register Rflags,   // If caller wants to test it.
3338               Register Rscratch
3339                                    ) {

So this passes Rinterface_klass where Rmethod is expected; and Rmethod 
where Rindex is expected. So in that sense I think the register content 
will be correct but the name seems completely wrong! ???


>    *   SafepointMechanism implementation for AIX misses the protection of the bad page (ThreadLocalHandshakes with -XX:-UseSIGTRAP). I prefer to implement it using 2 pages like on the other platforms.
>    *   Remove unused function which is obsolete since the introduction of ThreadLocalHanshakes.
> Please review:
> http://cr.openjdk.java.net/~mdoerr/8205609_ppc64_TI_and_TLH_fixes/webrev.00/
> Thanks and best regards,
> Martin

More information about the hotspot-runtime-dev mailing list