src/share/vm/classfile/vmSymbols.cpp

Print this page




 678   case vmIntrinsics::_montgomeryMultiply:
 679     if (!UseMontgomeryMultiplyIntrinsic) return true;
 680     break;
 681   case vmIntrinsics::_montgomerySquare:
 682     if (!UseMontgomerySquareIntrinsic) return true;
 683     break;
 684   case vmIntrinsics::_addExactI:
 685   case vmIntrinsics::_addExactL:
 686   case vmIntrinsics::_decrementExactI:
 687   case vmIntrinsics::_decrementExactL:
 688   case vmIntrinsics::_incrementExactI:
 689   case vmIntrinsics::_incrementExactL:
 690   case vmIntrinsics::_multiplyExactI:
 691   case vmIntrinsics::_multiplyExactL:
 692   case vmIntrinsics::_negateExactI:
 693   case vmIntrinsics::_negateExactL:
 694   case vmIntrinsics::_subtractExactI:
 695   case vmIntrinsics::_subtractExactL:
 696     if (!UseMathExactIntrinsics || !InlineMathNatives) return true;
 697     break;
 698   case vmIntrinsics::_getCharStringU:
 699   case vmIntrinsics::_putCharStringU:
 700     // Until JDK-8138651 is fixed, we have to rely on a special flag to
 701     // disable these intrinsics for experiments.
 702     if (!StringCharIntrinsics) return true;
 703     break;
 704 #endif // COMPILER2
 705   default:
 706     return false;
 707   }
 708 
 709   return false;
 710 }
 711 
 712 #define VM_INTRINSIC_INITIALIZE(id, klass, name, sig, flags) #id "\0"
 713 static const char* vm_intrinsic_name_bodies =
 714   VM_INTRINSICS_DO(VM_INTRINSIC_INITIALIZE,
 715                    VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE);
 716 
 717 static const char* vm_intrinsic_name_table[vmIntrinsics::ID_LIMIT];
 718 
 719 const char* vmIntrinsics::name_at(vmIntrinsics::ID id) {
 720   const char** nt = &vm_intrinsic_name_table[0];
 721   if (nt[_none] == NULL) {
 722     char* string = (char*) &vm_intrinsic_name_bodies[0];
 723     for (int index = FIRST_ID; index < ID_LIMIT; index++) {




 678   case vmIntrinsics::_montgomeryMultiply:
 679     if (!UseMontgomeryMultiplyIntrinsic) return true;
 680     break;
 681   case vmIntrinsics::_montgomerySquare:
 682     if (!UseMontgomerySquareIntrinsic) return true;
 683     break;
 684   case vmIntrinsics::_addExactI:
 685   case vmIntrinsics::_addExactL:
 686   case vmIntrinsics::_decrementExactI:
 687   case vmIntrinsics::_decrementExactL:
 688   case vmIntrinsics::_incrementExactI:
 689   case vmIntrinsics::_incrementExactL:
 690   case vmIntrinsics::_multiplyExactI:
 691   case vmIntrinsics::_multiplyExactL:
 692   case vmIntrinsics::_negateExactI:
 693   case vmIntrinsics::_negateExactL:
 694   case vmIntrinsics::_subtractExactI:
 695   case vmIntrinsics::_subtractExactL:
 696     if (!UseMathExactIntrinsics || !InlineMathNatives) return true;
 697     break;






 698 #endif // COMPILER2
 699   default:
 700     return false;
 701   }
 702 
 703   return false;
 704 }
 705 
 706 #define VM_INTRINSIC_INITIALIZE(id, klass, name, sig, flags) #id "\0"
 707 static const char* vm_intrinsic_name_bodies =
 708   VM_INTRINSICS_DO(VM_INTRINSIC_INITIALIZE,
 709                    VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_SYMBOL_IGNORE, VM_ALIAS_IGNORE);
 710 
 711 static const char* vm_intrinsic_name_table[vmIntrinsics::ID_LIMIT];
 712 
 713 const char* vmIntrinsics::name_at(vmIntrinsics::ID id) {
 714   const char** nt = &vm_intrinsic_name_table[0];
 715   if (nt[_none] == NULL) {
 716     char* string = (char*) &vm_intrinsic_name_bodies[0];
 717     for (int index = FIRST_ID; index < ID_LIMIT; index++) {