< prev index next >

src/cpu/x86/vm/vm_version_x86.hpp

Print this page
rev 9595 : imported patch 8133023_vm_init_before_ergo
rev 9596 : [mq]: delta1


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




 588   static ByteSize ymm_save_offset() { return byte_offset_of(CpuidInfo, ymm_save); }
 589   static ByteSize zmm_save_offset() { return byte_offset_of(CpuidInfo, zmm_save); }
 590 
 591   // The value used to check ymm register after signal handle
 592   static int ymm_test_value()    { return 0xCAFEBABE; }
 593 
 594   static void get_cpu_info_wrapper();
 595   static void set_cpuinfo_segv_addr(address pc) { _cpuinfo_segv_addr = pc; }
 596   static bool  is_cpuinfo_segv_addr(address pc) { return _cpuinfo_segv_addr == pc; }
 597   static void set_cpuinfo_cont_addr(address pc) { _cpuinfo_cont_addr = pc; }
 598   static address  cpuinfo_cont_addr()           { return _cpuinfo_cont_addr; }
 599 
 600   static void clean_cpuFeatures()   { _cpuFeatures = 0; }
 601   static void set_avx_cpuFeatures() { _cpuFeatures = (CPU_SSE | CPU_SSE2 | CPU_AVX); }
 602   static void set_evex_cpuFeatures() { _cpuFeatures = (CPU_AVX512F | CPU_SSE | CPU_SSE2 ); }
 603 
 604 
 605   // Initialization
 606   static void initialize();
 607 


 608   // Override Abstract_VM_Version implementation
 609   static bool use_biased_locking();
 610 
 611   // Asserts
 612   static void assert_is_initialized() {
 613     assert(_cpuid_info.std_cpuid1_eax.bits.family != 0, "VM_Version not initialized");
 614   }
 615 
 616   //
 617   // Processor family:
 618   //       3   -  386
 619   //       4   -  486
 620   //       5   -  Pentium
 621   //       6   -  PentiumPro, Pentium II, Celeron, Xeon, Pentium III, Athlon,
 622   //              Pentium M, Core Solo, Core Duo, Core2 Duo
 623   //    family 6 model:   9,        13,       14,        15
 624   //    0x0f   -  Pentium 4, Opteron
 625   //
 626   // Note: The cpu family should be used to select between
 627   //       instruction sequences which are valid on all Intel


< prev index next >