RFR: 8316719: C2 compilation still fails with "bad AD file"

Christian Hagedorn chagedorn at openjdk.org
Mon Nov 6 09:11:10 UTC 2023


On Sun, 5 Nov 2023 18:25:53 GMT, Quan Anh Mai <qamai at openjdk.org> wrote:

> Hi,
> 
> As noted by Christian in JBS, checking for loop increment is unreliable. Since we are operating on the `BoolNode`, we can check for the counted loop condition directly.
> 
> Please let me know if there is any issue with this approach. Thanks a lot.

That looks good!

src/hotspot/share/opto/subnode.cpp line 155:

> 153: }
> 154: 
> 155: static bool is_cloop_condition(Node* bol) {

Nit: `bol` could be of type `BoolNode*`

test/hotspot/jtreg/compiler/c2/MinValueStrideCountedLoop.java line 40:

> 38:  * @summary Loop increment should not be transformed into unsigned comparison
> 39:  *
> 40:  * @run main/othervm -Xcomp -XX:-TieredCompilation -XX:-UseLoopPredicate

Since `UseLoopPredicate` is C2 specific, you should add a `@requires vm.compiler2.enabled`.

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

Marked as reviewed by chagedorn (Reviewer).

PR Review: https://git.openjdk.org/jdk/pull/16509#pullrequestreview-1714577395
PR Review Comment: https://git.openjdk.org/jdk/pull/16509#discussion_r1382972350
PR Review Comment: https://git.openjdk.org/jdk/pull/16509#discussion_r1382971062


More information about the hotspot-compiler-dev mailing list