RFR: 8256215: Shenandoah: re-organize saving/restoring machine state in assembler code

Aleksey Shipilev shade at openjdk.java.net
Wed Jan 27 15:12:43 UTC 2021


On Wed, 27 Jan 2021 15:02:12 GMT, Roman Kennke <rkennke at openjdk.org> wrote:

>> OK, I was going for the overkill of over-saving registers for interpreter code. But you are right, this might be problematic. We could do `/* handle_fp = */ false` here, so it would save only the generic registers?
>
> Ah yes, Look in stubGenerator_x86_64, copy_bytes_forward() and copy_bytes_backward(), those generate fast copy routines that use FP registers. If those registers were live in the arraycopy code paths, those routines would trash it.

Yes, so that basically confirms the current behavior (that is, not saving FP) is already OK. I'll drop `handle_fp` to `false` then.

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

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


More information about the shenandoah-dev mailing list