RFR: 8286446: PPC64: fix crashes after JDK-8284161 (virtual threads preview)
Richard Reingruber
rrich at openjdk.java.net
Tue May 10 10:56:49 UTC 2022
On Tue, 10 May 2022 09:57:07 GMT, Martin Doerr <mdoerr at openjdk.org> wrote:
>> With this change `java -version` succeeds with the devkit build also the standard build on a ppc64le box does not crash anymore.
>>
>> Also tier1 tests don't look too bad.
>
> src/hotspot/cpu/ppc/frame_ppc.cpp line 239:
>
>> 237: }
>> 238: assert(!Continuation::is_return_barrier_entry(*pc_addr), "return barrier");
>> 239: assert(_pc == *pc_addr || pc == *pc_addr || *pc_addr == 0, "must be (pc: " INTPTR_FORMAT " _pc: " INTPTR_FORMAT " pc_addr: " INTPTR_FORMAT " *pc_addr: " INTPTR_FORMAT " sp: " INTPTR_FORMAT ")", p2i(pc), p2i(_pc), p2i(pc_addr), p2i(*pc_addr), p2i(sp()));
>
> Please break down this huge line! (Optional: I think having *pc_addr always on the same side would be a bit better readable.)
Done
> src/hotspot/cpu/ppc/frame_ppc.inline.hpp line 36:
>
>> 34: // Inline functions for ppc64 frames:
>> 35:
>> 36: // Initialize frame members
>
> Add `(_pc and _sp must be given)`?
Done
> src/hotspot/share/runtime/signature.cpp line 265:
>
>> 263: _fp_args++;
>> 264: } else {
>> 265: PPC64_ONLY(_stack_arg_slots = align_up(_stack_arg_slots, 2));
>
> Looks good. Alternatively, we could think about dropping alignment on PPC64, but I think such changes could be done later (improvements of other platforms may also be worth being discussed). Your version fits to the current PPC64 platform code.
I'd agree
-------------
PR: https://git.openjdk.java.net/jdk/pull/8617
More information about the hotspot-dev
mailing list