-
Notifications
You must be signed in to change notification settings - Fork 6.2k
8260338: Some fields in HaltNode is not cloned #2213
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
Conversation
|
👋 Welcome back ysuenaga! A progress list of the required criteria for merging this PR into |
Webrevs
|
src/hotspot/share/opto/node.cpp
Outdated
| if (n->is_SafePoint()) { | ||
| n->as_SafePoint()->clone_replaced_nodes(); | ||
| } | ||
| if (n->is_Halt()) { |
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.
This line seems unnecessary. I see HaltNode::size() increases from 0x60 to 0x70 with your patch. Memcpy at line 502 covers it, doesn't it?
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.
_reachable and _halt_reason are available on HaltNode, not Node, so I think this condition is necessary.
L502 uses the result of Node::size_of(), and I overrided it in HaltNode. So memory allocation at L501 and memcpy at L502 are safety.
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.
size_of() is a virtual function. line 500 should use HaltNode::size_of(), which give you 112(0x70) bytes, right?
I mean memcpy at line 502 should cover HaltNode's member variables.
Copy::conjoint_words_to_lower((HeapWord*)this, (HeapWord*)n, s);
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.
Ah, you are right, thanks!
I reverted the change for node.cpp.
navyxliu
left a comment
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, but still need a reviewer's approval.
neliasso
left a comment
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.
|
@YaSuenag This change now passes all automated pre-integration checks. ℹ️ This project also has non-automated pre-integration requirements. Please see the file CONTRIBUTING.md for details. 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 6 new commits pushed to the
Please see this link for an up-to-date comparison between the source branch of this pull request and the ➡️ To integrate this PR with the above commit message to the |
|
/integrate |
|
@YaSuenag Since your change was applied there have been 6 commits pushed to the
Your commit was automatically rebased without conflicts. Pushed as commit 09489e2. 💡 You may see a message that your pull request was closed with unmerged commits. This can be safely ignored. |
|
@YaSuenag For future PRs, please wait for at least 24 hours before integrating a non-trivial change. A change is only considered trivial if it's explicitly stated by a reviewer in the PR (see trivial in OpenJDK Developers’ Guide. Thanks. |
Sorry, I got it. |
I got strange log as following. Contents in
CodeStringis garbled. It seems not to be initialized.HaltNodehas two fields -_reachableand_halt_reason, but they would not be cloned at Node::clone.Progress
Issue
Reviewers
Download
$ git fetch https://git.openjdk.java.net/jdk pull/2213/head:pull/2213$ git checkout pull/2213