RFR: 8263075: C2: simplify anti-dependence check in PhaseCFG::implicit_null_check() [v4]

Roberto Castañeda Lozano rcastanedalo at openjdk.java.net
Fri May 20 12:10:49 UTC 2022


On Thu, 19 May 2022 22:54:25 GMT, Brian J. Stafford <duke at openjdk.java.net> wrote:

>> The reporter for this issue (https://bugs.openjdk.java.net/browse/JDK-8263075) indicated that there's an assumption that we can rely on that the while loop in question will run exactly one time. Based on this, I've done the following:
>> 
>> - Asserted the condition that makes sure the code runs at least once
>> - Asserted the condition that makes sure the code runs only once
>> - Removed the `while` loop
>> - Changed a couple of `break` statements into `continue` statements. They no longer need to break out of the `while` loop, now that it's gone. However, they were early exits from the `while` loop that ended up resulting in `continue` statements for the larger enclosing loop. Thus we can just call `continue` directly.
>> - Removed the local variable `b`, as we no longer need to traverse the node hierarchy. We can use `mb` directly.
>> 
>> Passes jdk, langtools, and hotspot Tier 1 tests on Linux (x64 and ARM64) and macOS (x64 and ARM64). Most Tier 1 tests pass on Windows (x64 and ARM64), but there are a handful of failures unrelated to this change.
>
> Brian J. Stafford has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Removing whitespace

Thanks for addressing all my comments! I just have a last, style comment on the updated revision.

src/hotspot/share/opto/lcm.cpp line 336:

> 334:        //mach is a store, hence block is the immediate dominator of mb.
> 335:        //Due to the null-check shape of block (where its successors cannot re-join),
> 336:        //block must be the direct predecessor of mb.

Please, introduce a single space between each `//` and the comment text.

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

Changes requested by rcastanedalo (Committer).

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


More information about the hotspot-compiler-dev mailing list