--- old/src/share/vm/adlc/formssel.cpp 2015-10-30 19:14:46.656475487 +0100 +++ new/src/share/vm/adlc/formssel.cpp 2015-10-30 19:14:46.592475484 +0100 @@ -607,6 +607,8 @@ ( strcmp(_matrule->_rChild->_opType,"StrComp" )==0 || strcmp(_matrule->_rChild->_opType,"StrEquals" )==0 || strcmp(_matrule->_rChild->_opType,"StrIndexOf" )==0 || + strcmp(_matrule->_rChild->_opType,"StrIndexOfChar" )==0 || + strcmp(_matrule->_rChild->_opType,"HasNegatives" )==0 || strcmp(_matrule->_rChild->_opType,"AryEq" )==0 )) return true; @@ -887,11 +889,16 @@ ( strcmp(_matrule->_rChild->_opType,"AryEq" )==0 || strcmp(_matrule->_rChild->_opType,"StrComp" )==0 || strcmp(_matrule->_rChild->_opType,"StrEquals" )==0 || + strcmp(_matrule->_rChild->_opType,"StrInflatedCopy" )==0 || + strcmp(_matrule->_rChild->_opType,"StrCompressedCopy" )==0 || strcmp(_matrule->_rChild->_opType,"StrIndexOf")==0 || + strcmp(_matrule->_rChild->_opType,"StrIndexOfChar")==0 || + strcmp(_matrule->_rChild->_opType,"HasNegatives")==0 || strcmp(_matrule->_rChild->_opType,"EncodeISOArray")==0)) { // String.(compareTo/equals/indexOf) and Arrays.equals // and sun.nio.cs.iso8859_1$Encoder.EncodeISOArray // take 1 control and 1 memory edges. + // Also String.(compressedCopy/inflatedCopy). return 2; }