< prev index next >
src/hotspot/share/gc/shared/collectedHeap.hpp
Print this page
*** 27,36 ****
--- 27,37 ----
#include "gc/shared/gcCause.hpp"
#include "gc/shared/gcWhen.hpp"
#include "gc/shared/verifyOption.hpp"
#include "memory/allocation.hpp"
+ #include "memory/heapInspection.hpp"
#include "runtime/handles.hpp"
#include "runtime/perfData.hpp"
#include "runtime/safepoint.hpp"
#include "services/memoryUsage.hpp"
#include "utilities/debug.hpp"
*** 41,50 ****
--- 42,52 ----
// A "CollectedHeap" is an implementation of a java heap for HotSpot. This
// is an abstract class: there may be many different kinds of heaps. This
// class defines the functions that a heap must implement, and contains
// infrastructure common to all heaps.
+ class AbstractGangTask;
class AdaptiveSizePolicy;
class BarrierSet;
class GCHeapSummary;
class GCTimer;
class GCTracer;
*** 384,393 ****
--- 386,408 ----
virtual GrowableArray<MemoryPool*> memory_pools() = 0;
// Iterate over all objects, calling "cl.do_object" on each.
virtual void object_iterate(ObjectClosure* cl) = 0;
+ // Run parallel heap inspection, return false as not supported by heap.
+ virtual bool run_par_heap_inspect_task(KlassInfoTable* cit,
+ BoolObjectClosure* filter,
+ size_t* missed_count,
+ size_t thread_num) {
+ return false;
+ }
+
+ // Parallel iterate over all objects, reture false if heap not support.
+ virtual bool object_iterate_try_parallel(AbstractGangTask *task, size_t thread_num) {
+ return false;
+ }
+
// Keep alive an object that was loaded with AS_NO_KEEPALIVE.
virtual void keep_alive(oop obj) {}
// Returns the longest time (in ms) that has elapsed since the last
// time that any part of the heap was examined by a garbage collection.
< prev index next >