--- a/hotspot/src/share/vm/opto/memnode.cpp Tue Mar 31 10:02:01 2009 -0700
+++ b/hotspot/src/share/vm/opto/memnode.cpp Tue Mar 31 14:07:08 2009 -0700
@@ -2481,6 +2481,31 @@
return remove_dead_region(phase, can_reshape) ? this : NULL;
}
+// Do we match on this edge? No memory edges
+uint StrEqualsNode::match_edge(uint idx) const {
+ return idx == 5 || idx == 6;
+}
+
+//------------------------------Ideal------------------------------------------
+// Return a node which is more "ideal" than the current node. Strip out
+// control copies
+Node *StrEqualsNode::Ideal(PhaseGVN *phase, bool can_reshape){
+ return remove_dead_region(phase, can_reshape) ? this : NULL;
+}
+
+//=============================================================================
+// Do we match on this edge? No memory edges
+uint StrIndexOfNode::match_edge(uint idx) const {
+ return idx == 5 || idx == 6;
+}
+
+//------------------------------Ideal------------------------------------------
+// Return a node which is more "ideal" than the current node. Strip out
+// control copies
+Node *StrIndexOfNode::Ideal(PhaseGVN *phase, bool can_reshape){
+ return remove_dead_region(phase, can_reshape) ? this : NULL;
+}
+
//------------------------------Ideal------------------------------------------
// Return a node which is more "ideal" than the current node. Strip out
// control copies
@@ -2488,7 +2513,6 @@
return remove_dead_region(phase, can_reshape) ? this : NULL;
}
-
//=============================================================================
MemBarNode::MemBarNode(Compile* C, int alias_idx, Node* precedent)
: MultiNode(TypeFunc::Parms + (precedent == NULL? 0: 1)),