RFR(S): 8196401: PPC64+s390: get_frame_at_stack_banging_point uses wrong PC

Thomas Stüfe thomas.stuefe at gmail.com
Tue Jan 30 14:41:34 UTC 2018


Hi Martin,

Could you please move ucontext_get_lr() to the Aix resp Linux namespaces,
like the other ucontext_xxx functions, or at least make them static file
scope ?

Otherwise, this looks good.

Regards, Thomas


On Tue, Jan 30, 2018 at 2:47 PM, Doerr, Martin <martin.doerr at sap.com> wrote:

> Hi,
>
>
>
> we have found a bug in get_frame_at_stack_banging_point on PPC64 and s390
> by reading code.
>
>
>
> C1 and C2 JIT compilers generate stack banging code before the code for
> saving the PC on PPC64 and s390.
>
> Hence, the PC needs to be picked from the signal context (LR on PPC64 and
> R14 on s390) to create a correct frame object.
>
>
>
> Currently, the top frame can not be checked for reserved stack annotation
> because the frame doesn't get a PC which points into the nmethod.
>
>
>
> Proposed fix:
>
> http://cr.openjdk.java.net/~mdoerr/8196401_ppc64_s390_
> stack_bang_pc/webrev.00/
>
>
>
> Please review.
>
>
>
> Best regards,
>
> Martin
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.openjdk.java.net/pipermail/hotspot-compiler-dev/attachments/20180130/915d5986/attachment.html>


More information about the hotspot-compiler-dev mailing list