src/share/vm/opto/parse3.cpp

changeset 1535
f96a1a986f7b
parent 1424
148e5441d916
child 1573
dd57230ba8fe
     1.1 --- a/src/share/vm/opto/parse3.cpp	Tue Dec 08 16:27:21 2009 -0800
     1.2 +++ b/src/share/vm/opto/parse3.cpp	Wed Dec 09 16:40:45 2009 -0800
     1.3 @@ -240,19 +240,19 @@
     1.4      // membar is dependent on the store, keeping any other membars generated
     1.5      // below from floating up past the store.
     1.6      int adr_idx = C->get_alias_index(adr_type);
     1.7 -    insert_mem_bar_volatile(Op_MemBarVolatile, adr_idx);
     1.8 +    insert_mem_bar_volatile(Op_MemBarVolatile, adr_idx, store);
     1.9  
    1.10      // Now place a membar for AliasIdxBot for the unknown yet-to-be-parsed
    1.11      // volatile alias indices. Skip this if the membar is redundant.
    1.12      if (adr_idx != Compile::AliasIdxBot) {
    1.13 -      insert_mem_bar_volatile(Op_MemBarVolatile, Compile::AliasIdxBot);
    1.14 +      insert_mem_bar_volatile(Op_MemBarVolatile, Compile::AliasIdxBot, store);
    1.15      }
    1.16  
    1.17      // Finally, place alias-index-specific membars for each volatile index
    1.18      // that isn't the adr_idx membar. Typically there's only 1 or 2.
    1.19      for( int i = Compile::AliasIdxRaw; i < C->num_alias_types(); i++ ) {
    1.20        if (i != adr_idx && C->alias_type(i)->is_volatile()) {
    1.21 -        insert_mem_bar_volatile(Op_MemBarVolatile, i);
    1.22 +        insert_mem_bar_volatile(Op_MemBarVolatile, i, store);
    1.23        }
    1.24      }
    1.25    }

mercurial