--- a/hotspot/src/share/vm/opto/matcher.cpp Tue Mar 31 10:02:01 2009 -0700
+++ b/hotspot/src/share/vm/opto/matcher.cpp Tue Mar 31 14:07:08 2009 -0700
@@ -746,6 +746,8 @@
if (nidx == Compile::AliasIdxBot && midx == Compile::AliasIdxTop) {
switch (n->Opcode()) {
case Op_StrComp:
+ case Op_StrEquals:
+ case Op_StrIndexOf:
case Op_AryEq:
case Op_MemBarVolatile:
case Op_MemBarCPUOrder: // %%% these ideals should have narrower adr_type?
@@ -1788,6 +1790,8 @@
mstack.push(n->in(0), Pre_Visit); // Visit Control input
continue; // while (mstack.is_nonempty())
case Op_StrComp:
+ case Op_StrEquals:
+ case Op_StrIndexOf:
case Op_AryEq:
set_shared(n); // Force result into register (it will be anyways)
break;