hotspot/src/cpu/x86/vm/vm_version_x86.cpp
changeset 2255 54abdf3e1055
parent 2111 dab8a43dd738
child 2348 4e71ed4c2709
equal deleted inserted replaced
2254:f13dda645a4b 2255:54abdf3e1055
   282     // HT processor could be installed on a system which doesn't support HT.
   282     // HT processor could be installed on a system which doesn't support HT.
   283     _cpuFeatures &= ~CPU_HT;
   283     _cpuFeatures &= ~CPU_HT;
   284   }
   284   }
   285 
   285 
   286   char buf[256];
   286   char buf[256];
   287   jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
   287   jio_snprintf(buf, sizeof(buf), "(%u cores per cpu, %u threads per core) family %d model %d stepping %d%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s%s",
   288                cores_per_cpu(), threads_per_core(),
   288                cores_per_cpu(), threads_per_core(),
   289                cpu_family(), _model, _stepping,
   289                cpu_family(), _model, _stepping,
   290                (supports_cmov() ? ", cmov" : ""),
   290                (supports_cmov() ? ", cmov" : ""),
   291                (supports_cmpxchg8() ? ", cx8" : ""),
   291                (supports_cmpxchg8() ? ", cx8" : ""),
   292                (supports_fxsr() ? ", fxsr" : ""),
   292                (supports_fxsr() ? ", fxsr" : ""),
   295                (supports_sse2() ? ", sse2" : ""),
   295                (supports_sse2() ? ", sse2" : ""),
   296                (supports_sse3() ? ", sse3" : ""),
   296                (supports_sse3() ? ", sse3" : ""),
   297                (supports_ssse3()? ", ssse3": ""),
   297                (supports_ssse3()? ", ssse3": ""),
   298                (supports_sse4_1() ? ", sse4.1" : ""),
   298                (supports_sse4_1() ? ", sse4.1" : ""),
   299                (supports_sse4_2() ? ", sse4.2" : ""),
   299                (supports_sse4_2() ? ", sse4.2" : ""),
       
   300                (supports_popcnt() ? ", popcnt" : ""),
   300                (supports_mmx_ext() ? ", mmxext" : ""),
   301                (supports_mmx_ext() ? ", mmxext" : ""),
   301                (supports_3dnow()   ? ", 3dnow"  : ""),
   302                (supports_3dnow()   ? ", 3dnow"  : ""),
   302                (supports_3dnow2()  ? ", 3dnowext" : ""),
   303                (supports_3dnow2()  ? ", 3dnowext" : ""),
   303                (supports_sse4a()   ? ", sse4a": ""),
   304                (supports_sse4a()   ? ", sse4a": ""),
   304                (supports_ht() ? ", ht": ""));
   305                (supports_ht() ? ", ht": ""));
   405       if( supports_sse4_2() && supports_ht() ) { // Newest Intel cpus
   406       if( supports_sse4_2() && supports_ht() ) { // Newest Intel cpus
   406         if( FLAG_IS_DEFAULT(UseUnalignedLoadStores) && UseXMMForArrayCopy ) {
   407         if( FLAG_IS_DEFAULT(UseUnalignedLoadStores) && UseXMMForArrayCopy ) {
   407           UseUnalignedLoadStores = true; // use movdqu on newest Intel cpus
   408           UseUnalignedLoadStores = true; // use movdqu on newest Intel cpus
   408         }
   409         }
   409       }
   410       }
       
   411     }
       
   412   }
       
   413 
       
   414   // Use population count instruction if available.
       
   415   if (supports_popcnt()) {
       
   416     if (FLAG_IS_DEFAULT(UsePopCountInstruction)) {
       
   417       UsePopCountInstruction = true;
   410     }
   418     }
   411   }
   419   }
   412 
   420 
   413   assert(0 <= ReadPrefetchInstr && ReadPrefetchInstr <= 3, "invalid value");
   421   assert(0 <= ReadPrefetchInstr && ReadPrefetchInstr <= 3, "invalid value");
   414   assert(0 <= AllocatePrefetchInstr && AllocatePrefetchInstr <= 3, "invalid value");
   422   assert(0 <= AllocatePrefetchInstr && AllocatePrefetchInstr <= 3, "invalid value");