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.44) Refuse to generate array class serialization records #19182

Conversation

cjjdespres
Copy link
Contributor

The JITServer AOT cache will now refuse to generate class records for array ROM classes. This is relevant for clients running with -XX:+JITServerAOTCacheIgnoreLocalSCC - with this option disabled, the fact that array classes cannot be persisted in the local SCC acts as an implicit barrier to their ROM classes ever reaching the AOT cache. Without that option, the AOT cache must explicitly check that the given ROM class is not an array ROM class.

In future, the AOT cache should be extended with support for array classes. For now, this change prevents excessive AOT cache deserialization failures from occurring at JITServer clients running with -XX:+JITServerAOTCacheIgnoreLocalSCC due to the nonsensical class records the cache previously generated for array classes.

Related: #18990

The JITServer AOT cache will now refuse to generate class records for
array ROM classes. This is relevant for clients running with
-XX:+JITServerAOTCacheIgnoreLocalSCC - with this option disabled, the
fact that array classes cannot be persisted in the local SCC acts as
an implicit barrier to their ROM classes ever reaching the AOT cache.
Without that option, the AOT cache must explicitly check that the given
ROM class is not an array ROM class.

In future, the AOT cache should be extended with support for array
classes. For now, this change prevents excessive AOT cache
deserialization failures from occurring at JITServer clients running
with -XX:+JITServerAOTCacheIgnoreLocalSCC due to the nonsensical
class records the cache previously generated for array classes.

Signed-off-by: Christian Despres <despresc@ibm.com>
@cjjdespres cjjdespres requested a review from dsouzai as a code owner March 19, 2024 14:40
@cjjdespres
Copy link
Contributor Author

This is a cherry-pick of 8729348 in PR #19135.

@cjjdespres
Copy link
Contributor Author

Attn @mpirvu.

@mpirvu mpirvu self-assigned this Mar 21, 2024
@mpirvu mpirvu added the comp:jitserver Artifacts related to JIT-as-a-Service project label Mar 21, 2024
@mpirvu
Copy link
Contributor

mpirvu commented Mar 21, 2024

I have verified that this PR is identical to its counterpart from the main branch. Merging.

@mpirvu mpirvu merged commit acebf4e into eclipse-openj9:v0.44.0-release Mar 21, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
comp:jitserver Artifacts related to JIT-as-a-Service project
Projects
Status: Done
Development

Successfully merging this pull request may close these issues.

2 participants