RFR: 8283327: Add methods to save/restore registers when calling into the VM from C1/interpreter barrier code [v2]
Jie Fu
jiefu at openjdk.java.net
Mon Mar 21 14:48:37 UTC 2022
On Mon, 21 Mar 2022 08:42:25 GMT, Thomas Schatzl <tschatzl at openjdk.org> wrote:
>> Hi all,
>>
>> can I have reviews for this change that adds an API to save/restore caller-saved registers for VM upcalls for C1/interpreter.
>>
>> Currently, for x86, this is done in a very ad-hoc (copy&pasty) way, which starts to fall apart. Additionally this fixes some problems with wrong stack alignment.
>>
>> There is some cleanup to do separately to remove that copy&paste code in another CR. At the moment the API (`push_call_clobbered_registers/pop_call_clobbered_registers`) is only used for g1.
>>
>> It's based on `RegSet` from AArch64.
>>
>> Testing: tier1-5, tier1 testing with x64 and x86, with some at this point obscure combinations (like x86 UseSSE=0/1).
>>
>> Thanks,
>> Thomas
>
> Thomas Schatzl has updated the pull request incrementally with one additional commit since the last revision:
>
> dean comments
src/hotspot/cpu/x86/macroAssembler_x86.cpp line 29:
> 27: #include "asm/assembler.hpp"
> 28: #include "asm/assembler.inline.hpp"
> 29: #include "c1/c1_FrameMap.hpp"
Hi @tschatzl , this line breaks the build of VM with `--with-jvm-features=-compiler1`.
Please have a look.
Thanks.
-------------
PR: https://git.openjdk.java.net/jdk/pull/7867
More information about the hotspot-dev
mailing list