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

Dean Long dlong at openjdk.org
Fri Jul 22 18:21:01 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

src/hotspot/share/compiler/compilationPolicy.hpp line 47:

> 45:  * for the interpreter and ciMethod::ensure_method_data, ciMethod.cpp for C1), and interacts
> 46:  * with C1 and C2 via the compiler interface. It is updated periodically as more profiling
> 47:  * information is gathered, directly in the case of the interpreter and through ciMethodData

This is still a bit misleading.  The information flow between MethodData and ciMethodData is one-way.  Only MethodData are updated by the interpreter or generated code.  ciMethodData is just a read-only snapshot used during compilation.

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

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


More information about the hotspot-compiler-dev mailing list