< prev index next >
src/share/vm/adlc/formssel.cpp
Print this page
@@ -605,10 +605,12 @@
// but writes none
if( _matrule && _matrule->_rChild &&
( 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;
// Check if instruction has a USE of a memory operand class, but no defs
bool USE_of_memory = false;
@@ -885,15 +887,20 @@
if( _matrule->_rChild &&
( 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;
}
// Check for handling of 'Memory' input/edge in the ideal world.
// The AD file writer is shielded from knowledge of these edges.
< prev index next >