RFR: JDK-8277382 make c1 BlockMerger use IR::verify only when necessary

Tobias Hartmann thartmann at openjdk.java.net
Mon Nov 22 14:25:47 UTC 2021


On Thu, 18 Nov 2021 13:30:02 GMT, Ludvig Janiuk <duke at openjdk.java.net> wrote:

> This PR removes two calls to `IR::verify` which were unnecessary. The reason they are unnecessary is that `try_merge` does not always take any action. There is not need to verify if nothing has changed. In the cases that `try_merge` does do anything, it already calls `IR::verify` afterwards.
> 
> This PR also switches some deeply nested if statements in `try_merge` to early returns.

Changes requested by thartmann (Reviewer).

src/hotspot/share/c1/c1_Optimizer.cpp line 374:

> 372:         assert(sux_value == end_state->local_at(index), "locals not equal");
> 373:       }
> 374:     assert(sux_state->caller_state() == end_state->caller_state(), "caller not equal");

The indentation is wrong.

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

PR: https://git.openjdk.java.net/jdk/pull/6456


More information about the hotspot-compiler-dev mailing list