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

Dean Long dlong at openjdk.org
Fri Jul 22 08:56:10 UTC 2022


On Fri, 22 Jul 2022 07:33:59 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:
> 
>   Correct comment with respect to review

C1 uses ciMethod::ensure_method_data(), which calls Method::build_interpreter_method_data(), to create an MDO if one wasn't already created by the interpreter.  So the name build_interpreter_method_data() is a bit misleading, because C1 will use the same MDO as the interpreter.

I also found a comment in c1_globals.hpp about C1UpdateMethodData that mentions tier1.  I think the  comment should be changed to say tier3.

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

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


More information about the hotspot-compiler-dev mailing list