GraalVM code reachability algorithm is not able to evaluate at build time that ENABLED static field is always false in a native image, shipping unreachable code. Before this commit, building a native image with -H:+PrintAnalysisCallTree shows that the following methods are included: - BackgroundPreinitializer$1.<init>(BackgroundPreinitializer):void - BackgroundPreinitializer$1.run():void - BackgroundPreinitializer$1.runSafely(Runnable):void - BackgroundPreinitializer$CharsetInitializer.run():void - BackgroundPreinitializer$ConversionServiceInitializer.run():void - BackgroundPreinitializer$JacksonInitializer.run():void - BackgroundPreinitializer$MessageConverterInitializer.run():void - BackgroundPreinitializer$ValidationInitializer.run():void - BackgroundPreinitializer.<clinit>():void - BackgroundPreinitializer.getOrder():int - BackgroundPreinitializer.onApplicationEvent(ApplicationEvent):void - BackgroundPreinitializer.onApplicationEvent(SpringApplicationEvent):void - BackgroundPreinitializer.performPreinitialization():void After this commit, only those are included: - BackgroundPreinitializer.<clinit>():void - BackgroundPreinitializer.getOrder():int - BackgroundPreinitializer.onApplicationEvent(ApplicationEvent):void - BackgroundPreinitializer.onApplicationEvent(SpringApplicationEvent):void See gh-33240 |
||
---|---|---|
.. | ||
src | ||
build.gradle |