< prev index next >
src/share/vm/gc/shared/genCollectedHeap.hpp
Print this page
rev 12906 : [mq]: gc_interface
@@ -24,10 +24,11 @@
#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,30 +269,10 @@
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
@@ -513,8 +494,14 @@
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 >