RFR: 8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub [v2]
Xiaolin Zheng
xlinzheng at openjdk.org
Fri Sep 2 06:47:56 UTC 2022
On Thu, 1 Sep 2022 09:15:17 GMT, Xiaolin Zheng <xlinzheng at openjdk.org> wrote:
>> 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
Thanks!
And thank you all for reviewing as always. Let's move on then.
-------------
PR: https://git.openjdk.org/jdk/pull/10095
More information about the hotspot-dev
mailing list