RFR(S): 8216376: [PPC64] Possibly unreliable stack frame resizing in template interpreter
Doerr, Martin
martin.doerr at sap.com
Wed Jan 9 14:50:22 UTC 2019
Hi Götz,
I don't think it has a measurable impact on interpreter performance. Especially not for out-of-order CPUs. The additional ld/st is only used once for each special interpreter entry.
The PPC64 ABI only specifies that 288 bytes below SP are preserved (e.g. by interrupt handler). How else should we ensure that the backlink is not overwritten?
I think an assertion is not appropriate. We should better comply with the ABI.
Best regards,
Martin
-----Original Message-----
From: Lindenmaier, Goetz
Sent: Mittwoch, 9. Januar 2019 15:37
To: Doerr, Martin <martin.doerr at sap.com>; hotspot-runtime-dev at openjdk.java.net; Gustavo Romero <gromero at linux.vnet.ibm.com>
Subject: RE: RFR(S): 8216376: [PPC64] Possibly unreliable stack frame resizing in template interpreter
Hi Martin,
I had a look at your change.
To me, it looks correct, and I also understand that it makes the
frame resizing more stable.
On the other hand, it adds dependent instructions ld/st to
each call, where before just a register was moved.
This might eat up some of the performance benefits of the
frame resizing. As the backlink is checked in assertions,
do you really think this is worth while? Shouldn't we just
harden the assertions if necessary?
Best regards,
Goetz.
> -----Original Message-----
> From: Doerr, Martin
> Sent: Dienstag, 8. Januar 2019 18:43
> To: hotspot-runtime-dev at openjdk.java.net; Gustavo Romero
> <gromero at linux.vnet.ibm.com>; Lindenmaier, Goetz
> <goetz.lindenmaier at sap.com>
> Subject: RFR(S): 8216376: [PPC64] Possibly unreliable stack frame resizing in
> template interpreter
>
> Hi,
>
>
>
> we recently noticed stack corruption while testing JDK-8216060. The issue
> was not directly in the new code, but it didn't work with the current handling
> of the interpreter stack frames which is very error-prone at a few places.
>
> I'd like to improve these places. At least one of them even seems to be
> unreliable in the current implementation.
>
>
>
> Bug with some more background information:
>
> https://bugs.openjdk.java.net/browse/JDK-8216376
>
>
>
> My proposal to fix it:
>
> http://cr.openjdk.java.net/~mdoerr/8216376_PPC64_frame_resizing/webrev
> .00/
>
>
>
> Please review.
>
>
>
> Best regards,
>
> Martin
>
>
More information about the hotspot-runtime-dev
mailing list