RFR: 8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub [v2]
Xiaolin Zheng
xlinzheng at openjdk.org
Thu Sep 1 09:15:17 UTC 2022
> Hi team,
>
> 1. Tests described in JDK-8293100 are failed, for callee-saved float registers used in C++ code are observed being killed after entering the Java world since callee-saved float registers are unfortunately missed to be saved in `StubGenerator::generate_call_stub()`. So the phenomenon presented in the failed tests seems to be weird.
>
> 2. This patch also fixes some typos in `vmreg_riscv.cpp` when debugging the same issue:
> (before)
> 
> This one seems not right, either; and it also gets fixed in this patch:
> (after)
> 
>
> 3. Also, branch nodes for float registers in OptoAssembly didn't show their destination blocks. This patch adds a little enhancement for those.
>
> Hotspot tier1 has passed both on my board and qemu, and `vmTestbase/nsk/stress` tests failed before have passed as well.
> The test process on the board is slow and I am testing the remaining but I consider this as ready for review.
>
> Best,
> Xiaolin
Xiaolin Zheng has updated the pull request incrementally with one additional commit since the last revision:
Revise comments
-------------
Changes:
- all: https://git.openjdk.org/jdk/pull/10095/files
- new: https://git.openjdk.org/jdk/pull/10095/files/bd3adac7..5e044111
Webrevs:
- full: https://webrevs.openjdk.org/?repo=jdk&pr=10095&range=01
- incr: https://webrevs.openjdk.org/?repo=jdk&pr=10095&range=00-01
Stats: 2 lines in 1 file changed: 0 ins; 0 del; 2 mod
Patch: https://git.openjdk.org/jdk/pull/10095.diff
Fetch: git fetch https://git.openjdk.org/jdk pull/10095/head:pull/10095
PR: https://git.openjdk.org/jdk/pull/10095
More information about the hotspot-dev
mailing list