< prev index next >

src/share/vm/gc/shared/genCollectedHeap.hpp

Print this page
rev 12906 : [mq]: gc_interface

*** 24,33 **** --- 24,34 ---- #ifndef SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP #define SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP #include "gc/shared/adaptiveSizePolicy.hpp" + #include "gc/shared/cardTableModRefBS.hpp" #include "gc/shared/collectedHeap.hpp" #include "gc/shared/collectorPolicy.hpp" #include "gc/shared/generation.hpp" class StrongRootsScope;
*** 268,297 **** virtual size_t tlab_capacity(Thread* thr) const; virtual size_t tlab_used(Thread* thr) const; virtual size_t unsafe_max_tlab_alloc(Thread* thr) const; virtual HeapWord* allocate_new_tlab(size_t size); - // Can a compiler initialize a new object without store barriers? - // This permission only extends from the creation of a new object - // via a TLAB up to the first subsequent safepoint. - virtual bool can_elide_tlab_store_barriers() const { - return true; - } - - virtual bool card_mark_must_follow_store() const { - return UseConcMarkSweepGC; - } - - // We don't need barriers for stores to objects in the - // young gen and, a fortiori, for initializing stores to - // objects therein. This applies to DefNew+Tenured and ParNew+CMS - // only and may need to be re-examined in case other - // kinds of collectors are implemented in the future. - virtual bool can_elide_initializing_store_barrier(oop new_obj) { - return is_in_young(new_obj); - } - // The "requestor" generation is performing some garbage collection // action for which it would be useful to have scratch space. The // requestor promises to allocate no more than "max_alloc_words" in any // older generation (via promotion say.) Any blocks of space that can // be provided are returned as a list of ScratchBlocks, sorted by --- 269,278 ----
*** 513,520 **** --- 494,507 ---- void gc_prologue(bool full); void gc_epilogue(bool full); public: void stop(); + void safepoint_synchronize_begin(); + void safepoint_synchronize_end(); + + CardTableModRefBS *barrier_set() { + return barrier_set_cast<CardTableModRefBS>(CollectedHeap::barrier_set()); + } }; #endif // SHARE_VM_GC_SHARED_GENCOLLECTEDHEAP_HPP
< prev index next >