RFR: 8315698: Java crash during startup
Daniel Jeliński
djelinski at openjdk.org
Tue Sep 5 16:18: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.
-------------
Commit messages:
- Additional verification
- Fix register encoding
- Update stubGenerator to work with new BasicType size
Changes: https://git.openjdk.org/jdk/pull/15568/files
Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=15568&range=00
Issue: https://bugs.openjdk.org/browse/JDK-8315698
Stats: 24 lines in 3 files changed: 17 ins; 0 del; 7 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