-
Notifications
You must be signed in to change notification settings - Fork 729
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
Assert dstObj in arraycopyEval is not a dataAddrPtr in X/Z #20480
Conversation
Signed-off-by: Abdulrahman Alattas <[email protected]>
Both Openj9/OMR are ready for review and merge, no need for coordination. |
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
Jenkins test sanity.functional xlinux,zlinux jdk21 |
hmm ... zlinux JLM testcase failed. @rmnattas please check it out! |
Hmm.. output matches expected, will confirm failure reason.
|
Seem like a known issue, #18920 |
For OffHeap, the arraycopy transformations uses the correct base object as the dstObj node, instead of the dataAddrPtr load.
To ensure correctness this PR adds an asserts that checks that the dstObj is not a dataAddrPtr.
Reason being the writeBarrier code assumes the dstObj node being the base object and uses that for card-dirtying address calculation.
Following: #20264
P/AArch64 in OMR: eclipse-omr/omr#7500