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);