< prev index next >
src/hotspot/share/gc/shared/collectedHeap.hpp
Print this page
rev 60420 : imported patch 8248401-Refactor-unify-RMI-gc-support-functionality
@@ -110,10 +110,14 @@
bool _is_gc_active;
// Used for filler objects (static, but initialized in ctor).
static size_t _filler_array_max_size;
+ // Last time the whole heap has been examined in support of RMI
+ // MaxObjectInspectionAge in ns.
+ jlong _last_whole_heap_examined_time_ns;
+
unsigned int _total_collections; // ... started
unsigned int _total_full_collections; // ... started
NOT_PRODUCT(volatile size_t _promotion_failure_alot_count;)
NOT_PRODUCT(volatile size_t _promotion_failure_alot_gc_number;)
@@ -402,19 +406,22 @@
virtual void object_iterate(ObjectClosure* cl) = 0;
// 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.
- virtual jlong millis_since_last_gc() = 0;
-
// Perform any cleanup actions necessary before allowing a verification.
virtual void prepare_for_verify() = 0;
- // Generate any dumps preceding or following a full gc
+ // 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.
+ jlong millis_since_last_whole_heap_examined();
+ // GC should call this when the next whole heap analysis has completed to
+ // satisfy above requirement.
+ void next_whole_heap_examined();
+
private:
+ // Generate any dumps preceding or following a full gc
void full_gc_dump(GCTimer* timer, bool before);
virtual void initialize_serviceability() = 0;
public:
< prev index next >