src/share/vm/oops/klass.hpp

changeset 6876
710a3c8b516e
parent 6830
54bc75c144b0
parent 135
5b3263131a49
child 7535
7ae4e26cb1e0
     1.1 --- a/src/share/vm/oops/klass.hpp	Mon Sep 08 12:35:01 2014 -0700
     1.2 +++ b/src/share/vm/oops/klass.hpp	Tue Aug 08 15:57:29 2017 +0800
     1.3 @@ -275,8 +275,18 @@
     1.4    // The Klasses are not placed in the Heap, so the Card Table or
     1.5    // the Mod Union Table can't be used to mark when klasses have modified oops.
     1.6    // The CT and MUT bits saves this information for the individual Klasses.
     1.7 -  void record_modified_oops()            { _modified_oops = 1; }
     1.8 -  void clear_modified_oops()             { _modified_oops = 0; }
     1.9 +  void record_modified_oops()            { 
    1.10 +    _modified_oops = 1; 
    1.11 +#ifdef MIPS64
    1.12 +    if (Use3A2000) OrderAccess::fence();    
    1.13 +#endif 
    1.14 +  }
    1.15 +  void clear_modified_oops()             { 
    1.16 +    _modified_oops = 0; 
    1.17 +#ifdef MIPS64
    1.18 +    if (Use3A2000) OrderAccess::fence();    
    1.19 +#endif 
    1.20 +  }
    1.21    bool has_modified_oops()               { return _modified_oops == 1; }
    1.22  
    1.23    void accumulate_modified_oops()        { if (has_modified_oops()) _accumulated_modified_oops = 1; }

mercurial