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

Support for storing all IProfile info to SCC at shutdown #20886

Merged
merged 5 commits into from
Jan 8, 2025

Conversation

mpirvu
Copy link
Contributor

@mpirvu mpirvu commented Jan 6, 2025

This PR implements:

  • Support for storing all IProfiler info into SCC at shutdown
  • Support for printing stats about number of targets for CallGraph entries in the IProfiler
  • Other miscellaneous and refactoring changes

mpirvu added 4 commits January 3, 2025 12:09
The IProfiler does not profile direct calls.
However, the optimizer may create artificial profiler
entries when it calls setCallCount(). These
artificial entries are marked to be non-persistent
and we only set the frequency (totalCount) ignoring
the class of the method that is called.
This commit also records the class of the method to
be called. Doing so does not require additional storage.

Signed-off-by: Marius Pirvu <[email protected]>
This change will allow createBalancedBST to be called from
places where the Compilation object is not readily available.

Signed-off-by: Marius Pirvu <[email protected]>
The goal is to use the code from TR_AggregationHT in
more places (for instance for dumping all IProfiler
info into the SCC).

Signed-off-by: Marius Pirvu <[email protected]>
@mpirvu mpirvu added the comp:jit label Jan 6, 2025
@mpirvu mpirvu requested a review from dsouzai as a code owner January 6, 2025 15:44
@mpirvu mpirvu changed the title Iprofiler Support for storing all IProfile info to SCC at shutdown Jan 6, 2025
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 looks fine to me, just had a few questions.

runtime/compiler/runtime/IProfiler.cpp Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/runtime/IProfiler.cpp Outdated Show resolved Hide resolved
runtime/compiler/control/HookedByTheJit.cpp Show resolved Hide resolved
runtime/compiler/control/HookedByTheJit.cpp Show resolved Hide resolved
@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 6, 2025

I have eliminated the comments that were not needed.

@dsouzai
Copy link
Contributor

dsouzai commented Jan 7, 2025

jenkins test sanity.functional jdk8,jdk21 all

@dsouzai dsouzai self-assigned this Jan 7, 2025
@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 7, 2025

jenkins test sanity.functional all jdk8,jdk21

@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 7, 2025

There are compilation errors on non-linux platforms:

/Users/jenkins/workspace/Build_JDK21_aarch64_mac_Personal/openj9/runtime/compiler/runtime/IProfiler.cpp:4967:11: error: no member named 'SystemSegmentProvider' in namespace 'J9'

This commit implements the TR_IProfiler::persistAllEntries()
method which can write all IProfiler entries into the SCC
on a ROMMethod by ROMMethod basis.

Signed-off-by: Marius Pirvu <[email protected]>
@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 7, 2025

jenkins compile aix jdk21

@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 8, 2025

jenkins test sanity.functional jdk8,jdk21 all

@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 8, 2025

jenkins test sanity.functional all jdk8,jdk21

@mpirvu
Copy link
Contributor Author

mpirvu commented Jan 8, 2025

Build on AIX failed due to infra

fatal: unable to access 'https://github.com/eclipse-openj9/openj9-omr.git/': Failed to connect to github.com port 443 after 74668 ms: Connection timed out

but it did pass on a previous build attempt: #20886 (comment)
Windows build never finish.
Everything else passed.

@dsouzai dsouzai merged commit 1fbf35b into eclipse-openj9:master Jan 8, 2025
26 of 31 checks passed
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