src/cpu/x86/vm/vm_version_x86.cpp

changeset 8729
402618d5afc9
parent 8637
079d89ac8f34
child 8856
ac27a9c85bea
child 8984
7c2285d86b8d
equal deleted inserted replaced
8728:8119c543f2af 8729:402618d5afc9
404 _cpu = 4; // 486 by default 404 _cpu = 4; // 486 by default
405 _model = 0; 405 _model = 0;
406 _stepping = 0; 406 _stepping = 0;
407 _cpuFeatures = 0; 407 _cpuFeatures = 0;
408 _logical_processors_per_package = 1; 408 _logical_processors_per_package = 1;
409 // i486 internal cache is both I&D and has a 16-byte line size
410 _L1_data_cache_line_size = 16;
409 411
410 if (!Use486InstrsOnly) { 412 if (!Use486InstrsOnly) {
411 // Get raw processor info 413 // Get raw processor info
412 414
413 // Some platforms (like Win*) need a wrapper around here 415 // Some platforms (like Win*) need a wrapper around here
422 if (cpu_family() > 4) { // it supports CPUID 424 if (cpu_family() > 4) { // it supports CPUID
423 _cpuFeatures = feature_flags(); 425 _cpuFeatures = feature_flags();
424 // Logical processors are only available on P4s and above, 426 // Logical processors are only available on P4s and above,
425 // and only if hyperthreading is available. 427 // and only if hyperthreading is available.
426 _logical_processors_per_package = logical_processor_count(); 428 _logical_processors_per_package = logical_processor_count();
429 _L1_data_cache_line_size = L1_line_size();
427 } 430 }
428 } 431 }
429 432
430 _supports_cx8 = supports_cmpxchg8(); 433 _supports_cx8 = supports_cmpxchg8();
431 // xchg and xadd instructions 434 // xchg and xadd instructions
1032 1035
1033 #ifndef PRODUCT 1036 #ifndef PRODUCT
1034 if (PrintMiscellaneous && Verbose) { 1037 if (PrintMiscellaneous && Verbose) {
1035 tty->print_cr("Logical CPUs per core: %u", 1038 tty->print_cr("Logical CPUs per core: %u",
1036 logical_processors_per_package()); 1039 logical_processors_per_package());
1040 tty->print_cr("L1 data cache line size: %u", L1_data_cache_line_size());
1037 tty->print("UseSSE=%d", (int) UseSSE); 1041 tty->print("UseSSE=%d", (int) UseSSE);
1038 if (UseAVX > 0) { 1042 if (UseAVX > 0) {
1039 tty->print(" UseAVX=%d", (int) UseAVX); 1043 tty->print(" UseAVX=%d", (int) UseAVX);
1040 } 1044 }
1041 if (UseAES) { 1045 if (UseAES) {

mercurial