127 jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", 128 (has_v8() ? ", has_v8" : ""), 129 (has_v9() ? ", has_v9" : ""), 130 (has_hardware_popc() ? ", popc" : ""), 131 (has_vis1() ? ", has_vis1" : ""), 132 (has_vis2() ? ", has_vis2" : ""), 133 (has_vis3() ? ", has_vis3" : ""), 134 (has_blk_init() ? ", has_blk_init" : ""), 135 (is_ultra3() ? ", is_ultra3" : ""), 136 (is_sun4v() ? ", is_sun4v" : ""), 137 (is_niagara() ? ", is_niagara" : ""), 138 (is_niagara_plus() ? ", is_niagara_plus" : ""), 139 (is_sparc64() ? ", is_sparc64" : ""), 140 (!has_hardware_mul32() ? ", no-mul32" : ""), 141 (!has_hardware_div32() ? ", no-div32" : ""), 142 (!has_hardware_fsmuld() ? ", no-fsmuld" : "")); 143 144 // buf is started with ", " or is empty 145 _features_str = strdup(strlen(buf) > 2 ? buf + 2 : buf); 146 147 #ifndef PRODUCT 148 if (PrintMiscellaneous && Verbose) { 149 tty->print("Allocation: "); 150 if (AllocatePrefetchStyle <= 0) { 151 tty->print_cr("no prefetching"); 152 } else { 153 if (AllocatePrefetchLines > 1) { 154 tty->print_cr("PREFETCH %d, %d lines of size %d bytes", AllocatePrefetchDistance, AllocatePrefetchLines, AllocatePrefetchStepSize); 155 } else { 156 tty->print_cr("PREFETCH %d, one line", AllocatePrefetchDistance); 157 } 158 } 159 if (PrefetchCopyIntervalInBytes > 0) { 160 tty->print_cr("PrefetchCopyIntervalInBytes %d", PrefetchCopyIntervalInBytes); 161 } 162 if (PrefetchScanIntervalInBytes > 0) { 163 tty->print_cr("PrefetchScanIntervalInBytes %d", PrefetchScanIntervalInBytes); 164 } 165 if (PrefetchFieldsAhead > 0) { 166 tty->print_cr("PrefetchFieldsAhead %d", PrefetchFieldsAhead); | 127 jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", 128 (has_v8() ? ", has_v8" : ""), 129 (has_v9() ? ", has_v9" : ""), 130 (has_hardware_popc() ? ", popc" : ""), 131 (has_vis1() ? ", has_vis1" : ""), 132 (has_vis2() ? ", has_vis2" : ""), 133 (has_vis3() ? ", has_vis3" : ""), 134 (has_blk_init() ? ", has_blk_init" : ""), 135 (is_ultra3() ? ", is_ultra3" : ""), 136 (is_sun4v() ? ", is_sun4v" : ""), 137 (is_niagara() ? ", is_niagara" : ""), 138 (is_niagara_plus() ? ", is_niagara_plus" : ""), 139 (is_sparc64() ? ", is_sparc64" : ""), 140 (!has_hardware_mul32() ? ", no-mul32" : ""), 141 (!has_hardware_div32() ? ", no-div32" : ""), 142 (!has_hardware_fsmuld() ? ", no-fsmuld" : "")); 143 144 // buf is started with ", " or is empty 145 _features_str = strdup(strlen(buf) > 2 ? buf + 2 : buf); 146 147 // UseVIS is set to the smallest of what hardware supports and what 148 // the command line requires. I.e., you cannot set UseVIS to 3 on 149 // older UltraSparc which do not support it. 150 if( UseVIS > 3 ) UseVIS=3; 151 if( UseVIS < 0 ) UseVIS=0; 152 if( !has_vis3() ) // Drop to 2 if no VIS3 support 153 UseVIS = MIN2((intx)2,UseVIS); 154 if( !has_vis2() ) // Drop to 1 if no VIS2 support 155 UseVIS = MIN2((intx)1,UseVIS); 156 if( !has_vis1() ) // Drop to 0 if no VIS1 support 157 UseVIS = 0; 158 159 #ifndef PRODUCT 160 if (PrintMiscellaneous && Verbose) { 161 tty->print("Allocation: "); 162 if (AllocatePrefetchStyle <= 0) { 163 tty->print_cr("no prefetching"); 164 } else { 165 if (AllocatePrefetchLines > 1) { 166 tty->print_cr("PREFETCH %d, %d lines of size %d bytes", AllocatePrefetchDistance, AllocatePrefetchLines, AllocatePrefetchStepSize); 167 } else { 168 tty->print_cr("PREFETCH %d, one line", AllocatePrefetchDistance); 169 } 170 } 171 if (PrefetchCopyIntervalInBytes > 0) { 172 tty->print_cr("PrefetchCopyIntervalInBytes %d", PrefetchCopyIntervalInBytes); 173 } 174 if (PrefetchScanIntervalInBytes > 0) { 175 tty->print_cr("PrefetchScanIntervalInBytes %d", PrefetchScanIntervalInBytes); 176 } 177 if (PrefetchFieldsAhead > 0) { 178 tty->print_cr("PrefetchFieldsAhead %d", PrefetchFieldsAhead); |