Skip to content

Define a base and derived deserializer class - #18922

Merged
mpirvu merged 1 commit into
eclipse-openj9:masterfrom
cjjdespres:deserializer-interface
Feb 12, 2024
Merged

Define a base and derived deserializer class#18922
mpirvu merged 1 commit into
eclipse-openj9:masterfrom
cjjdespres:deserializer-interface

Conversation

@cjjdespres

Copy link
Copy Markdown
Contributor

The JITServerAOTDeserializer is now two classes. The base JITServerAOTDeserializer defines some common operations and functionality, and the derived JITServerLocalSCCAOTDeserializer implements the required deserialization and caching.

The JITServerAOTDeserializer is now two classes. The base
JITServerAOTDeserializer defines some common operations and
functionality, and the derived JITServerLocalSCCAOTDeserializer
implements the required deserialization and caching.

Signed-off-by: Christian Despres <despresc@ibm.com>
@cjjdespres
cjjdespres requested a review from dsouzai as a code owner February 8, 2024 15:04
@cjjdespres

Copy link
Copy Markdown
Contributor Author

Attn @mpirvu. This could be the basis of keeping the old deserializer implementation around. In #18301 I could create something like a -XX:[+|-]JITServerAOTCacheIgnoreLocalSCC option. If enabled, we would, among other things, use a new deserializer (called JITServerNoSCCAOTDeserializer or something). If disabled, we'd still use the old JITServerLocalSCCAOTDeserializer.

I initially tried having just a single JITServerAOTDeserializer class that could do one or the other, but what exactly they cache and how they validate certain things is different enough that having a few different derived implementations of a base interface seemed a lot cleaner. (Having a single class would make it easier to, say, fall back to the new implementation if we were using the old implementation and the SCC filled up, but that would bring its own complexity and I don't think we want to support that anyway).

@mpirvu mpirvu self-assigned this Feb 9, 2024
@mpirvu mpirvu added the comp:jitserver Artifacts related to JIT-as-a-Service project label Feb 9, 2024

@mpirvu mpirvu left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM

@mpirvu

mpirvu commented Feb 12, 2024

Copy link
Copy Markdown
Contributor

jenkins test sanity plinuxjit,xlinuxjit,zlinuxjit,alinux64jit jdk17

@mpirvu
mpirvu merged commit b78beae into eclipse-openj9:master Feb 12, 2024
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