RFR: 8290834: Improve potentially confusing documentation on collection of profiling information [v6]

Vladimir Kozlov kvn at openjdk.org
Fri Jul 22 18:42:15 UTC 2022


On Fri, 22 Jul 2022 13:42:09 GMT, Julian Waters <jwaters at openjdk.org> wrote:

>> Documentation on the MethodData object incorrectly states that it is used when profiling in tiers 0 and 1, when it only does so for tier 0 (Interpreter), while tier 1 (Fully optimizing C1) does not collect any profile data at all. Additionally, the description for the different execution tiers is slightly misleading, as it seems to imply that MethodData is used in tier 3 as well, when profiling with C1 is done through ciMethodData instead. This cleanup attempts to slightly better clarify how profiling is tied together between the Interpreter and C1, explain what MDO is an abbreviation for (MethodData object), and corrects the documentation for MethodData as well.
>
> Julian Waters has updated the pull request incrementally with one additional commit since the last revision:
> 
>   New changes

Please note. CI (compiler interface) and its API (ciMethod*) is used by JIT compilers C1 and C2 only **during** compilation.
Compilers (C1 and C2) can create MDO (through CI) if it is missed but they don't update data in it.
Only Interpreter and tier 3 (profiling) **compiled code** produced by C1 updates MDO. It does it directly without CI.

-------------

PR: https://git.openjdk.org/jdk/pull/9598


More information about the hotspot-compiler-dev mailing list