JDK-8283775 : better dump: VM support for graph querying in debugger with BFS traversal and node filtering
  • Type: Enhancement
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 19
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2022-03-28
  • Updated: 2022-12-14
  • Resolved: 2022-06-13
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 20
20 b02Fixed
Related Reports
Relates :  
Relates :  
Relates :  
Description
Goal: collect a list of useful functions that can be used in debugger. These functions should be simple and easy to read, so that other developers can adapt them to their individual need, should they have a more specific use case.

Process: collect ideas, and implementations. Then discuss, and select what is broadly helpful.

Initial ideas:
1) traverse cfg (control flow graph) backwards/upwards, printing all cfg nodes. Verify if we ever reach the start node. This can be helpful to find out if the IR graph region is dead.

2) traverse phi graph (or dataflow in general). See if it is a dead loop (no dataflow ever enters).

3) find shortest path between to nodes. Could be helpful to see how/if the nodes are related. Maybe there are even better queries that check for relatedness of 2 nodes?

3a) Find node in transitive inputs. Filter options: only cfg, only phi. Display shortest path found that way.
Comments
Changeset: 33ed0365 Author: Emanuel Peter <epeter@openjdk.org> Date: 2022-06-13 11:46:13 +0000 URL: https://git.openjdk.org/jdk/commit/33ed0365c3ed182a9d063e1701fe69bfb72dfa2e
13-06-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk/pull/8468 Date: 2022-04-29 13:04:55 +0000
02-05-2022