Integrated: 8343343: Misc crash dump improvements on more platforms after JDK-8294160
Martin Doerr
mdoerr at openjdk.org
Wed Nov 6 19:40:22 UTC 2024
On Thu, 31 Oct 2024 15:11:03 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
> [JDK-8294160](https://bugs.openjdk.org/browse/JDK-8294160) has improved `os::print_tos_pc` for some platforms. This PR extends it to more platforms. I have moved it into shared code and made it generic.
> In addition, `fetch_frame_from_context(const void* ucVoid)` checks the pc on more platforms, now. If it's bad, we use the caller PC instead.
>
> Note that the address 0 is readable on AIX. Therefore, it requires an extra null check. Tested by
>
> diff --git a/src/hotspot/cpu/ppc/ppc.ad b/src/hotspot/cpu/ppc/ppc.ad
> index 6d3daa025e8..0f8de648d53 100644
> --- a/src/hotspot/cpu/ppc/ppc.ad
> +++ b/src/hotspot/cpu/ppc/ppc.ad
> @@ -1557,6 +1557,12 @@ void MachPrologNode::emit(C2_MacroAssembler *masm, PhaseRegAlloc *ra_) const {
> __ std(return_pc, _abi0(lr), callers_sp);
> }
>
> + if (UseNewCode) {
> + __ li(R0, 0);
> + __ mtctr(R0);
> + __ bctrl();
> + }
> +
> if (C->stub_function() == nullptr) {
> BarrierSetAssembler* bs = BarrierSet::barrier_set()->barrier_set_assembler();
> bs->nmethod_entry_barrier(masm, push_frame_temp);
>
>
> The new version shows the "Instructions:" section at the caller PC which was missing on some platforms before this PR.
This pull request has now been integrated.
Changeset: e33dc135
Author: Martin Doerr <mdoerr at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/e33dc13567a4f0d9a6c1ae63fa0424ca27d52584
Stats: 276 lines in 14 files changed: 63 ins; 208 del; 5 mod
8343343: Misc crash dump improvements on more platforms after JDK-8294160
Co-authored-by: Boris Ulasevich <bulasevich at openjdk.org>
Reviewed-by: mbaesken, jkern, dlong
-------------
PR: https://git.openjdk.org/jdk/pull/21809
More information about the hotspot-runtime-dev
mailing list