src/share/vm/opto/memnode.cpp

changeset 1420
685e959d09ea
parent 1143
f2049ae95c3d
child 1421
62001a362ce9
     1.1 --- a/src/share/vm/opto/memnode.cpp	Thu Sep 10 18:18:06 2009 -0700
     1.2 +++ b/src/share/vm/opto/memnode.cpp	Mon Sep 14 09:49:54 2009 -0700
     1.3 @@ -2313,6 +2313,22 @@
     1.4    return this;
     1.5  }
     1.6  
     1.7 +//=============================================================================
     1.8 +//------------------------------Ideal---------------------------------------
     1.9 +Node *StoreCMNode::Ideal(PhaseGVN *phase, bool can_reshape){
    1.10 +  Node* progress = StoreNode::Ideal(phase, can_reshape);
    1.11 +  if (progress != NULL) return progress;
    1.12 +
    1.13 +  Node* my_store = in(MemNode::OopStore);
    1.14 +  if (my_store->is_MergeMem()) {
    1.15 +    Node* mem = my_store->as_MergeMem()->memory_at(oop_alias_idx());
    1.16 +    set_req(MemNode::OopStore, mem);
    1.17 +    return this;
    1.18 +  }
    1.19 +
    1.20 +  return NULL;
    1.21 +}
    1.22 +
    1.23  //------------------------------Value-----------------------------------------
    1.24  const Type *StoreCMNode::Value( PhaseTransform *phase ) const {
    1.25    // Either input is TOP ==> the result is TOP

mercurial