Integrated: 8285558: IGV: scheduling crashes on control-unreachable CFG nodes
Roberto Castañeda Lozano
rcastanedalo at openjdk.java.net
Tue May 31 07:04:26 UTC 2022
On Fri, 27 May 2022 10:08:22 GMT, Roberto Castañeda Lozano <rcastanedalo at openjdk.org> wrote:
> This changeset relaxes IGV's schedule approximation algorithm to handle CFG nodes that are not reachable from the root node via a control path. This is done by 1) removing the assumption that, after `ServerCompilerScheduler::buildBlocks()`, `Node::block` is non-null for CFG nodes; and 2) leaving the assignment of blockless nodes to an artificial "no block" to `InputGraph::ensureNodesInBlocks()`, which is always called after running the schedule approximation algorithm.
>
> Additionally, the changeset marks unreachable CFG nodes with a warning, making it easier to identify ill-formed graphs:
>
> 
>
> #### Testing
>
> - Tested manually on the two graphs reported in the [JBS issue](https://bugs.openjdk.java.net/browse/JDK-8285558).
>
> - Tested automatically that scheduling tens of thousands of graphs (by instrumenting IGV to schedule parsed graphs eagerly and running `java -Xcomp -XX:-TieredCompilation -XX:PrintIdealGraphLevel=4`) does not introduce any exception or assertion failure.
This pull request has now been integrated.
Changeset: 8f59422d
Author: Roberto Castañeda Lozano <rcastanedalo at openjdk.org>
URL: https://git.openjdk.java.net/jdk/commit/8f59422d357a00a2270a8f421966977e3979c2fb
Stats: 24 lines in 1 file changed: 10 ins; 14 del; 0 mod
8285558: IGV: scheduling crashes on control-unreachable CFG nodes
Reviewed-by: kvn, chagedorn
-------------
PR: https://git.openjdk.java.net/jdk/pull/8916
More information about the hotspot-compiler-dev
mailing list