@@ -243,30 +243,39 @@ public void printInitializeEnd(List<Feature> features, ImageClassLoader classLoa
243243 recordJsonMetric (GeneralInfo .JAVA_VERSION , vm .version );
244244 recordJsonMetric (GeneralInfo .VENDOR_VERSION , vm .vendorVersion );
245245 recordJsonMetric (GeneralInfo .GRAALVM_VERSION , vm .vendorVersion ); // deprecated
246- l ().a (" " ).doclink ("Java version" , "#glossary-java-info" ).a (": " ).a (vm .version ).a (", " ).doclink ("vendor version" , "#glossary-java-info" ).a (": " ).a (vm .vendorVersion ).println ();
246+
247+ // Builder Configuration section
248+ l ().a (" " ).a ("Builder configuration:" ).println ();
249+ l ().a (" - " ).doclink ("Java version" , "#glossary-java-info" ).a (": " ).a (vm .version ).a (", " ).doclink ("vendor version" , "#glossary-java-info" ).a (": " ).a (vm .vendorVersion ).println ();
247250 String optimizationLevel = SubstrateOptions .Optimize .getValue ();
248251 recordJsonMetric (GeneralInfo .GRAAL_COMPILER_OPTIMIZATION_LEVEL , optimizationLevel );
249252 String march = CPUType .getSelectedOrDefaultMArch ();
250253 recordJsonMetric (GeneralInfo .GRAAL_COMPILER_MARCH , march );
251- DirectPrinter graalLine = l ().a (" " ).doclink ("Graal compiler" , "#glossary-graal-compiler" ).a (": optimization level: %s, target machine: %s" , optimizationLevel , march );
254+ DirectPrinter graalLine = l ().a (" - " ).doclink ("Graal compiler" , "#glossary-graal-compiler" ).a (": optimization level: %s, target machine: %s" , optimizationLevel , march );
252255 ImageSingletons .lookup (ProgressReporterFeature .class ).appendGraalSuffix (graalLine );
253256 graalLine .println ();
254257 String cCompilerShort = null ;
255258 if (ImageSingletons .contains (CCompilerInvoker .class )) {
256259 cCompilerShort = ImageSingletons .lookup (CCompilerInvoker .class ).compilerInfo .getShortDescription ();
257- l ().a (" " ).doclink ("C compiler" , "#glossary-ccompiler" ).a (": " ).a (cCompilerShort ).println ();
260+ l ().a (" - " ).doclink ("C compiler" , "#glossary-ccompiler" ).a (": " ).a (cCompilerShort ).println ();
258261 }
259262 recordJsonMetric (GeneralInfo .CC , cCompilerShort );
260263 String gcName = Heap .getHeap ().getGC ().getName ();
261264 recordJsonMetric (GeneralInfo .GC , gcName );
262265 long maxHeapSize = SubstrateGCOptions .MaxHeapSize .getValue ();
263266 String maxHeapValue = maxHeapSize == 0 ? Heap .getHeap ().getGC ().getDefaultMaxHeapSize () : ByteFormattingUtil .bytesToHuman (maxHeapSize );
264267
265- l ().a (" " ).a ("Builder assertions: " ).a (SubstrateUtil .assertionsEnabled () ? "enabled" : "disabled" ).a (", builder system assertions: " ).a (getSystemAssertionStatus () ? "enabled" : "disabled" ).println ();
266- l ().a (" " ).doclink ("Image Garbage collector" , "#glossary-gc" ).a (": " ).a (gcName ).a (" (" ).doclink ("max heap size" , "#glossary-gc-max-heap-size" ).a (": " ).a (maxHeapValue ).a (")" ).println ();
267- l ().a (" " ).a ("Image assertions: by default " ).a (RuntimeAssertionsSupport .singleton ().getDefaultAssertionStatus () ? "enabled" : "disabled" ).a (", system assertions: by default " ).a (RuntimeAssertionsSupport .singleton ().getDefaultSystemAssertionStatus () ? "enabled" : "disabled" ).a (" (class-specific config may apply)" ).println ();
268+ l ().a (" - " ).a ("Assertions: " ).a (SubstrateUtil .assertionsEnabled () ? "enabled" : "disabled" ).a (", system assertions: " ).a (getSystemAssertionStatus () ? "enabled" : "disabled" )
269+ .println ();
268270
269271 printFeatures (features );
272+
273+ // Image Configuration section
274+ l ().a (" " ).a ("Image configuration:" ).println ();
275+ l ().a (" - " ).doclink ("Garbage collector" , "#glossary-gc" ).a (": " ).a (gcName ).a (" (" ).doclink ("max heap size" , "#glossary-gc-max-heap-size" ).a (": " ).a (maxHeapValue ).a (")" ).println ();
276+ l ().a (" - " ).a ("Assertions: " ).a (RuntimeAssertionsSupport .singleton ().getDefaultAssertionStatus () ? "enabled" : "disabled" ).a (" (class-specific config may apply), system assertions: " )
277+ .a (RuntimeAssertionsSupport .singleton ().getDefaultSystemAssertionStatus () ? "enabled" : "disabled" ).println ();
278+
270279 printExperimentalOptions (classLoader );
271280 printResourceInfo ();
272281 }
@@ -278,7 +287,7 @@ private boolean getSystemAssertionStatus() {
278287 private void printFeatures (List <Feature > features ) {
279288 int numFeatures = features .size ();
280289 if (numFeatures > 0 ) {
281- l ().a (" " ).a (numFeatures ).a (" " ).doclink ("user-specific feature(s)" , "#glossary-user-specific-features" ).a (":" ).println ();
290+ l ().a (" - " ).a (numFeatures ).a (" " ).doclink ("user-specific feature(s)" , "#glossary-user-specific-features" ).a (":" ).println ();
282291 features .sort (Comparator .comparing (a -> a .getClass ().getName ()));
283292 for (Feature feature : features ) {
284293 printFeature (l (), feature );
@@ -287,7 +296,7 @@ private void printFeatures(List<Feature> features) {
287296 }
288297
289298 private static void printFeature (DirectPrinter printer , Feature feature ) {
290- printer .a (" - " );
299+ printer .a (" - " );
291300 String name = feature .getClass ().getName ();
292301 String url = feature .getURL ();
293302 if (url != null ) {
0 commit comments