RFR: 8345156: C2: Add bailouts next to a few asserts

Vladimir Kozlov kvn at openjdk.org
Mon Dec 2 19:41:39 UTC 2024


On Mon, 2 Dec 2024 13:07:57 GMT, Daniel Skantz <duke at openjdk.org> wrote:

> This patch associates product bailouts with a few existing debug asserts. The criteria are that there have been product bugs associated with failing these asserts in the past, and that there are not too many callers to the method where the compilation is now cancelled or any measurable impact on compilation time.
> 
> Testing: T1-T4 and extra testing. Tested compilation time with -XX:+CITime on performance benchmarks and the effect was not measurable.

How you found places where to add `failing()` check?
To be useful it should be preceded by a failure recording.

src/hotspot/share/opto/block.cpp line 1359:

> 1357:       if (n->needs_anti_dependence_check()) {
> 1358:         verify_anti_dependences(block, n);
> 1359:         if (C->failing()) {

I don't see where `record_failure()` is called from `verify_anti_dependences()`.

src/hotspot/share/opto/gcm.cpp line 1535:

> 1533:       // defs in new LCA block.
> 1534:       LCA = insert_anti_dependences(LCA, self);
> 1535:       if (C->failing()) {

Same here. I don't see where `record_failure()` is called from `insert_anti_dependences()`.
And there are a lot of assets there.

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

PR Review: https://git.openjdk.org/jdk/pull/22482#pullrequestreview-2473737363
PR Review Comment: https://git.openjdk.org/jdk/pull/22482#discussion_r1866499303
PR Review Comment: https://git.openjdk.org/jdk/pull/22482#discussion_r1866500091


More information about the hotspot-compiler-dev mailing list