RFR: 8289060: Undefined Behaviour in class VMReg

Andrew Haley aph at openjdk.org
Mon Jun 27 15:05:42 UTC 2022


On Mon, 27 Jun 2022 13:05:43 GMT, Jorn Vernee <jvernee at openjdk.org> wrote:

> I've been thinking about this some more after you fixed the same issue for `Register` on AArch64 [1]. I think the issue is out-of-line calls to member functions. Since `this` is a pointer, the compiler is forced to spill the value on the stack to comply with the ABI. i.e. what we'd really want is some way to say "pass `this` by value". (On x64 Windows, as long as a struct fits in a register, it is not passed by reference).

Ah, I see. That makes sense.

> I think the patch looks good overall, but it looks like there are some failures in some of the SA tests.

Right. I'll start digging.

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

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


More information about the hotspot-compiler-dev mailing list