On Thu, 13 Nov 2025 13:04:49 GMT, Anton Seoane Ampudia <[email protected]> wrote:
>> This PR introduces new IGV dumps, property fields and filters related to >> escape analysis information. >> >> The C2 escape analysis algorithm is carried out in six primary steps, of >> which many have interesting sub-steps (e.g. `split_unique_types`) or present >> an iterative nature where access to intermediate results can aid debugging >> and analysis. Additionally, escape analysis relies on an "intermediate >> structure" called the _connection graph_, which is also particularly >> valuable for deeper investigations. >> >> With this changeset, escape analysis information is now dumped at key points >> throughout the algorithm, with a degree of granularity (from only the basic >> steps to in-detail iterative dumping). The dumps include several property >> fields, such as: >> >> - Node escape “level”. >> - Scalar replaceability. >> - Node type within the connection graph (per [C2 Escape Analysis connection >> graph](https://wiki.openjdk.org/display/HotSpot/EscapeAnalysis)). >> >> This is achieved by passing the `ConnectionGraph` in use to the >> `IdealGraphPrinter` during escape analysis, so that these properties can be >> dumped. After escape analysis, remaining interesting information that is >> left until macro elimination (and consequent elimination of non-escaping, >> replaceable allocations) is also dumped. >> >> Additionally, two filters are provided: one for displaying the connection >> node type in the IGV node box, and another one for color-scaling nodes based >> on their escaping/scalar status. >> >> **Testing:** passes tiers 1-3, manual testing in IGV > > Anton Seoane Ampudia has updated the pull request incrementally with two > additional commits since the last revision: > > - Remove build files > - Review comments: use `should_print_igv` Changes requested by rcastanedalo (Reviewer). make/hs_err_pid70657.log line 1: > 1: # Please remove. make/replay_pid70657.log line 1: > 1: version 2 Remove. ------------- PR Review: https://git.openjdk.org/jdk/pull/28060#pullrequestreview-3459688355 PR Review Comment: https://git.openjdk.org/jdk/pull/28060#discussion_r2523384072 PR Review Comment: https://git.openjdk.org/jdk/pull/28060#discussion_r2523384498
