RFR: 8315698: Crash when comparing BasicType as int after JDK-8310577 [v2]

Coleen Phillimore coleenp at openjdk.org
Wed Sep 6 22:42:38 UTC 2023


On Wed, 6 Sep 2023 04:57:05 GMT, Daniel Jeliński <djelinski at openjdk.org> wrote:

>> Please review this patch that fixes the handling of result type parameter in `call_stub` on x64.
>> 
>> Since 5a82fa3bb278b5b80b9ede0619f364fe13cdbede the parameter only needs one byte, and Windows ABI does not require the caller to clear the remaining bytes of the parameter register.
>> 
>> Clang clears the remainder of the register in release mode, but does not clear it in debug mode.
>> MSVC... [It's complicated](https://godbolt.org/z/6YEcMcM13). Apparently MSVC-generated code clears the high bytes of the parameter register here.
>> 
>> This patch fixes the crashes with clang. (MSVC) Windows-x64 and (gcc) Linux-x64 builds still work, tiers 1-3 report no new failures.
>
> Daniel Jeliński has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Change CallStub prototype instead

Thank you for finding and fixing this.

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

Marked as reviewed by coleenp (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/15568#pullrequestreview-1614318480


More information about the hotspot-compiler-dev mailing list