RFR: 8286301: Port JEP 425 to RISC-V [v4]

Richard Reingruber rrich at openjdk.org
Fri Nov 4 11:08:35 UTC 2022


On Fri, 4 Nov 2022 09:56:16 GMT, Richard Reingruber <rrich at openjdk.org> wrote:

>> Fei Yang has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains five additional commits since the last revision:
>> 
>>  - Code cleanup
>>  - Merge branch 'master' into 8286301
>>  - Merge branch 'master' into 8286301
>>  - Fix
>>  - 8286301: JEP 425 to RISC-V
>
> src/hotspot/share/oops/stackChunkOop.inline.hpp line 139:
> 
>> 137: bool stackChunkOopDesc::is_usable_in_chunk(void* p) const {
>> 138: #if (defined(X86) || defined(AARCH64) || defined(RISCV64)) && !defined(ZERO)
>> 139:   HeapWord* start = (HeapWord*)start_address() + sp() - frame::sender_sp_offset RISCV64_ONLY(- frame::metadata_words);
> 
> I think this RISCV64 special case will go away with the following change form the PPC64 port: https://github.com/openjdk/jdk/pull/10961/files#diff-563a75c6d20d6f6f35362f5afef7d4f061b9536a37f7c95c27ac37879246d899R138-R139

Also `frame::sender_sp_offset` is a platform detail that cannot be used in shared code. Since `metadata_words = sender_sp_offset` on other platforms I'd suggest you replace `frame::sender_sp_offset` with `frame::metadata_words`. Probably this has been forgotten.

-------------

PR: https://git.openjdk.org/jdk/pull/10917


More information about the hotspot-dev mailing list