diff -r c5b7455f846e -r 09241459a8b8 hotspot/src/share/vm/opto/c2compiler.cpp --- 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: