-
Notifications
You must be signed in to change notification settings - Fork 721
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Change how TR_IPBCDataCallGraph entries are persisted into SCC
Before this change, each `TR_IPBCDataCallGraph` entry that is persisted can contain up to 3 ROMClasses and their associates sampling frequencies. When loading from SCC we need to convert from a ROMClass to a RAMClass. This is done with the help of the `matchRAMclassFromROMclass()` frontend method, which first tries the classloader of the method being compiled and then the bootstrap classloader. If none of these attempts is successfull, we store NULL into the IProfiler entry which is created from the SCC entry. In this commit we change the mechanism to convert from a ROMClass to a RAMClass, to match the mechanism that is used in AOT relocation records. Specifically, the new code is using the mechanism that associates a classloader with the first class that is loaded by that class loader (see ClassLoaderTable.cpp). Thus, the IProfiler entry stored in SCC needs to contain two values now: (1) The classchain for the class that is being traked and (2) The classchain for the first class loaded by the classloader that loaded the class being tracked. Since in the new implementation we store more information, we will only track one target class instead of 3. This change is improving the throughput of some applications that rely on IProfiler information stored in SCC. Signed-off-by: Marius Pirvu <mpirvu@ca.ibm.com>
- Loading branch information
Showing
3 changed files
with
157 additions
and
55 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters