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

Brian J. Stafford duke at openjdk.java.net
Wed May 25 15:29:06 UTC 2022


On Tue, 24 May 2022 16:42:13 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:
> 
>   Added some whitespace

The langtools/tier1 failures on Windows x64 are not related to this recent whitespace change, and I'm seeing similar failures on other outstanding PRs. Might be an infrastructure issue. However, I'm not positive if the failures will prevent integration.

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

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


More information about the hotspot-compiler-dev mailing list