RFR: 8254611: x86_32: Call to IRT::at_unwind clobbers rthread after JDK-8253180

Erik Österlund eosterlund at openjdk.java.net
Mon Oct 12 20:13:10 UTC 2020


On Mon, 12 Oct 2020 19:23:20 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

> There are massive x86_32 tier1 failures, bisection points to JDK-8253180. I think I know why this happens: in
> `InterpreterMacroAssembler::remove_activation`, there is a new call_VM to `InterpreterRuntime::at_unwind`, which broke
> the `rthread` (`rcx`) that x86_32 needs later. x86_64 is not affected, because it carries it in `r15_thread`.
> Attention @fisk.
> Additional testing:
>   - [ ] x86_32 tier1

Oops. Looks good Aleksey - thanks for fixing. Obviously another solution is to not perform the call on 32 bit x86, as
the stack watermark barriers are not supported yet there. But perhaps if someone wants to have a stab at that, it could
be good to do roughly the same thing now. With that said - ship it!

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

Marked as reviewed by eosterlund (Reviewer).

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


More information about the hotspot-compiler-dev mailing list