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

Use dependency table as arbitrary class fallback #20780

Merged
merged 1 commit into from
Dec 10, 2024

Conversation

cjjdespres
Copy link
Contributor

For classes acquired via profiling, the dependency table can be used to obtain candidates for relocation.

@cjjdespres cjjdespres requested a review from dsouzai as a code owner December 9, 2024 13:59
@cjjdespres
Copy link
Contributor Author

Attn @mpirvu. This resolves most of the profiled class validation failures. @dsouzai I've kept the class loader chain validation for now. The number of profiled class validation failures drops from ~140 to ~14 with forceAOT,enableSVMDuringStartup and these changes in acmeair - I'd have to do more runs to see if dropping the loader chain validation improved that any further.

@mpirvu mpirvu self-assigned this Dec 9, 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 Dec 9, 2024

jenkins compile all jdk23,jdk8

Copy link
Contributor

@dsouzai dsouzai left a comment

Choose a reason for hiding this comment

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

Overall LGTM

{
TR_ASSERT(classLoaderChain, "Must be given a loader chain");
Copy link
Contributor

Choose a reason for hiding this comment

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

Best to just make this a fatal assert; there's not really a good reason for adding new asserts as TR_ASSERT.

@cjjdespres
Copy link
Contributor Author

Compilation failed on non-JITServer platforms because of:

11:00:47  /Users/jenkins/workspace/Build_JDK8_x86-64_mac_Personal/openj9/runtime/compiler/env/DependencyTable.cpp:476:14: error: no member named 'isDeserializedAOTMethod' in 'TR::Compilation'
11:00:47     if (comp->isDeserializedAOTMethod() || comp->ignoringLocalSCC())
11:00:47         ~~~~  ^

I'll fix that.

For classes acquired via profiling, the dependency table can be used to
obtain candidates for relocation.

Signed-off-by: Christian Despres <[email protected]>
@mpirvu
Copy link
Contributor

mpirvu commented Dec 9, 2024

jenkins compile all jdk23,jdk8

@mpirvu
Copy link
Contributor

mpirvu commented Dec 9, 2024

jenkins test sanity zlinux jdk21

@mpirvu mpirvu merged commit 5329b1b into eclipse-openj9:master Dec 10, 2024
19 of 22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants