1.1 --- a/src/cpu/sparc/vm/vm_version_sparc.cpp Fri Mar 17 07:52:54 2017 -0700 1.2 +++ b/src/cpu/sparc/vm/vm_version_sparc.cpp Fri Mar 31 07:46:19 2017 -0700 1.3 @@ -236,7 +236,7 @@ 1.4 assert((OptoLoopAlignment % relocInfo::addr_unit()) == 0, "alignment is not a multiple of NOP size"); 1.5 1.6 char buf[512]; 1.7 - jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", 1.8 + jio_snprintf(buf, sizeof(buf), "%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s", 1.9 (has_v9() ? ", v9" : (has_v8() ? ", v8" : "")), 1.10 (has_hardware_popc() ? ", popc" : ""), 1.11 (has_vis1() ? ", vis1" : ""), 1.12 @@ -249,6 +249,7 @@ 1.13 (has_sha256() ? ", sha256" : ""), 1.14 (has_sha512() ? ", sha512" : ""), 1.15 (is_ultra3() ? ", ultra3" : ""), 1.16 + (has_sparc5_instr() ? ", sparc5" : ""), 1.17 (is_sun4v() ? ", sun4v" : ""), 1.18 (is_niagara_plus() ? ", niagara_plus" : (is_niagara() ? ", niagara" : "")), 1.19 (is_sparc64() ? ", sparc64" : ""), 1.20 @@ -479,16 +480,13 @@ 1.21 if (strstr(impl, "SPARC-T1") != NULL) { 1.22 features |= T1_model_m; 1.23 } 1.24 + } else if (strstr(impl, "SUN4V-CPU") != NULL) { 1.25 + // Generic or migration class LDOM 1.26 + features |= T_family_m; 1.27 } else { 1.28 - if (strstr(impl, "SPARC") == NULL) { 1.29 #ifndef PRODUCT 1.30 - // kstat on Solaris 8 virtual machines (branded zones) 1.31 - // returns "(unsupported)" implementation. Solaris 8 is not 1.32 - // supported anymore, but include this check to be on the 1.33 - // safe side. 1.34 - warning("Can't parse CPU implementation = '%s', assume generic SPARC", impl); 1.35 + warning("Failed to parse CPU implementation = '%s'", impl); 1.36 #endif 1.37 - } 1.38 } 1.39 os::free((void*)impl); 1.40 return features;