--- old/src/share/vm/opto/gcm.cpp	Fri Feb  6 14:00:18 2009
+++ new/src/share/vm/opto/gcm.cpp	Fri Feb  6 14:00:17 2009
@@ -426,6 +426,15 @@
   assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrComp),
          "String compare is only known 'load' that does not conflict with any stores");
 
+  assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrEquals), 
+         "String equals is a 'load' that does not conflict with any stores");
+
+  assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_StrIndexOf), 
+         "String indexOf is a 'load' that does not conflict with any stores");
+
+  assert(load_alias_idx || (load->is_Mach() && load->as_Mach()->ideal_Opcode() == Op_AryEq), 
+         "Arrays equals is a 'load' that do not conflict with any stores");
+
   if (!C->alias_type(load_alias_idx)->is_rewritable()) {
     // It is impossible to spoil this load by putting stores before it,
     // because we know that the stores will never update the value
