6827605: new String intrinsics may prevent EA scalar replacement

6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2

Modify String intrinsic methods to pass char[] pointers instead of string oops.

Reviewed-by: never
This commit is contained in:
Vladimir Kozlov 2009-09-14 12:14:20 -07:00
parent c492f4cde5
commit 243514d483
13 changed files with 788 additions and 1214 deletions

View file

@ -828,11 +828,13 @@ uint InstructForm::oper_input_base(FormDict &globals) {
return AdlcVMDeps::Parms; // Skip the machine-state edges
if( _matrule->_rChild &&
( strcmp(_matrule->_rChild->_opType,"StrComp" )==0 ||
( strcmp(_matrule->_rChild->_opType,"AryEq" )==0 ||
strcmp(_matrule->_rChild->_opType,"StrComp" )==0 ||
strcmp(_matrule->_rChild->_opType,"StrEquals" )==0 ||
strcmp(_matrule->_rChild->_opType,"StrIndexOf")==0 )) {
// String.(compareTo/equals/indexOf) take 1 control and 4 memory edges.
return 5;
// String.(compareTo/equals/indexOf) and Arrays.equals
// take 1 control and 1 memory edges.
return 2;
}
// Check for handling of 'Memory' input/edge in the ideal world.