Skip to content
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

(0.21.0) Fix a couple minor issues with 16-bit immediates on Power #9819

Merged

Conversation

aviansie-ben
Copy link
Contributor

This PR is a double-delivery of #9803 for the purposes of having these fixes included in the 0.21.0 release.

Previously, there was one location where the offset of the lockword used
in an li instruction was masked to include only the bottom 16 bits.
While this is currently correct AFAIK, since it can never be negative
and cannot currently exceed 0x7fff legitimately, it may cause the assert
on the range of the immediate to be silenced incorrectly should this
change in the future. In line with this, the lockword offset is now used
directly.

Signed-off-by: Ben Thomas <ben@benthomas.ca>
Previously, the Power codegen assumed that the maximum size of an
arraylet leaf in elements could be fit into a 16-bit immediate field.
This may not always be true, so could lead to incorrect behaviour.
Handling for when the maximum number of elements is > 0x7fff has now
been added.

Signed-off-by: Ben Thomas <ben@benthomas.ca>
@aviansie-ben
Copy link
Contributor Author

@pshipton FYI

@pshipton pshipton self-assigned this Jun 8, 2020
@pshipton pshipton merged commit 7da6108 into eclipse-openj9:v0.21.0-release Jun 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants