< prev index next >

src/cpu/x86/vm/vm_version_x86.hpp

Print this page
rev 9399 : imported patch 8133023_vm_init_before_ergo
rev 9400 : [mq]: delta1


 575   static ByteSize ymm_save_offset() { return byte_offset_of(CpuidInfo, ymm_save); }
 576   static ByteSize zmm_save_offset() { return byte_offset_of(CpuidInfo, zmm_save); }
 577 
 578   // The value used to check ymm register after signal handle
 579   static int ymm_test_value()    { return 0xCAFEBABE; }
 580 
 581   static void get_cpu_info_wrapper();
 582   static void set_cpuinfo_segv_addr(address pc) { _cpuinfo_segv_addr = pc; }
 583   static bool  is_cpuinfo_segv_addr(address pc) { return _cpuinfo_segv_addr == pc; }
 584   static void set_cpuinfo_cont_addr(address pc) { _cpuinfo_cont_addr = pc; }
 585   static address  cpuinfo_cont_addr()           { return _cpuinfo_cont_addr; }
 586 
 587   static void clean_cpuFeatures()   { _cpuFeatures = 0; }
 588   static void set_avx_cpuFeatures() { _cpuFeatures = (CPU_SSE | CPU_SSE2 | CPU_AVX); }
 589   static void set_evex_cpuFeatures() { _cpuFeatures = (CPU_AVX512F | CPU_SSE | CPU_SSE2 ); }
 590 
 591 
 592   // Initialization
 593   static void initialize();
 594 


 595   // Override Abstract_VM_Version implementation
 596   static bool use_biased_locking();
 597 
 598   // Asserts
 599   static void assert_is_initialized() {
 600     assert(_cpuid_info.std_cpuid1_eax.bits.family != 0, "VM_Version not initialized");
 601   }
 602 
 603   //
 604   // Processor family:
 605   //       3   -  386
 606   //       4   -  486
 607   //       5   -  Pentium
 608   //       6   -  PentiumPro, Pentium II, Celeron, Xeon, Pentium III, Athlon,
 609   //              Pentium M, Core Solo, Core Duo, Core2 Duo
 610   //    family 6 model:   9,        13,       14,        15
 611   //    0x0f   -  Pentium 4, Opteron
 612   //
 613   // Note: The cpu family should be used to select between
 614   //       instruction sequences which are valid on all Intel




 575   static ByteSize ymm_save_offset() { return byte_offset_of(CpuidInfo, ymm_save); }
 576   static ByteSize zmm_save_offset() { return byte_offset_of(CpuidInfo, zmm_save); }
 577 
 578   // The value used to check ymm register after signal handle
 579   static int ymm_test_value()    { return 0xCAFEBABE; }
 580 
 581   static void get_cpu_info_wrapper();
 582   static void set_cpuinfo_segv_addr(address pc) { _cpuinfo_segv_addr = pc; }
 583   static bool  is_cpuinfo_segv_addr(address pc) { return _cpuinfo_segv_addr == pc; }
 584   static void set_cpuinfo_cont_addr(address pc) { _cpuinfo_cont_addr = pc; }
 585   static address  cpuinfo_cont_addr()           { return _cpuinfo_cont_addr; }
 586 
 587   static void clean_cpuFeatures()   { _cpuFeatures = 0; }
 588   static void set_avx_cpuFeatures() { _cpuFeatures = (CPU_SSE | CPU_SSE2 | CPU_AVX); }
 589   static void set_evex_cpuFeatures() { _cpuFeatures = (CPU_AVX512F | CPU_SSE | CPU_SSE2 ); }
 590 
 591 
 592   // Initialization
 593   static void initialize();
 594 
 595   static void vm_init_before_ergo() {}
 596 
 597   // Override Abstract_VM_Version implementation
 598   static bool use_biased_locking();
 599 
 600   // Asserts
 601   static void assert_is_initialized() {
 602     assert(_cpuid_info.std_cpuid1_eax.bits.family != 0, "VM_Version not initialized");
 603   }
 604 
 605   //
 606   // Processor family:
 607   //       3   -  386
 608   //       4   -  486
 609   //       5   -  Pentium
 610   //       6   -  PentiumPro, Pentium II, Celeron, Xeon, Pentium III, Athlon,
 611   //              Pentium M, Core Solo, Core Duo, Core2 Duo
 612   //    family 6 model:   9,        13,       14,        15
 613   //    0x0f   -  Pentium 4, Opteron
 614   //
 615   // Note: The cpu family should be used to select between
 616   //       instruction sequences which are valid on all Intel


< prev index next >