RFR: 8254693: Add Panama feature to pass heap segments to native code [v12]
Jorn Vernee
jvernee at openjdk.org
Fri Oct 27 09:20:44 UTC 2023
On Fri, 27 Oct 2023 03:49:17 GMT, Yasumasa Suenaga <ysuenaga at openjdk.org> wrote:
>> src/hotspot/cpu/x86/downcallLinker_x86_64.cpp line 110:
>>
>>> 108: __ mov(rsp, r12); // restore sp
>>> 109: __ reinit_heapbase();
>>> 110: }
>>
>> This is a minor cleanup to share this code for the three use sites below.
>
> Question: `r12` does not need to remember?
>
> According to [CallingSequences in OpenJDK Wiki](https://wiki.openjdk.org/display/HotSpot/CallingSequences), `r12` may be reserved for HeapBase if COOP is enabled.
> (`r12` is also used in another places in downcallLinker_x86_64.cpp without restoring...)
You mean `reinit_heapbase` can be removed? I'm not sure whether the caller expects it to be preserved.
Note that `r12` is used in this case to save and restore `rsp`. This is needed since we access data in the frame relative to `rsp`.
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/16201#discussion_r1374300821
More information about the core-libs-dev
mailing list