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

Send cached J9ROMClass hashes to JITServer #19847

Merged
merged 1 commit into from
Jul 18, 2024

Conversation

cjjdespres
Copy link
Contributor

If a JITServer client has a cached hash for a ROMClass, it may now send this hash to the server to avoid the server having to re-hash (and possibly re-pack) the ROMClass received from the client. The server will store this cached hash in its shared ROMClass cache. Currently, only the stored hashes of generated classes are sent to the server.

@cjjdespres cjjdespres requested a review from dsouzai as a code owner July 11, 2024 15:05
@cjjdespres
Copy link
Contributor Author

Attn @mpirvu.

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

@mpirvu mpirvu left a comment

Choose a reason for hiding this comment

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

LGTM

@mpirvu
Copy link
Contributor

mpirvu commented Jul 17, 2024

jenkins test sanity xlinuxjit,zlinuxjit,alinux64jit jdk21

@mpirvu
Copy link
Contributor

mpirvu commented Jul 17, 2024

On arm and zlinux JITServer tests show:
java.lang.AssertionError: There are no serialized methods at the server.

xlinux tests have not finished yet

If a JITServer client has a cached hash for a ROMClass, it may now send
this hash to the server to avoid the server having to re-hash (and
possibly re-pack) the ROMClass received from the client. The server will
store this cached hash in its shared ROMClass cache. Currently, only the
stored hashes of generated classes are sent to the server.

Signed-off-by: Christian Despres <despresc@ibm.com>
@cjjdespres
Copy link
Contributor Author

cjjdespres commented Jul 17, 2024

When I changed findGeneratedClassHash to return std::string, I didn't replace the very first return NULL with return std::string(), so JITServer AOT cache compilations were all failing at the client just as they were beginning with the error <TRANSLATION FAILURE: basic_string::_M_construct null not valid>.

@mpirvu
Copy link
Contributor

mpirvu commented Jul 17, 2024

jenkins test sanity xlinuxjit,zlinuxjit,alinux64jit jdk21

@mpirvu
Copy link
Contributor

mpirvu commented Jul 18, 2024

jenkins test sanity xlinuxjit jdk21

@mpirvu mpirvu merged commit c0c18a9 into eclipse-openj9:master Jul 18, 2024
9 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
None yet
Development

Successfully merging this pull request may close these issues.

2 participants