--- a/hotspot/src/share/vm/opto/c2compiler.cpp Mon Nov 02 12:34:27 2015 +0000
+++ b/hotspot/src/share/vm/opto/c2compiler.cpp Tue Nov 03 09:41:03 2015 +0100
@@ -181,12 +181,25 @@
}
switch (id) {
- case vmIntrinsics::_compareTo:
+ case vmIntrinsics::_compressStringC:
+ case vmIntrinsics::_compressStringB:
+ if (!Matcher::has_match_rule(Op_StrCompressedCopy)) return false;
+ break;
+ case vmIntrinsics::_inflateStringC:
+ case vmIntrinsics::_inflateStringB:
+ if (!Matcher::has_match_rule(Op_StrInflatedCopy)) return false;
+ break;
+ case vmIntrinsics::_compareToL:
+ case vmIntrinsics::_compareToU:
+ case vmIntrinsics::_compareToLU:
+ case vmIntrinsics::_compareToUL:
if (!Matcher::match_rule_supported(Op_StrComp)) return false;
break;
- case vmIntrinsics::_equals:
+ case vmIntrinsics::_equalsL:
+ case vmIntrinsics::_equalsU:
if (!Matcher::match_rule_supported(Op_StrEquals)) return false;
break;
+ case vmIntrinsics::_equalsB:
case vmIntrinsics::_equalsC:
if (!Matcher::match_rule_supported(Op_AryEq)) return false;
break;
@@ -194,8 +207,12 @@
if (StubRoutines::unsafe_arraycopy() == NULL) return false;
break;
case vmIntrinsics::_encodeISOArray:
+ case vmIntrinsics::_encodeByteISOArray:
if (!Matcher::match_rule_supported(Op_EncodeISOArray)) return false;
break;
+ case vmIntrinsics::_hasNegatives:
+ if (!Matcher::match_rule_supported(Op_HasNegatives)) return false;
+ break;
case vmIntrinsics::_bitCount_i:
if (!Matcher::match_rule_supported(Op_PopCountI)) return false;
break;
@@ -302,7 +319,17 @@
case vmIntrinsics::_min:
case vmIntrinsics::_max:
case vmIntrinsics::_arraycopy:
- 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:
+ case vmIntrinsics::_toBytesStringU:
+ case vmIntrinsics::_getCharsStringU:
+ case vmIntrinsics::_getCharStringU:
+ case vmIntrinsics::_putCharStringU:
case vmIntrinsics::_getObject:
case vmIntrinsics::_getBoolean:
case vmIntrinsics::_getByte: