src/cpu/x86/vm/vm_version_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File 8035968 Sdiff src/cpu/x86/vm

src/cpu/x86/vm/vm_version_x86.cpp

Print this page




 573       UseCRC32Intrinsics = true;
 574     }
 575   } else if (UseCRC32Intrinsics) {
 576     if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics))
 577       warning("CRC32 Intrinsics requires AVX and CLMUL instructions (not available on this CPU)");
 578     FLAG_SET_DEFAULT(UseCRC32Intrinsics, false);
 579   }
 580 
 581   // The AES intrinsic stubs require AES instruction support (of course)
 582   // but also require sse3 mode for instructions it use.
 583   if (UseAES && (UseSSE > 2)) {
 584     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 585       UseAESIntrinsics = true;
 586     }
 587   } else if (UseAESIntrinsics) {
 588     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 589       warning("AES intrinsics are not available on this CPU");
 590     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 591   }
 592 











 593   // Adjust RTM (Restricted Transactional Memory) flags
 594   if (!supports_rtm() && UseRTMLocking) {
 595     // Can't continue because UseRTMLocking affects UseBiasedLocking flag
 596     // setting during arguments processing. See use_biased_locking().
 597     // VM_Version_init() is executed after UseBiasedLocking is used
 598     // in Thread::allocate().
 599     vm_exit_during_initialization("RTM instructions are not available on this CPU");
 600   }
 601 
 602 #if INCLUDE_RTM_OPT
 603   if (UseRTMLocking) {
 604     if (!FLAG_IS_CMDLINE(UseRTMLocking)) {
 605       // RTM locking should be used only for applications with
 606       // high lock contention. For now we do not use it by default.
 607       vm_exit_during_initialization("UseRTMLocking flag should be only set on command line");
 608     }
 609     if (!is_power_of_2(RTMTotalCountIncrRate)) {
 610       warning("RTMTotalCountIncrRate must be a power of 2, resetting it to 64");
 611       FLAG_SET_DEFAULT(RTMTotalCountIncrRate, 64);
 612     }




 573       UseCRC32Intrinsics = true;
 574     }
 575   } else if (UseCRC32Intrinsics) {
 576     if (!FLAG_IS_DEFAULT(UseCRC32Intrinsics))
 577       warning("CRC32 Intrinsics requires AVX and CLMUL instructions (not available on this CPU)");
 578     FLAG_SET_DEFAULT(UseCRC32Intrinsics, false);
 579   }
 580 
 581   // The AES intrinsic stubs require AES instruction support (of course)
 582   // but also require sse3 mode for instructions it use.
 583   if (UseAES && (UseSSE > 2)) {
 584     if (FLAG_IS_DEFAULT(UseAESIntrinsics)) {
 585       UseAESIntrinsics = true;
 586     }
 587   } else if (UseAESIntrinsics) {
 588     if (!FLAG_IS_DEFAULT(UseAESIntrinsics))
 589       warning("AES intrinsics are not available on this CPU");
 590     FLAG_SET_DEFAULT(UseAESIntrinsics, false);
 591   }
 592 
 593   if (UseSHA) {
 594     warning("SHA instructions are not available on this CPU");
 595     FLAG_SET_DEFAULT(UseSHA, false);
 596   }
 597   if (UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics) {
 598     warning("SHA intrinsics are not available on this CPU");
 599     FLAG_SET_DEFAULT(UseSHA1Intrinsics, false);
 600     FLAG_SET_DEFAULT(UseSHA256Intrinsics, false);
 601     FLAG_SET_DEFAULT(UseSHA512Intrinsics, false);
 602   }
 603 
 604   // Adjust RTM (Restricted Transactional Memory) flags
 605   if (!supports_rtm() && UseRTMLocking) {
 606     // Can't continue because UseRTMLocking affects UseBiasedLocking flag
 607     // setting during arguments processing. See use_biased_locking().
 608     // VM_Version_init() is executed after UseBiasedLocking is used
 609     // in Thread::allocate().
 610     vm_exit_during_initialization("RTM instructions are not available on this CPU");
 611   }
 612 
 613 #if INCLUDE_RTM_OPT
 614   if (UseRTMLocking) {
 615     if (!FLAG_IS_CMDLINE(UseRTMLocking)) {
 616       // RTM locking should be used only for applications with
 617       // high lock contention. For now we do not use it by default.
 618       vm_exit_during_initialization("UseRTMLocking flag should be only set on command line");
 619     }
 620     if (!is_power_of_2(RTMTotalCountIncrRate)) {
 621       warning("RTMTotalCountIncrRate must be a power of 2, resetting it to 64");
 622       FLAG_SET_DEFAULT(RTMTotalCountIncrRate, 64);
 623     }


src/cpu/x86/vm/vm_version_x86.cpp
Index Unified diffs Context diffs Sdiffs Wdiffs Patch New Old Previous File Next File