Skip to content

Avoid shifting null constants in compression sequences - #17941

Merged
hzongaro merged 1 commit into
eclipse-openj9:masterfrom
jdmpapin:compressed-null-shift
Aug 17, 2023
Merged

Avoid shifting null constants in compression sequences#17941
hzongaro merged 1 commit into
eclipse-openj9:masterfrom
jdmpapin:compressed-null-shift

Conversation

@jdmpapin

Copy link
Copy Markdown
Contributor

This ensures that code generators will not generate an unnecessary shift instruction, even if they make no effort to detect compression sequences for null constants.

It's still always possible to traverse through the sequence to find the original (null) reference.

Additionally, propagate the null/non-null flags from the reference node to all of the integer-typed nodes in the sequence rather than only the truncation (l2i), and also flag the long value immediately prior to truncation as having zero in its high half. These properties hold, so the flags might as well be set.

This ensures that code generators will not generate an unnecessary shift
instruction, even if they make no effort to detect compression sequences
for null constants.

It's still always possible to traverse through the sequence to find the
original (null) reference.

Additionally, propagate the null/non-null flags from the reference node
to all of the integer-typed nodes in the sequence rather than only the
truncation (l2i), and also flag the long value immediately prior to
truncation as having zero in its high half. These properties hold, so
the flags might as well be set.
@hzongaro hzongaro self-assigned this Aug 12, 2023

@hzongaro hzongaro left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. Thanks!

@hzongaro

Copy link
Copy Markdown
Member

Jenkins test sanity all jdk11,jdk17

@jdmpapin

Copy link
Copy Markdown
Contributor Author

Checks have all passed now

@hzongaro
hzongaro merged commit eacba79 into eclipse-openj9:master Aug 17, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants