--- a/hotspot/src/share/vm/opto/idealKit.cpp Thu Sep 10 18:18:06 2009 -0700
+++ b/hotspot/src/share/vm/opto/idealKit.cpp Mon Sep 14 09:49:54 2009 -0700
@@ -378,7 +378,7 @@
// Card mark store. Must be ordered so that it will come after the store of
// the oop.
-Node* IdealKit::storeCM(Node* ctl, Node* adr, Node *val, Node* oop_store,
+Node* IdealKit::storeCM(Node* ctl, Node* adr, Node *val, Node* oop_store, int oop_adr_idx,
BasicType bt,
int adr_idx) {
assert(adr_idx != Compile::AliasIdxTop, "use other store_to_memory factory" );
@@ -388,7 +388,7 @@
// Add required edge to oop_store, optimizer does not support precedence edges.
// Convert required edge to precedence edge before allocation.
- Node* st = new (C, 5) StoreCMNode(ctl, mem, adr, adr_type, val, oop_store);
+ Node* st = new (C, 5) StoreCMNode(ctl, mem, adr, adr_type, val, oop_store, oop_adr_idx);
st = transform(st);
set_memory(st, adr_idx);