equal
deleted
inserted
replaced
377 |
377 |
378 return start; |
378 return start; |
379 }; |
379 }; |
380 }; |
380 }; |
381 |
381 |
382 |
|
383 void VM_Version::get_cpu_info_wrapper() { |
|
384 get_cpu_info_stub(&_cpuid_info); |
|
385 } |
|
386 |
|
387 #ifndef CALL_TEST_FUNC_WITH_WRAPPER_IF_NEEDED |
|
388 #define CALL_TEST_FUNC_WITH_WRAPPER_IF_NEEDED(f) f() |
|
389 #endif |
|
390 |
|
391 void VM_Version::get_processor_features() { |
382 void VM_Version::get_processor_features() { |
392 |
383 |
393 _cpu = 4; // 486 by default |
384 _cpu = 4; // 486 by default |
394 _model = 0; |
385 _model = 0; |
395 _stepping = 0; |
386 _stepping = 0; |
399 _L1_data_cache_line_size = 16; |
390 _L1_data_cache_line_size = 16; |
400 |
391 |
401 if (!Use486InstrsOnly) { |
392 if (!Use486InstrsOnly) { |
402 // Get raw processor info |
393 // Get raw processor info |
403 |
394 |
404 // Some platforms (like Win*) need a wrapper around here |
395 get_cpu_info_stub(&_cpuid_info); |
405 // in order to properly handle SEGV for YMM registers test. |
|
406 CALL_TEST_FUNC_WITH_WRAPPER_IF_NEEDED(get_cpu_info_wrapper); |
|
407 |
396 |
408 assert_is_initialized(); |
397 assert_is_initialized(); |
409 _cpu = extended_cpu_family(); |
398 _cpu = extended_cpu_family(); |
410 _model = extended_cpu_model(); |
399 _model = extended_cpu_model(); |
411 _stepping = cpu_stepping(); |
400 _stepping = cpu_stepping(); |