RFR: 8315698: Crash when comparing BasicType as int [v2]

Daniel Jeliński djelinski at openjdk.org
Wed Sep 6 04:57:05 UTC 2023


> 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

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

Changes:
  - all: https://git.openjdk.org/jdk/pull/15568/files
  - new: https://git.openjdk.org/jdk/pull/15568/files/3935bbed..4521e60c

Webrevs:
 - full: https://webrevs.openjdk.org/?repo=jdk&pr=15568&range=01
 - incr: https://webrevs.openjdk.org/?repo=jdk&pr=15568&range=00-01

  Stats: 16 lines in 4 files changed: 0 ins; 7 del; 9 mod
  Patch: https://git.openjdk.org/jdk/pull/15568.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/15568/head:pull/15568

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


More information about the hotspot-compiler-dev mailing list