RFR: 8361255: CTW: Tolerate more NCDFE problems [v2]

Aleksey Shipilev shade at openjdk.org
Wed Jul 2 12:10:40 UTC 2025


On Wed, 2 Jul 2025 12:02:07 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

>> We routinely CTW 3rd party JARs to make sure our compilers work. By the nature of the JARs, they have dependencies on other JARs, and CTW runner frequently warns out with NCDFE. It does so very crudely, missing opportunities to compile the methods that _do not_ trigger NCDFEs. CTW should be made more tolerant to this. I think the normal "modules" CTW runs into the similar problem, but on a lesser scale, as we do not have a very hairy dependency graph within JDK. 
>> 
>> The CTW logs are also fairly noisy with full exception traces when NCDFE is semi-expected. This PR does _not_ print exception stack traces in these cases, only "NOTE"-s about it. This makes the log fairly clean and more understandable.
>> 
>> Motivational scope improvement compiling a sample 3rd party JAR (cassandra-2.1.4.0.jar):
>> 
>> 
>> Before: Done (2487 classes, 9866 methods, 24584 ms)
>> After:  Done (2487 classes, 10074 methods, 24150 ms)  ; +2% more methods
>> 
>> 
>> Additional testing:
>>  - [x] Linux x86_64 server fastdebug, `applications/ctw/modules`
>
> Aleksey Shipilev has updated the pull request with a new target base due to a merge or a rebase. The incremental webrev excludes the unrelated changes brought in by the merge/rebase. The pull request contains four additional commits since the last revision:
> 
>  - Merge branch 'master' into JDK-8361255-ctw-ncdfe
>  - Move clinit compile back
>  - Initial
>  - Fix

Sanity-checking CTW times:


$ time CONF=linux-x86_64-server-fastdebug make test TEST=applications/ctw/modules/

# Base
real	3m49.952s
user	67m50.313s
sys	5m24.288s

# This PR
real	3m53.800s
user	67m26.925s
sys	5m22.429s

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

PR Comment: https://git.openjdk.org/jdk/pull/26090#issuecomment-3027631058


More information about the hotspot-compiler-dev mailing list