< prev index next >

src/hotspot/share/classfile/vmSymbols.cpp

Print this page

 438   switch(id) {
 439   case vmIntrinsics::_hashCode:
 440   case vmIntrinsics::_clone:
 441     return true;
 442     break;
 443   default:
 444     return false;
 445   }
 446 }
 447 
 448 int vmIntrinsics::predicates_needed(vmIntrinsics::ID id) {
 449   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 450   switch (id) {
 451   case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
 452   case vmIntrinsics::_cipherBlockChaining_decryptAESCrypt:
 453   case vmIntrinsics::_electronicCodeBook_encryptAESCrypt:
 454   case vmIntrinsics::_electronicCodeBook_decryptAESCrypt:
 455   case vmIntrinsics::_counterMode_AESCrypt:
 456     return 1;
 457   case vmIntrinsics::_digestBase_implCompressMB:
 458     return 3;
 459   default:
 460     return 0;
 461   }
 462 }
 463 
 464 bool vmIntrinsics::disabled_by_jvm_flags(vmIntrinsics::ID id) {
 465   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 466 
 467   // -XX:-InlineNatives disables nearly all intrinsics except the ones listed in
 468   // the following switch statement.
 469   if (!InlineNatives) {
 470     switch (id) {
 471     case vmIntrinsics::_indexOfL:
 472     case vmIntrinsics::_indexOfU:
 473     case vmIntrinsics::_indexOfUL:
 474     case vmIntrinsics::_indexOfIL:
 475     case vmIntrinsics::_indexOfIU:
 476     case vmIntrinsics::_indexOfIUL:
 477     case vmIntrinsics::_indexOfU_char:
 478     case vmIntrinsics::_compareToL:

 682     if (!InlineUnsafeOps || !UseUnalignedAccesses) return true;
 683     break;
 684   case vmIntrinsics::_hashCode:
 685     if (!InlineObjectHash) return true;
 686     break;
 687   case vmIntrinsics::_aescrypt_encryptBlock:
 688   case vmIntrinsics::_aescrypt_decryptBlock:
 689     if (!UseAESIntrinsics) return true;
 690     break;
 691   case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
 692   case vmIntrinsics::_cipherBlockChaining_decryptAESCrypt:
 693     if (!UseAESIntrinsics) return true;
 694     break;
 695   case vmIntrinsics::_electronicCodeBook_encryptAESCrypt:
 696   case vmIntrinsics::_electronicCodeBook_decryptAESCrypt:
 697     if (!UseAESIntrinsics) return true;
 698     break;
 699   case vmIntrinsics::_counterMode_AESCrypt:
 700     if (!UseAESCTRIntrinsics) return true;
 701     break;



 702   case vmIntrinsics::_sha_implCompress:
 703     if (!UseSHA1Intrinsics) return true;
 704     break;
 705   case vmIntrinsics::_sha2_implCompress:
 706     if (!UseSHA256Intrinsics) return true;
 707     break;
 708   case vmIntrinsics::_sha5_implCompress:
 709     if (!UseSHA512Intrinsics) return true;
 710     break;
 711   case vmIntrinsics::_digestBase_implCompressMB:
 712     if (!(UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) return true;
 713     break;
 714   case vmIntrinsics::_ghash_processBlocks:
 715     if (!UseGHASHIntrinsics) return true;
 716     break;
 717   case vmIntrinsics::_base64_encodeBlock:
 718     if (!UseBASE64Intrinsics) return true;
 719     break;
 720   case vmIntrinsics::_updateBytesCRC32C:
 721   case vmIntrinsics::_updateDirectByteBufferCRC32C:
 722     if (!UseCRC32CIntrinsics) return true;
 723     break;
 724   case vmIntrinsics::_vectorizedMismatch:
 725     if (!UseVectorizedMismatchIntrinsic) return true;
 726     break;
 727   case vmIntrinsics::_updateBytesAdler32:
 728   case vmIntrinsics::_updateByteBufferAdler32:
 729     if (!UseAdler32Intrinsics) return true;
 730     break;
 731   case vmIntrinsics::_copyMemory:
 732     if (!InlineArrayCopy || !InlineUnsafeOps) return true;

 438   switch(id) {
 439   case vmIntrinsics::_hashCode:
 440   case vmIntrinsics::_clone:
 441     return true;
 442     break;
 443   default:
 444     return false;
 445   }
 446 }
 447 
 448 int vmIntrinsics::predicates_needed(vmIntrinsics::ID id) {
 449   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 450   switch (id) {
 451   case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
 452   case vmIntrinsics::_cipherBlockChaining_decryptAESCrypt:
 453   case vmIntrinsics::_electronicCodeBook_encryptAESCrypt:
 454   case vmIntrinsics::_electronicCodeBook_decryptAESCrypt:
 455   case vmIntrinsics::_counterMode_AESCrypt:
 456     return 1;
 457   case vmIntrinsics::_digestBase_implCompressMB:
 458     return 4;
 459   default:
 460     return 0;
 461   }
 462 }
 463 
 464 bool vmIntrinsics::disabled_by_jvm_flags(vmIntrinsics::ID id) {
 465   assert(id != vmIntrinsics::_none, "must be a VM intrinsic");
 466 
 467   // -XX:-InlineNatives disables nearly all intrinsics except the ones listed in
 468   // the following switch statement.
 469   if (!InlineNatives) {
 470     switch (id) {
 471     case vmIntrinsics::_indexOfL:
 472     case vmIntrinsics::_indexOfU:
 473     case vmIntrinsics::_indexOfUL:
 474     case vmIntrinsics::_indexOfIL:
 475     case vmIntrinsics::_indexOfIU:
 476     case vmIntrinsics::_indexOfIUL:
 477     case vmIntrinsics::_indexOfU_char:
 478     case vmIntrinsics::_compareToL:

 682     if (!InlineUnsafeOps || !UseUnalignedAccesses) return true;
 683     break;
 684   case vmIntrinsics::_hashCode:
 685     if (!InlineObjectHash) return true;
 686     break;
 687   case vmIntrinsics::_aescrypt_encryptBlock:
 688   case vmIntrinsics::_aescrypt_decryptBlock:
 689     if (!UseAESIntrinsics) return true;
 690     break;
 691   case vmIntrinsics::_cipherBlockChaining_encryptAESCrypt:
 692   case vmIntrinsics::_cipherBlockChaining_decryptAESCrypt:
 693     if (!UseAESIntrinsics) return true;
 694     break;
 695   case vmIntrinsics::_electronicCodeBook_encryptAESCrypt:
 696   case vmIntrinsics::_electronicCodeBook_decryptAESCrypt:
 697     if (!UseAESIntrinsics) return true;
 698     break;
 699   case vmIntrinsics::_counterMode_AESCrypt:
 700     if (!UseAESCTRIntrinsics) return true;
 701     break;
 702   case vmIntrinsics::_md5_implCompress:
 703     if (!UseMD5Intrinsics) return true;
 704     break;
 705   case vmIntrinsics::_sha_implCompress:
 706     if (!UseSHA1Intrinsics) return true;
 707     break;
 708   case vmIntrinsics::_sha2_implCompress:
 709     if (!UseSHA256Intrinsics) return true;
 710     break;
 711   case vmIntrinsics::_sha5_implCompress:
 712     if (!UseSHA512Intrinsics) return true;
 713     break;
 714   case vmIntrinsics::_digestBase_implCompressMB:
 715     if (!(UseMD5Intrinsics || UseSHA1Intrinsics || UseSHA256Intrinsics || UseSHA512Intrinsics)) return true;
 716     break;
 717   case vmIntrinsics::_ghash_processBlocks:
 718     if (!UseGHASHIntrinsics) return true;
 719     break;
 720   case vmIntrinsics::_base64_encodeBlock:
 721     if (!UseBASE64Intrinsics) return true;
 722     break;
 723   case vmIntrinsics::_updateBytesCRC32C:
 724   case vmIntrinsics::_updateDirectByteBufferCRC32C:
 725     if (!UseCRC32CIntrinsics) return true;
 726     break;
 727   case vmIntrinsics::_vectorizedMismatch:
 728     if (!UseVectorizedMismatchIntrinsic) return true;
 729     break;
 730   case vmIntrinsics::_updateBytesAdler32:
 731   case vmIntrinsics::_updateByteBufferAdler32:
 732     if (!UseAdler32Intrinsics) return true;
 733     break;
 734   case vmIntrinsics::_copyMemory:
 735     if (!InlineArrayCopy || !InlineUnsafeOps) return true;
< prev index next >