int VM_Version::determine_features() { if (UseV8InstrsOnly) { if (PrintMiscellaneous && Verbose) { tty->print_cr("Version is Forced-V8"); } return generic_v8_m; } int features = platform_features(unknown_m); // platform_features() is os_arch specific if (features == unknown_m) { features = generic_v9_m; warning("Cannot recognize SPARC version. Default to V9"); } assert(is_T_family(features) == is_niagara(features), "Niagara should be T series"); if (UseNiagaraInstrs) { // Force code generation for Niagara if (is_T_family(features)) { // Happy to accomodate... } else { if (PrintMiscellaneous && Verbose) { tty->print_cr("Version is Forced-Niagara"); } features |= T_family_m; } } else { if (is_T_family(features) && !FLAG_IS_DEFAULT(UseNiagaraInstrs)) { if (PrintMiscellaneous && Verbose) { tty->print_cr("Version is Forced-Not-Niagara"); } features &= ~(T_family_m | T1_model_m); } else { // Happy to accomodate... } } return features; }
} } #endif // PRODUCT } void VM_Version::print_features() { tty->print_cr("Version:%s", cpu_features()); } int VM_Version::determine_features() { if (UseV8InstrsOnly) { NOT_PRODUCT(if (PrintMiscellaneous && Verbose) tty->print_cr("Version is Forced-V8");) return generic_v8_m; } int features = platform_features(unknown_m); // platform_features() is os_arch specific if (features == unknown_m) { features = generic_v9_m; warning("Cannot recognize SPARC version. Default to V9"); } assert(is_T_family(features) == is_niagara(features), "Niagara should be T series"); if (UseNiagaraInstrs) { // Force code generation for Niagara if (is_T_family(features)) { // Happy to accomodate... } else { NOT_PRODUCT(if (PrintMiscellaneous && Verbose) tty->print_cr("Version is Forced-Niagara");) features |= T_family_m; } } else {