8198608: Improvements to command-line flags printing
authorlucy
Mon, 19 Mar 2018 13:37:57 -0500
changeset 49460 e786d01c47f2
parent 49459 19952ddce953
child 49461 6e9e88d82781
8198608: Improvements to command-line flags printing Summary: Re-implemented Flag::print_on() Reviewed-by: dholmes, mikael, gziemski
src/hotspot/share/runtime/globals.cpp
src/hotspot/share/runtime/globals.hpp
test/hotspot/jtreg/compiler/arguments/CheckCICompilerCount.java
test/hotspot/jtreg/compiler/arguments/CheckCompileThresholdScaling.java
--- a/src/hotspot/share/runtime/globals.cpp	Mon Mar 19 13:38:35 2018 -0400
+++ b/src/hotspot/share/runtime/globals.cpp	Mon Mar 19 13:37:57 2018 -0500
@@ -462,6 +462,18 @@
   return is_manageable() || is_external_ext();
 }
 
+// Helper function for Flag::print_on().
+// Fills current line up to requested position.
+// Should the current position already be past the requested position,
+// one separator blank is enforced.
+void fill_to_pos(outputStream* st, unsigned int req_pos) {
+  if ((unsigned int)st->position() < req_pos) {
+    st->fill_to(req_pos);  // need to fill with blanks to reach req_pos
+  } else {
+    st->print(" ");        // enforce blank separation. Previous field too long.
+  }
+}
+
 void Flag::print_on(outputStream* st, bool withComments, bool printRanges) {
   // Don't print notproduct and develop flags in a product build.
   if (is_constant_in_binary()) {
@@ -469,36 +481,82 @@
   }
 
   if (!printRanges) {
-    // Use some named constants to make code more readable.
-    const unsigned int nSpaces    = 10;
-    const unsigned int maxFlagLen = 40 + nSpaces;
+    // The command line options -XX:+PrintFlags* cause this function to be called
+    // for each existing flag to print information pertinent to this flag. The data
+    // is displayed in columnar form, with the following layout:
+    //  col1 - data type, right-justified
+    //  col2 - name,      left-justified
+    //  col3 - ' ='       double-char, leading space to align with possible '+='
+    //  col4 - value      left-justified
+    //  col5 - kind       right-justified
+    //  col6 - origin     left-justified
+    //  col7 - comments   left-justified
+    //
+    //  The column widths are fixed. They are defined such that, for most cases,
+    //  an eye-pleasing tabular output is created.
+    //
+    //  Sample output:
+    //       bool CMSScavengeBeforeRemark                  = false                                     {product} {default}
+    //      uintx CMSScheduleRemarkEdenPenetration         = 50                                        {product} {default}
+    //     size_t CMSScheduleRemarkEdenSizeThreshold       = 2097152                                   {product} {default}
+    //      uintx CMSScheduleRemarkSamplingRatio           = 5                                         {product} {default}
+    //     double CMSSmallCoalSurplusPercent               = 1.050000                                  {product} {default}
+    //      ccstr CompileCommandFile                       = MyFile.cmd                                {product} {command line}
+    //  ccstrlist CompileOnly                              = Method1
+    //            CompileOnly                             += Method2                                   {product} {command line}
+    //  |         |                                       |  |                              |                    |               |
+    //  |         |                                       |  |                              |                    |               +-- col7
+    //  |         |                                       |  |                              |                    +-- col6
+    //  |         |                                       |  |                              +-- col5
+    //  |         |                                       |  +-- col4
+    //  |         |                                       +-- col3
+    //  |         +-- col2
+    //  +-- col1
 
-    // The print below assumes that the flag name is 40 characters or less.
-    // This works for most flags, but there are exceptions. Our longest flag
-    // name right now is UseAdaptiveGenerationSizePolicyAtMajorCollection and
-    // its minor collection buddy. These are 48 characters. We use a buffer of
-    // nSpaces spaces below to adjust the space between the flag value and the
-    // column of flag type and origin that is printed in the end of the line.
-    char spaces[nSpaces + 1] = "          ";
-    st->print("%9s %-*s = ", _type, maxFlagLen-nSpaces, _name);
+    const unsigned int col_spacing = 1;
+    const unsigned int col1_pos    = 0;
+    const unsigned int col1_width  = 9;
+    const unsigned int col2_pos    = col1_pos + col1_width + col_spacing;
+    const unsigned int col2_width  = 39;
+    const unsigned int col3_pos    = col2_pos + col2_width + col_spacing;
+    const unsigned int col3_width  = 2;
+    const unsigned int col4_pos    = col3_pos + col3_width + col_spacing;
+    const unsigned int col4_width  = 30;
+    const unsigned int col5_pos    = col4_pos + col4_width + col_spacing;
+    const unsigned int col5_width  = 20;
+    const unsigned int col6_pos    = col5_pos + col5_width + col_spacing;
+    const unsigned int col6_width  = 15;
+    const unsigned int col7_pos    = col6_pos + col6_width + col_spacing;
+    const unsigned int col7_width  = 1;
 
+    st->fill_to(col1_pos);
+    st->print("%*s", col1_width, _type);  // right-justified, therefore width is required.
+
+    fill_to_pos(st, col2_pos);
+    st->print("%s", _name);
+
+    fill_to_pos(st, col3_pos);
+    st->print(" =");  // use " =" for proper alignment with multiline ccstr output.
+
+    fill_to_pos(st, col4_pos);
     if (is_bool()) {
-      st->print("%-20s", get_bool() ? "true" : "false");
+      st->print("%s", get_bool() ? "true" : "false");
     } else if (is_int()) {
-      st->print("%-20d", get_int());
+      st->print("%d", get_int());
     } else if (is_uint()) {
-      st->print("%-20u", get_uint());
+      st->print("%u", get_uint());
     } else if (is_intx()) {
-      st->print(INTX_FORMAT_W(-20), get_intx());
+      st->print(INTX_FORMAT, get_intx());
     } else if (is_uintx()) {
-      st->print(UINTX_FORMAT_W(-20), get_uintx());
+      st->print(UINTX_FORMAT, get_uintx());
     } else if (is_uint64_t()) {
-      st->print(UINT64_FORMAT_W(-20), get_uint64_t());
+      st->print(UINT64_FORMAT, get_uint64_t());
     } else if (is_size_t()) {
-      st->print(SIZE_FORMAT_W(-20), get_size_t());
+      st->print(SIZE_FORMAT, get_size_t());
     } else if (is_double()) {
-      st->print("%-20f", get_double());
+      st->print("%f", get_double());
     } else if (is_ccstr()) {
+      // Honor <newline> characters in ccstr: print multiple lines.
       const char* cp = get_ccstr();
       if (cp != NULL) {
         const char* eol;
@@ -507,31 +565,85 @@
           st->print("%.*s", (int)llen, cp);
           st->cr();
           cp = eol+1;
-          st->print("%5s %-35s += ", "", _name);
+          fill_to_pos(st, col2_pos);
+          st->print("%s", _name);
+          fill_to_pos(st, col3_pos);
+          st->print("+=");
+          fill_to_pos(st, col4_pos);
         }
-        st->print("%-20s", cp);
+        st->print("%s", cp);
       }
-      else st->print("%-20s", "");
+    } else {
+      st->print("unhandled  type %s", _type);
+      st->cr();
+      return;
     }
-    // Make sure we do not punch a '\0' at a negative char array index.
-    unsigned int nameLen = (unsigned int)strlen(_name);
-    if (nameLen <= maxFlagLen) {
-      spaces[maxFlagLen - MAX2(maxFlagLen-nSpaces, nameLen)] = '\0';
-      st->print("%s", spaces);
-    }
-    print_kind_and_origin(st);
+
+    fill_to_pos(st, col5_pos);
+    print_kind(st, col5_width);
+
+    fill_to_pos(st, col6_pos);
+    print_origin(st, col6_width);
 
 #ifndef PRODUCT
     if (withComments) {
+      fill_to_pos(st, col7_pos);
       st->print("%s", _doc);
     }
 #endif
-
     st->cr();
+  } else if (!is_bool() && !is_ccstr()) {
+    // The command line options -XX:+PrintFlags* cause this function to be called
+    // for each existing flag to print information pertinent to this flag. The data
+    // is displayed in columnar form, with the following layout:
+    //  col1 - data type, right-justified
+    //  col2 - name,      left-justified
+    //  col4 - range      [ min ... max]
+    //  col5 - kind       right-justified
+    //  col6 - origin     left-justified
+    //  col7 - comments   left-justified
+    //
+    //  The column widths are fixed. They are defined such that, for most cases,
+    //  an eye-pleasing tabular output is created.
+    //
+    //  Sample output:
+    //       intx MinPassesBeforeFlush                               [ 0                         ...       9223372036854775807 ]                         {diagnostic} {default}
+    //      uintx MinRAMFraction                                     [ 1                         ...      18446744073709551615 ]                            {product} {default}
+    //     double MinRAMPercentage                                   [ 0.000                     ...                   100.000 ]                            {product} {default}
+    //      uintx MinSurvivorRatio                                   [ 3                         ...      18446744073709551615 ]                            {product} {default}
+    //     size_t MinTLABSize                                        [ 1                         ...       9223372036854775807 ]                            {product} {default}
+    //       intx MonitorBound                                       [ 0                         ...                2147483647 ]                            {product} {default}
+    //  |         |                                                  |                                                           |                                    |               |
+    //  |         |                                                  |                                                           |                                    |               +-- col7
+    //  |         |                                                  |                                                           |                                    +-- col6
+    //  |         |                                                  |                                                           +-- col5
+    //  |         |                                                  +-- col4
+    //  |         +-- col2
+    //  +-- col1
 
-  } else if (!is_bool() && !is_ccstr()) {
-    st->print("%9s %-50s ", _type, _name);
+    const unsigned int col_spacing = 1;
+    const unsigned int col1_pos    = 0;
+    const unsigned int col1_width  = 9;
+    const unsigned int col2_pos    = col1_pos + col1_width + col_spacing;
+    const unsigned int col2_width  = 49;
+    const unsigned int col3_pos    = col2_pos + col2_width + col_spacing;
+    const unsigned int col3_width  = 0;
+    const unsigned int col4_pos    = col3_pos + col3_width + col_spacing;
+    const unsigned int col4_width  = 60;
+    const unsigned int col5_pos    = col4_pos + col4_width + col_spacing;
+    const unsigned int col5_width  = 35;
+    const unsigned int col6_pos    = col5_pos + col5_width + col_spacing;
+    const unsigned int col6_width  = 15;
+    const unsigned int col7_pos    = col6_pos + col6_width + col_spacing;
+    const unsigned int col7_width  = 1;
 
+    st->fill_to(col1_pos);
+    st->print("%*s", col1_width, _type);  // right-justified, therefore width is required.
+
+    fill_to_pos(st, col2_pos);
+    st->print("%s", _name);
+
+    fill_to_pos(st, col4_pos);
     RangeStrFunc func = NULL;
     if (is_int()) {
       func = Flag::get_int_default_range_str;
@@ -548,24 +660,29 @@
     } else if (is_double()) {
       func = Flag::get_double_default_range_str;
     } else {
-      ShouldNotReachHere();
+      st->print("unhandled  type %s", _type);
+      st->cr();
+      return;
     }
     CommandLineFlagRangeList::print(st, _name, func);
 
-    st->print(" %-16s", " ");
-    print_kind_and_origin(st);
+    fill_to_pos(st, col5_pos);
+    print_kind(st, col5_width);
+
+    fill_to_pos(st, col6_pos);
+    print_origin(st, col6_width);
 
 #ifndef PRODUCT
     if (withComments) {
+      fill_to_pos(st, col7_pos);
       st->print("%s", _doc);
     }
 #endif
-
     st->cr();
   }
 }
 
-void Flag::print_kind_and_origin(outputStream* st) {
+void Flag::print_kind(outputStream* st, unsigned int width) {
   struct Data {
     int flag;
     const char* name;
@@ -615,11 +732,13 @@
     }
     assert(buffer_used + 2 <= buffer_size, "Too small buffer");
     jio_snprintf(kind + buffer_used, buffer_size - buffer_used, "}");
-    st->print("%20s", kind);
+    st->print("%*s", width, kind);
   }
+}
 
+void Flag::print_origin(outputStream* st, unsigned int width) {
   int origin = _flags & VALUE_ORIGIN_MASK;
-  st->print(" {");
+  st->print("{");
   switch(origin) {
     case DEFAULT:
       st->print("default"); break;
--- a/src/hotspot/share/runtime/globals.hpp	Mon Mar 19 13:38:35 2018 -0400
+++ b/src/hotspot/share/runtime/globals.hpp	Mon Mar 19 13:37:57 2018 -0500
@@ -289,7 +289,8 @@
 
   // printRanges will print out flags type, name and range values as expected by -XX:+PrintFlagsRanges
   void print_on(outputStream* st, bool withComments = false, bool printRanges = false);
-  void print_kind_and_origin(outputStream* st);
+  void print_kind(outputStream* st, unsigned int width);
+  void print_origin(outputStream* st, unsigned int width);
   void print_as_flag(outputStream* st);
 
   static const char* flag_error_str(Flag::Error error);
--- a/test/hotspot/jtreg/compiler/arguments/CheckCICompilerCount.java	Mon Mar 19 13:38:35 2018 -0400
+++ b/test/hotspot/jtreg/compiler/arguments/CheckCICompilerCount.java	Mon Mar 19 13:37:57 2018 -0500
@@ -84,11 +84,11 @@
 
     private static final String[] NON_TIERED_EXPECTED_OUTPUTS = {
             "CICompilerCount (0) must be at least 1",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
             "CICompilerCount (0) must be at least 1",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 1                                        {product} {command line}"
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}"
     };
 
     private static final int[] NON_TIERED_EXIT = {
@@ -165,13 +165,13 @@
 
     private static final String[] TIERED_EXPECTED_OUTPUTS = {
             "CICompilerCount (1) must be at least 2",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 2                                        {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 2                                         {product} {command line}",
             "CICompilerCount (1) must be at least 2",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 1                                        {product} {command line}",
-            "intx CICompilerCount                          = 2                                        {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 1                                         {product} {command line}",
+            "intx CICompilerCount                          = 2                                         {product} {command line}",
     };
 
     private static final int[] TIERED_EXIT = {
--- a/test/hotspot/jtreg/compiler/arguments/CheckCompileThresholdScaling.java	Mon Mar 19 13:38:35 2018 -0400
+++ b/test/hotspot/jtreg/compiler/arguments/CheckCompileThresholdScaling.java	Mon Mar 19 13:37:57 2018 -0500
@@ -108,25 +108,25 @@
 
     private static final String[][] NON_TIERED_EXPECTED_OUTPUTS = {
         {
-            "intx CompileThreshold                         = 1000                                  {pd product} {command line}",
-            "double CompileThresholdScaling                  = 1.000000                                 {product} {default}"
+            "intx CompileThreshold                         = 1000                                   {pd product} {command line}",
+            "double CompileThresholdScaling                  = 1.000000                                  {product} {default}"
         },
         {
-            "intx CompileThreshold                         = 1250                                  {pd product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 1.250000                                 {product} {command line}"
+            "intx CompileThreshold                         = 1250                                   {pd product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 1.250000                                  {product} {command line}"
         },
         {
-            "intx CompileThreshold                         = 750                                   {pd product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 0.750000                                 {product} {command line}"
+            "intx CompileThreshold                         = 750                                    {pd product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 0.750000                                  {product} {command line}"
         },
         {
-            "intx CompileThreshold                         = 1000                                  {pd product} {command line}",
-            "double CompileThresholdScaling                  = 0.000000                                 {product} {command line}",
+            "intx CompileThreshold                         = 1000                                   {pd product} {command line}",
+            "double CompileThresholdScaling                  = 0.000000                                  {product} {command line}",
             "interpreted mode"
         },
         {
-            "intx CompileThreshold                         = 0                                     {pd product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 0.750000                                 {product} {command line}",
+            "intx CompileThreshold                         = 0                                      {pd product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 0.750000                                  {product} {command line}",
             "interpreted mode"
         }
     };
@@ -240,94 +240,94 @@
 
     private static final String[][] TIERED_EXPECTED_OUTPUTS = {
         {
-            "intx Tier0BackedgeNotifyFreqLog               = 10                                       {product} {command line}",
-            "intx Tier0InvokeNotifyFreqLog                 = 7                                        {product} {command line}",
-            "intx Tier23InlineeNotifyFreqLog               = 20                                       {product} {command line}",
-            "intx Tier2BackedgeNotifyFreqLog               = 14                                       {product} {command line}",
-            "intx Tier2InvokeNotifyFreqLog                 = 11                                       {product} {command line}",
-            "intx Tier3BackEdgeThreshold                   = 60000                                    {product} {command line}",
-            "intx Tier3BackedgeNotifyFreqLog               = 13                                       {product} {command line}",
-            "intx Tier3CompileThreshold                    = 2000                                     {product} {command line}",
-            "intx Tier3InvocationThreshold                 = 200                                      {product} {command line}",
-            "intx Tier3InvokeNotifyFreqLog                 = 10                                       {product} {command line}",
-            "intx Tier3MinInvocationThreshold              = 100                                      {product} {command line}",
-            "intx Tier4BackEdgeThreshold                   = 40000                                    {product} {command line}",
-            "intx Tier4CompileThreshold                    = 15000                                    {product} {command line}",
-            "intx Tier4InvocationThreshold                 = 5000                                     {product} {command line}",
-            "intx Tier4MinInvocationThreshold              = 600                                      {product} {command line}",
-            "double CompileThresholdScaling                  = 1.000000                                 {product} {default}"
+            "intx Tier0BackedgeNotifyFreqLog               = 10                                        {product} {command line}",
+            "intx Tier0InvokeNotifyFreqLog                 = 7                                         {product} {command line}",
+            "intx Tier23InlineeNotifyFreqLog               = 20                                        {product} {command line}",
+            "intx Tier2BackedgeNotifyFreqLog               = 14                                        {product} {command line}",
+            "intx Tier2InvokeNotifyFreqLog                 = 11                                        {product} {command line}",
+            "intx Tier3BackEdgeThreshold                   = 60000                                     {product} {command line}",
+            "intx Tier3BackedgeNotifyFreqLog               = 13                                        {product} {command line}",
+            "intx Tier3CompileThreshold                    = 2000                                      {product} {command line}",
+            "intx Tier3InvocationThreshold                 = 200                                       {product} {command line}",
+            "intx Tier3InvokeNotifyFreqLog                 = 10                                        {product} {command line}",
+            "intx Tier3MinInvocationThreshold              = 100                                       {product} {command line}",
+            "intx Tier4BackEdgeThreshold                   = 40000                                     {product} {command line}",
+            "intx Tier4CompileThreshold                    = 15000                                     {product} {command line}",
+            "intx Tier4InvocationThreshold                 = 5000                                      {product} {command line}",
+            "intx Tier4MinInvocationThreshold              = 600                                       {product} {command line}",
+            "double CompileThresholdScaling                  = 1.000000                                  {product} {default}"
         },
         {
-            "intx Tier0BackedgeNotifyFreqLog               = 9                                        {product} {command line, ergonomic}",
-            "intx Tier0InvokeNotifyFreqLog                 = 6                                        {product} {command line, ergonomic}",
-            "intx Tier23InlineeNotifyFreqLog               = 19                                       {product} {command line, ergonomic}",
-            "intx Tier2BackedgeNotifyFreqLog               = 13                                       {product} {command line, ergonomic}",
-            "intx Tier2InvokeNotifyFreqLog                 = 10                                       {product} {command line, ergonomic}",
-            "intx Tier3BackEdgeThreshold                   = 45000                                    {product} {command line, ergonomic}",
-            "intx Tier3BackedgeNotifyFreqLog               = 12                                       {product} {command line, ergonomic}",
-            "intx Tier3CompileThreshold                    = 1500                                     {product} {command line, ergonomic}",
-            "intx Tier3InvocationThreshold                 = 150                                      {product} {command line, ergonomic}",
-            "intx Tier3InvokeNotifyFreqLog                 = 9                                        {product} {command line, ergonomic}",
-            "intx Tier3MinInvocationThreshold              = 75                                       {product} {command line, ergonomic}",
-            "intx Tier4BackEdgeThreshold                   = 30000                                    {product} {command line, ergonomic}",
-            "intx Tier4CompileThreshold                    = 11250                                    {product} {command line, ergonomic}",
-            "intx Tier4InvocationThreshold                 = 3750                                     {product} {command line, ergonomic}",
-            "intx Tier4MinInvocationThreshold              = 450                                      {product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 0.750000                                 {product} {command line}"
+            "intx Tier0BackedgeNotifyFreqLog               = 9                                         {product} {command line, ergonomic}",
+            "intx Tier0InvokeNotifyFreqLog                 = 6                                         {product} {command line, ergonomic}",
+            "intx Tier23InlineeNotifyFreqLog               = 19                                        {product} {command line, ergonomic}",
+            "intx Tier2BackedgeNotifyFreqLog               = 13                                        {product} {command line, ergonomic}",
+            "intx Tier2InvokeNotifyFreqLog                 = 10                                        {product} {command line, ergonomic}",
+            "intx Tier3BackEdgeThreshold                   = 45000                                     {product} {command line, ergonomic}",
+            "intx Tier3BackedgeNotifyFreqLog               = 12                                        {product} {command line, ergonomic}",
+            "intx Tier3CompileThreshold                    = 1500                                      {product} {command line, ergonomic}",
+            "intx Tier3InvocationThreshold                 = 150                                       {product} {command line, ergonomic}",
+            "intx Tier3InvokeNotifyFreqLog                 = 9                                         {product} {command line, ergonomic}",
+            "intx Tier3MinInvocationThreshold              = 75                                        {product} {command line, ergonomic}",
+            "intx Tier4BackEdgeThreshold                   = 30000                                     {product} {command line, ergonomic}",
+            "intx Tier4CompileThreshold                    = 11250                                     {product} {command line, ergonomic}",
+            "intx Tier4InvocationThreshold                 = 3750                                      {product} {command line, ergonomic}",
+            "intx Tier4MinInvocationThreshold              = 450                                       {product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 0.750000                                  {product} {command line}"
         },
         {
-            "intx Tier0BackedgeNotifyFreqLog               = 10                                       {product} {command line, ergonomic}",
-            "intx Tier0InvokeNotifyFreqLog                 = 7                                        {product} {command line, ergonomic}",
-            "intx Tier23InlineeNotifyFreqLog               = 20                                       {product} {command line, ergonomic}",
-            "intx Tier2BackedgeNotifyFreqLog               = 14                                       {product} {command line, ergonomic}",
-            "intx Tier2InvokeNotifyFreqLog                 = 11                                       {product} {command line, ergonomic}",
-            "intx Tier3BackEdgeThreshold                   = 75000                                    {product} {command line, ergonomic}",
-            "intx Tier3BackedgeNotifyFreqLog               = 13                                       {product} {command line, ergonomic}",
-            "intx Tier3CompileThreshold                    = 2500                                     {product} {command line, ergonomic}",
-            "intx Tier3InvocationThreshold                 = 250                                      {product} {command line, ergonomic}",
-            "intx Tier3InvokeNotifyFreqLog                 = 10                                       {product} {command line, ergonomic}",
-            "intx Tier3MinInvocationThreshold              = 125                                      {product} {command line, ergonomic}",
-            "intx Tier4BackEdgeThreshold                   = 50000                                    {product} {command line, ergonomic}",
-            "intx Tier4CompileThreshold                    = 18750                                    {product} {command line, ergonomic}",
-            "intx Tier4InvocationThreshold                 = 6250                                     {product} {command line, ergonomic}",
-            "intx Tier4MinInvocationThreshold              = 750                                      {product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 1.250000                                 {product} {command line}"
+            "intx Tier0BackedgeNotifyFreqLog               = 10                                        {product} {command line, ergonomic}",
+            "intx Tier0InvokeNotifyFreqLog                 = 7                                         {product} {command line, ergonomic}",
+            "intx Tier23InlineeNotifyFreqLog               = 20                                        {product} {command line, ergonomic}",
+            "intx Tier2BackedgeNotifyFreqLog               = 14                                        {product} {command line, ergonomic}",
+            "intx Tier2InvokeNotifyFreqLog                 = 11                                        {product} {command line, ergonomic}",
+            "intx Tier3BackEdgeThreshold                   = 75000                                     {product} {command line, ergonomic}",
+            "intx Tier3BackedgeNotifyFreqLog               = 13                                        {product} {command line, ergonomic}",
+            "intx Tier3CompileThreshold                    = 2500                                      {product} {command line, ergonomic}",
+            "intx Tier3InvocationThreshold                 = 250                                       {product} {command line, ergonomic}",
+            "intx Tier3InvokeNotifyFreqLog                 = 10                                        {product} {command line, ergonomic}",
+            "intx Tier3MinInvocationThreshold              = 125                                       {product} {command line, ergonomic}",
+            "intx Tier4BackEdgeThreshold                   = 50000                                     {product} {command line, ergonomic}",
+            "intx Tier4CompileThreshold                    = 18750                                     {product} {command line, ergonomic}",
+            "intx Tier4InvocationThreshold                 = 6250                                      {product} {command line, ergonomic}",
+            "intx Tier4MinInvocationThreshold              = 750                                       {product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 1.250000                                  {product} {command line}"
         },
         {
-            "intx Tier0BackedgeNotifyFreqLog               = 11                                       {product} {command line, ergonomic}",
-            "intx Tier0InvokeNotifyFreqLog                 = 8                                        {product} {command line, ergonomic}",
-            "intx Tier23InlineeNotifyFreqLog               = 21                                       {product} {command line, ergonomic}",
-            "intx Tier2BackedgeNotifyFreqLog               = 15                                       {product} {command line, ergonomic}",
-            "intx Tier2InvokeNotifyFreqLog                 = 12                                       {product} {command line, ergonomic}",
-            "intx Tier3BackEdgeThreshold                   = 120000                                   {product} {command line, ergonomic}",
-            "intx Tier3BackedgeNotifyFreqLog               = 14                                       {product} {command line, ergonomic}",
-            "intx Tier3CompileThreshold                    = 4000                                     {product} {command line, ergonomic}",
-            "intx Tier3InvocationThreshold                 = 400                                      {product} {command line, ergonomic}",
-            "intx Tier3InvokeNotifyFreqLog                 = 11                                       {product} {command line, ergonomic}",
-            "intx Tier3MinInvocationThreshold              = 200                                      {product} {command line, ergonomic}",
-            "intx Tier4BackEdgeThreshold                   = 80000                                    {product} {command line, ergonomic}",
-            "intx Tier4CompileThreshold                    = 30000                                    {product} {command line, ergonomic}",
-            "intx Tier4InvocationThreshold                 = 10000                                    {product} {command line, ergonomic}",
-            "intx Tier4MinInvocationThreshold              = 1200                                     {product} {command line, ergonomic}",
-            "double CompileThresholdScaling                  = 2.000000                                 {product} {command line}"
+            "intx Tier0BackedgeNotifyFreqLog               = 11                                        {product} {command line, ergonomic}",
+            "intx Tier0InvokeNotifyFreqLog                 = 8                                         {product} {command line, ergonomic}",
+            "intx Tier23InlineeNotifyFreqLog               = 21                                        {product} {command line, ergonomic}",
+            "intx Tier2BackedgeNotifyFreqLog               = 15                                        {product} {command line, ergonomic}",
+            "intx Tier2InvokeNotifyFreqLog                 = 12                                        {product} {command line, ergonomic}",
+            "intx Tier3BackEdgeThreshold                   = 120000                                    {product} {command line, ergonomic}",
+            "intx Tier3BackedgeNotifyFreqLog               = 14                                        {product} {command line, ergonomic}",
+            "intx Tier3CompileThreshold                    = 4000                                      {product} {command line, ergonomic}",
+            "intx Tier3InvocationThreshold                 = 400                                       {product} {command line, ergonomic}",
+            "intx Tier3InvokeNotifyFreqLog                 = 11                                        {product} {command line, ergonomic}",
+            "intx Tier3MinInvocationThreshold              = 200                                       {product} {command line, ergonomic}",
+            "intx Tier4BackEdgeThreshold                   = 80000                                     {product} {command line, ergonomic}",
+            "intx Tier4CompileThreshold                    = 30000                                     {product} {command line, ergonomic}",
+            "intx Tier4InvocationThreshold                 = 10000                                     {product} {command line, ergonomic}",
+            "intx Tier4MinInvocationThreshold              = 1200                                      {product} {command line, ergonomic}",
+            "double CompileThresholdScaling                  = 2.000000                                  {product} {command line}"
         },
         {
-            "intx Tier0BackedgeNotifyFreqLog               = 10                                       {product} {command line}",
-            "intx Tier0InvokeNotifyFreqLog                 = 7                                        {product} {command line}",
-            "intx Tier23InlineeNotifyFreqLog               = 20                                       {product} {command line}",
-            "intx Tier2BackedgeNotifyFreqLog               = 14                                       {product} {command line}",
-            "intx Tier2InvokeNotifyFreqLog                 = 11                                       {product} {command line}",
-            "intx Tier3BackEdgeThreshold                   = 60000                                    {product} {command line}",
-            "intx Tier3BackedgeNotifyFreqLog               = 13                                       {product} {command line}",
-            "intx Tier3CompileThreshold                    = 2000                                     {product} {command line}",
-            "intx Tier3InvocationThreshold                 = 200                                      {product} {command line}",
-            "intx Tier3InvokeNotifyFreqLog                 = 10                                       {product} {command line}",
-            "intx Tier3MinInvocationThreshold              = 100                                      {product} {command line}",
-            "intx Tier4BackEdgeThreshold                   = 40000                                    {product} {command line}",
-            "intx Tier4CompileThreshold                    = 15000                                    {product} {command line}",
-            "intx Tier4InvocationThreshold                 = 5000                                     {product} {command line}",
-            "intx Tier4MinInvocationThreshold              = 600                                      {product} {command line}",
-            "double CompileThresholdScaling                  = 0.000000                                 {product} {command line}",
+            "intx Tier0BackedgeNotifyFreqLog               = 10                                        {product} {command line}",
+            "intx Tier0InvokeNotifyFreqLog                 = 7                                         {product} {command line}",
+            "intx Tier23InlineeNotifyFreqLog               = 20                                        {product} {command line}",
+            "intx Tier2BackedgeNotifyFreqLog               = 14                                        {product} {command line}",
+            "intx Tier2InvokeNotifyFreqLog                 = 11                                        {product} {command line}",
+            "intx Tier3BackEdgeThreshold                   = 60000                                     {product} {command line}",
+            "intx Tier3BackedgeNotifyFreqLog               = 13                                        {product} {command line}",
+            "intx Tier3CompileThreshold                    = 2000                                      {product} {command line}",
+            "intx Tier3InvocationThreshold                 = 200                                       {product} {command line}",
+            "intx Tier3InvokeNotifyFreqLog                 = 10                                        {product} {command line}",
+            "intx Tier3MinInvocationThreshold              = 100                                       {product} {command line}",
+            "intx Tier4BackEdgeThreshold                   = 40000                                     {product} {command line}",
+            "intx Tier4CompileThreshold                    = 15000                                     {product} {command line}",
+            "intx Tier4InvocationThreshold                 = 5000                                      {product} {command line}",
+            "intx Tier4MinInvocationThreshold              = 600                                       {product} {command line}",
+            "double CompileThresholdScaling                  = 0.000000                                  {product} {command line}",
             "interpreted mode"
         }
     };