Skip to content

Define J9ClassEnv::primitiveArrayComponentType() - #17274

Merged
vijaysun-omr merged 1 commit into
eclipse-openj9:masterfrom
jdmpapin:primitive-array-component-type
May 10, 2023
Merged

Define J9ClassEnv::primitiveArrayComponentType()#17274
vijaysun-omr merged 1 commit into
eclipse-openj9:masterfrom
jdmpapin:primitive-array-component-type

Conversation

@jdmpapin

Copy link
Copy Markdown
Contributor

This will allow eclipse-omr/omr#6959 to make VP refine unsafe shadow to a primitive array shadow whenever it can determine that the base object is an instance of a particular primitive array type.

For the purpose of preventing builds from breaking, there should be no dependency between these PRs in either direction. If this one is merged first, then primitiveArrayComponentType() will simply be unused until eclipse-omr/omr#6959 is merged and promoted. If OTOH eclipse-omr/omr#6959 is merged first, it will use its own default implementation, which simply returns TR::NoType, leaving the refinement of unsafe shadow to primitive array shadow inactive until this PR is merged as well.

@jdmpapin
jdmpapin requested a review from vijaysun-omr May 3, 2023 15:58
@jdmpapin

jdmpapin commented May 3, 2023

Copy link
Copy Markdown
Contributor Author

@vijaysun-omr, would you mind reviewing?

@vijaysun-omr vijaysun-omr self-assigned this May 3, 2023
@vijaysun-omr

Copy link
Copy Markdown
Contributor

jenkins test sanity all jdk17

@vijaysun-omr

Copy link
Copy Markdown
Contributor

Builds seem to have issue, and I saw the following when I checked linux x86 64 bit

12:26:47    161 |    TR::DataTypes primitiveArrayComponentType(TR::Compilation *comp, TR_OpaqueClassBlock *);
12:26:47        |        ^~~~~~~~~```

This (along with a separate change to VP) will allow VP to refine unsafe
shadow to a primitive array shadow whenever it can determine that the
base object is an instance of a particular primitive array type.
@jdmpapin
jdmpapin force-pushed the primitive-array-component-type branch from 97d980f to 8c025c0 Compare May 9, 2023 15:59
@jdmpapin

jdmpapin commented May 9, 2023

Copy link
Copy Markdown
Contributor Author

Whoops... seems like I was accidentally relying on eclipse-omr/omr#6959 for an #include. Added it here. Hopefully now there should be no dependency for real

Note that although eclipse-omr/omr#6959 has been merged, the changes were reverted in eclipse-omr/omr#6977 due to #17337

@jdmpapin

jdmpapin commented May 9, 2023

Copy link
Copy Markdown
Contributor Author

Jenkins test sanity all jdk17

@vijaysun-omr

Copy link
Copy Markdown
Contributor

jenkins test sanity zlinux jdk17

@vijaysun-omr

Copy link
Copy Markdown
Contributor

Checks have passed. Merging.

@vijaysun-omr
vijaysun-omr merged commit 9f19595 into eclipse-openj9:master May 10, 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