hotspot/src/share/vm/gc_implementation/parallelScavenge/parallelScavengeHeap.hpp
changeset 1374 4c24294029a9
parent 388 bcc631c5bbec
child 1388 3677f5f3d66b
equal deleted inserted replaced
615:570062d730b2 1374:4c24294029a9
   182   bool supports_tlab_allocation() const { return true; }
   182   bool supports_tlab_allocation() const { return true; }
   183 
   183 
   184   size_t tlab_capacity(Thread* thr) const;
   184   size_t tlab_capacity(Thread* thr) const;
   185   size_t unsafe_max_tlab_alloc(Thread* thr) const;
   185   size_t unsafe_max_tlab_alloc(Thread* thr) const;
   186 
   186 
       
   187   // Can a compiler initialize a new object without store barriers?
       
   188   // This permission only extends from the creation of a new object
       
   189   // via a TLAB up to the first subsequent safepoint.
       
   190   virtual bool can_elide_tlab_store_barriers() const {
       
   191     return true;
       
   192   }
       
   193 
       
   194   // Can a compiler elide a store barrier when it writes
       
   195   // a permanent oop into the heap?  Applies when the compiler
       
   196   // is storing x to the heap, where x->is_perm() is true.
       
   197   virtual bool can_elide_permanent_oop_store_barriers() const {
       
   198     return true;
       
   199   }
       
   200 
   187   void oop_iterate(OopClosure* cl);
   201   void oop_iterate(OopClosure* cl);
   188   void object_iterate(ObjectClosure* cl);
   202   void object_iterate(ObjectClosure* cl);
   189   void permanent_oop_iterate(OopClosure* cl);
   203   void permanent_oop_iterate(OopClosure* cl);
   190   void permanent_object_iterate(ObjectClosure* cl);
   204   void permanent_object_iterate(ObjectClosure* cl);
   191 
   205