Mercurial > hg > graal-compiler
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 |