Integrated: 8283327: Add methods to save/restore registers when calling into the VM from C1/interpreter barrier code

Thomas Schatzl tschatzl at openjdk.java.net
Mon Mar 21 10:46:35 UTC 2022


On Fri, 18 Mar 2022 14:00:34 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

This pull request has now been integrated.

Changeset: eb4849e5
Author:    Thomas Schatzl <tschatzl at openjdk.org>
URL:       https://git.openjdk.java.net/jdk/commit/eb4849e5615dd307a5abc435a0204a6d26610fcb
Stats:     546 lines in 9 files changed: 395 ins; 129 del; 22 mod

8283327: Add methods to save/restore registers when calling into the VM from C1/interpreter barrier code

Reviewed-by: eosterlund, dlong

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

PR: https://git.openjdk.java.net/jdk/pull/7867


More information about the hotspot-dev mailing list