--- a/hotspot/src/share/vm/classfile/vmSymbols.cpp Mon Nov 02 12:34:27 2015 +0000
+++ b/hotspot/src/share/vm/classfile/vmSymbols.cpp Tue Nov 03 09:41:03 2015 +0100
@@ -425,10 +425,26 @@
// the following switch statement.
if (!InlineNatives) {
switch (id) {
- case vmIntrinsics::_indexOf:
- case vmIntrinsics::_compareTo:
- case vmIntrinsics::_equals:
+ case vmIntrinsics::_indexOfL:
+ case vmIntrinsics::_indexOfU:
+ case vmIntrinsics::_indexOfUL:
+ case vmIntrinsics::_indexOfIL:
+ case vmIntrinsics::_indexOfIU:
+ case vmIntrinsics::_indexOfIUL:
+ case vmIntrinsics::_indexOfU_char:
+ case vmIntrinsics::_compareToL:
+ case vmIntrinsics::_compareToU:
+ case vmIntrinsics::_compareToLU:
+ case vmIntrinsics::_compareToUL:
+ case vmIntrinsics::_equalsL:
+ case vmIntrinsics::_equalsU:
case vmIntrinsics::_equalsC:
+ case vmIntrinsics::_getCharStringU:
+ case vmIntrinsics::_putCharStringU:
+ case vmIntrinsics::_compressStringC:
+ case vmIntrinsics::_compressStringB:
+ case vmIntrinsics::_inflateStringC:
+ case vmIntrinsics::_inflateStringB:
case vmIntrinsics::_getAndAddInt:
case vmIntrinsics::_getAndAddLong:
case vmIntrinsics::_getAndSetInt:
@@ -437,6 +453,7 @@
case vmIntrinsics::_loadFence:
case vmIntrinsics::_storeFence:
case vmIntrinsics::_fullFence:
+ case vmIntrinsics::_hasNegatives:
case vmIntrinsics::_Reference_get:
break;
default:
@@ -619,19 +636,31 @@
// intrinsic mechanism.
if (!InlineObjectCopy || !InlineArrayCopy) return true;
break;
- case vmIntrinsics::_compareTo:
+ case vmIntrinsics::_compareToL:
+ case vmIntrinsics::_compareToU:
+ case vmIntrinsics::_compareToLU:
+ case vmIntrinsics::_compareToUL:
if (!SpecialStringCompareTo) return true;
break;
- case vmIntrinsics::_indexOf:
+ case vmIntrinsics::_indexOfL:
+ case vmIntrinsics::_indexOfU:
+ case vmIntrinsics::_indexOfUL:
+ case vmIntrinsics::_indexOfIL:
+ case vmIntrinsics::_indexOfIU:
+ case vmIntrinsics::_indexOfIUL:
+ case vmIntrinsics::_indexOfU_char:
if (!SpecialStringIndexOf) return true;
break;
- case vmIntrinsics::_equals:
+ case vmIntrinsics::_equalsL:
+ case vmIntrinsics::_equalsU:
if (!SpecialStringEquals) return true;
break;
+ case vmIntrinsics::_equalsB:
case vmIntrinsics::_equalsC:
if (!SpecialArraysEquals) return true;
break;
case vmIntrinsics::_encodeISOArray:
+ case vmIntrinsics::_encodeByteISOArray:
if (!SpecialEncodeISOArray) return true;
break;
case vmIntrinsics::_getCallerClass:
@@ -666,6 +695,12 @@
case vmIntrinsics::_subtractExactL:
if (!UseMathExactIntrinsics || !InlineMathNatives) return true;
break;
+ case vmIntrinsics::_getCharStringU:
+ case vmIntrinsics::_putCharStringU:
+ // Until JDK-8138651 is fixed, we have to rely on a special flag to
+ // disable these intrinsics for experiments.
+ if (!StringCharIntrinsics) return true;
+ break;
#endif // COMPILER2
default:
return false;