RFR: 8361255: CTW: Tolerate more NCDFE problems [v2]
Galder Zamarreño
galder at openjdk.org
Thu Jul 3 11:17:41 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
Changes requested by galder (Author).
test/hotspot/jtreg/testlibrary/ctw/src/sun/hotspot/tools/ctw/Compiler.java line 104:
> 102: constructors = aClass.getDeclaredConstructors();
> 103: } catch (NoClassDefFoundError e) {
> 104: CompileTheWorld.OUT.println(String.format("[%d]\t%s\tNOTE unable to get constructors : %s",
Nitpick really but why not call `CompileTheWorld.OUT.printf(...` instead of `CompileTheWorld.OUT.println(String.format(...`?
-------------
PR Review: https://git.openjdk.org/jdk/pull/26090#pullrequestreview-2982769212
PR Review Comment: https://git.openjdk.org/jdk/pull/26090#discussion_r2182520478
More information about the hotspot-compiler-dev
mailing list