src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp

changeset 777
37f87013dfd8
parent 576
fcbfc50865ab
child 791
1ee8caae33af
     1.1 --- a/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	Wed Jun 04 13:51:09 2008 -0700
     1.2 +++ b/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp	Thu Jun 05 15:57:56 2008 -0700
     1.3 @@ -184,6 +184,20 @@
     1.4    size_t tlab_capacity(Thread* thr) const;
     1.5    size_t unsafe_max_tlab_alloc(Thread* thr) const;
     1.6  
     1.7 +  // Can a compiler initialize a new object without store barriers?
     1.8 +  // This permission only extends from the creation of a new object
     1.9 +  // via a TLAB up to the first subsequent safepoint.
    1.10 +  virtual bool can_elide_tlab_store_barriers() const {
    1.11 +    return true;
    1.12 +  }
    1.13 +
    1.14 +  // Can a compiler elide a store barrier when it writes
    1.15 +  // a permanent oop into the heap?  Applies when the compiler
    1.16 +  // is storing x to the heap, where x->is_perm() is true.
    1.17 +  virtual bool can_elide_permanent_oop_store_barriers() const {
    1.18 +    return true;
    1.19 +  }
    1.20 +
    1.21    void oop_iterate(OopClosure* cl);
    1.22    void object_iterate(ObjectClosure* cl);
    1.23    void permanent_oop_iterate(OopClosure* cl);

mercurial