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) { |