RFR: 8348645: IGV: visualize live ranges

Roberto Castañeda Lozano rcastanedalo at openjdk.org
Thu Feb 20 13:44:54 UTC 2025


On Wed, 19 Feb 2025 12:03:49 GMT, Damon Fenacci <dfenacci at openjdk.org> wrote:

>>> Thanks for the report Damon, will investigate!
>> 
>> Commit 00169223 should fix the issue, thanks again.
>
> @robcasloz, I was a bit puzzled by live ranges with Phi nodes but then I noticed that in the description you mention that they are treated somewhat in a special way:
>> To reflect accurately the semantics of Phi nodes w.r.t. liveness, the visualization treats live ranges related by Phi nodes specially: live ranges used by a Phi node end at the bottom of the corresponding predecessor basic blocks, whereas live ranges defined by a Phi node start at the top of the node's basic block.
> 
> I thought that variables that are joined by the Phi node are still live at the Phi node. Is this not the case? Or possibly you meant that it is better not to consider them live there (e.g. to reduce the number of live ranges in the block with the Phi node)?
> 
> Irrespective of that, would it be feasible to add a "termination dash" at the bottom of the line (e.g. at the bottom of `L8`)?
> <img width="369" alt="image" src="https://github.com/user-attachments/assets/b7bf53c7-ccc3-4ec2-8847-e38ccdc28699" />

While studying the issues brought up by @dafedafe, I also realized that live ranges of single-block CFGs were not displayed. This is now addressed by commit 51718b90.

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

PR Comment: https://git.openjdk.org/jdk/pull/23558#issuecomment-2671537556


More information about the hotspot-compiler-dev mailing list