Anchor the value node before the removal of the call node - #21805
Conversation
|
@hzongaro May I ask you to review this change? Thank you! |
|
@r30shah fyi |
|
I agree with Rahil to be conservative. Note that local CSE can common |
Need to anchor the value node before the helper call node is removed. Otherwise, the child value node could be currently anchored under the helper call node. When the helper call node is removed, the value node will be moved down and anchored where the next reference is. It will be a problem if there is a store into this value between the helper call node and the next reference. After the helper call node is removed, the reference will load the updated value instead of the original value. Fixes: eclipse-openj9#21256 Signed-off-by: Annabelle Huo <Annabelle.Huo@ibm.com>
5cf7d34 to
c365d1a
Compare
|
Jenkins test sanity.functional,sanity.openjdk all jdk8,jdk21 |
|
Jenkins test sanity.functional,sanity.openjdk xmac jdk21 |
|
I'm triaging the failed tests. So far, 2 and 4 are known issues. Not sure the other two yet, but the first one crash definitely looks suspicious |
|
We can also rule out issue 3 (J9vmTest_3/4 test) since J9vmTest_3 also failed in another PR build test: https://openj9-jenkins.osuosl.org/job/Pipeline_Build_Test_JDK8_s390x_linux/3014/ |
|
Issue 1 has previously been reported in #21378 (comment) |
|
Test failures are all due to known issues. Merging. |
Need to anchor the value node before the helper call node is removed. Otherwise, the child value node could be currently anchored under the helper call node. When the helper call node is removed, the value node will be moved down and anchored where the next reference is. It will be a problem if there is a store into this value between the helper call node and the next reference. After the helper call node is removed, the reference will load the updated value instead of the original value.
Fixes: #21256