New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub #10095
8293100: RISC-V: Need to save and restore callee-saved FloatRegisters in StubGenerator::generate_call_stub #10095
Conversation
|
@zhengxiaolinX The following label will be automatically applied to this pull request:
When this pull request is ready to be reviewed, an "RFR" email will be sent to the corresponding mailing list. If you would like to change these labels, use the /label pull request command. |
Webrevs
|
vmTestbase/nsk/stress/jni/jnistress002.java now passes with this patch |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
lgtm(not a reviewer)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, with one comment.
// -22 [ argument word 1 ] | ||
// -21 [ saved x27 ] <--- sp_after_call | ||
// -34 [ argument word 1 ] | ||
// -33 [ saved f27 ] <--- sp_after_call |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think it's better to add some comments about saving FloatRegisters at line 124.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thank you, always forget the comment things. Seems x9 is also missed in the comments; it is added along with f8-f9 and f18-f27 now.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks fine.
@zhengxiaolinX This change now passes all automated pre-integration checks. After integration, the commit message for the final commit will be:
You can use pull request commands such as /summary, /contributor and /issue to adjust it as needed. At the time when this comment was updated there had been 31 new commits pushed to the
As there are no conflicts, your changes will automatically be rebased on top of these commits when integrating. If you prefer to avoid this automatic rebasing, please check the documentation for the /integrate command for further details. As you do not have Committer status in this project an existing Committer must agree to sponsor your change. Possible candidates are the reviewers of this PR (@shipilev, @VladimirKempik) but any other Committer may sponsor as well.
|
Hi Vladimir, my hotspot tier2~4 have passed. I was wondering if all's right with your hotspot tier4? |
Hello |
Thanks! /integrate |
@zhengxiaolinX |
/sponsor |
Going to push as commit bc5ffc8.
Your commit was automatically rebased without conflicts. |
@RealFYang @zhengxiaolinX Pushed as commit bc5ffc8. |
Hi team,
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.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)
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
Progress
Issue
Reviewers
Reviewing
Using
git
Checkout this PR locally:
$ git fetch https://git.openjdk.org/jdk pull/10095/head:pull/10095
$ git checkout pull/10095
Update a local copy of the PR:
$ git checkout pull/10095
$ git pull https://git.openjdk.org/jdk pull/10095/head
Using Skara CLI tools
Checkout this PR locally:
$ git pr checkout 10095
View PR using the GUI difftool:
$ git pr show -t 10095
Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk/pull/10095.diff