< prev index next >
src/share/vm/gc_interface/collectedHeap.hpp
Print this page
@@ -78,10 +78,11 @@
// CollectedHeap
// SharedHeap
// GenCollectedHeap
// G1CollectedHeap
// ParallelScavengeHeap
+// ShenandoahHeap
//
class CollectedHeap : public CHeapObj<mtInternal> {
friend class VMStructs;
friend class IsGCActiveMark; // Block structured external access to _is_gc_active
@@ -186,11 +187,12 @@
enum Name {
Abstract,
SharedHeap,
GenCollectedHeap,
ParallelScavengeHeap,
- G1CollectedHeap
+ G1CollectedHeap,
+ ShenandoahHeap
};
static inline size_t filler_array_max_size() {
return _filler_array_max_size;
}
@@ -604,10 +606,23 @@
void trace_heap_after_gc(GCTracer* gc_tracer);
// Heap verification
virtual void verify(bool silent, VerifyOption option) = 0;
+ // Shut down all GC workers and other GC related threads.
+ virtual void shutdown();
+
+ // Accumulate additional statistics from GCLABs.
+ virtual void accumulate_statistics_all_gclabs();
+
+ // Support for object pinning. This is used by JNI Get*Critical()
+ // and Release*Critical() family of functions. If supported, the GC
+ // must guarantee that pinned objects never move.
+ virtual bool supports_object_pinning() const;
+ virtual oop pin_object(JavaThread* thread, oop obj);
+ virtual void unpin_object(JavaThread* thread, oop obj);
+
// Non product verification and debugging.
#ifndef PRODUCT
// Support for PromotionFailureALot. Return true if it's time to cause a
// promotion failure. The no-argument version uses
// this->_promotion_failure_alot_count as the counter.
< prev index next >