comparison src/share/vm/adlc/formssel.cpp @ 986:62001a362ce9

6827605: new String intrinsics may prevent EA scalar replacement 6875866: Intrinsic for String.indexOf() is broken on x86 with SSE4.2 Summary: Modify String intrinsic methods to pass char[] pointers instead of string oops. Reviewed-by: never
author kvn
date Mon, 14 Sep 2009 12:14:20 -0700
parents f9094a5e1c8a
children d7f654633cfe
comparison
equal deleted inserted replaced
985:685e959d09ea 986:62001a362ce9
826 strcmp(_matrule->_opType,"SafePoint" )==0 || 826 strcmp(_matrule->_opType,"SafePoint" )==0 ||
827 strcmp(_matrule->_opType,"Halt" )==0 ) 827 strcmp(_matrule->_opType,"Halt" )==0 )
828 return AdlcVMDeps::Parms; // Skip the machine-state edges 828 return AdlcVMDeps::Parms; // Skip the machine-state edges
829 829
830 if( _matrule->_rChild && 830 if( _matrule->_rChild &&
831 ( strcmp(_matrule->_rChild->_opType,"StrComp" )==0 || 831 ( strcmp(_matrule->_rChild->_opType,"AryEq" )==0 ||
832 strcmp(_matrule->_rChild->_opType,"StrComp" )==0 ||
832 strcmp(_matrule->_rChild->_opType,"StrEquals" )==0 || 833 strcmp(_matrule->_rChild->_opType,"StrEquals" )==0 ||
833 strcmp(_matrule->_rChild->_opType,"StrIndexOf")==0 )) { 834 strcmp(_matrule->_rChild->_opType,"StrIndexOf")==0 )) {
834 // String.(compareTo/equals/indexOf) take 1 control and 4 memory edges. 835 // String.(compareTo/equals/indexOf) and Arrays.equals
835 return 5; 836 // take 1 control and 1 memory edges.
837 return 2;
836 } 838 }
837 839
838 // Check for handling of 'Memory' input/edge in the ideal world. 840 // Check for handling of 'Memory' input/edge in the ideal world.
839 // The AD file writer is shielded from knowledge of these edges. 841 // The AD file writer is shielded from knowledge of these edges.
840 int base = 1; // Skip control 842 int base = 1; // Skip control