461 // Returns "true" iff there is a stop-world GC in progress. (I assume
462 // that it should answer "false" for the concurrent part of a concurrent
463 // collector -- dld).
464 bool is_gc_active() const { return _is_gc_active; }
465
466 // Total number of GC collections (started)
467 unsigned int total_collections() const { return _total_collections; }
468 unsigned int total_full_collections() const { return _total_full_collections;}
469
470 // Increment total number of GC collections (started)
471 // Should be protected but used by PSMarkSweep - cleanup for 1.4.2
472 void increment_total_collections(bool full = false) {
473 _total_collections++;
474 if (full) {
475 increment_total_full_collections();
476 }
477 }
478
479 void increment_total_full_collections() { _total_full_collections++; }
480
481 // Return the AdaptiveSizePolicy for the heap.
482 virtual AdaptiveSizePolicy* size_policy() = 0;
483
484 // Return the CollectorPolicy for the heap
485 virtual CollectorPolicy* collector_policy() const = 0;
486
487 // Iterate over all objects, calling "cl.do_object" on each.
488 virtual void object_iterate(ObjectClosure* cl) = 0;
489
490 // Similar to object_iterate() except iterates only
491 // over live objects.
492 virtual void safe_object_iterate(ObjectClosure* cl) = 0;
493
494 // NOTE! There is no requirement that a collector implement these
495 // functions.
496 //
497 // A CollectedHeap is divided into a dense sequence of "blocks"; that is,
498 // each address in the (reserved) heap is a member of exactly
499 // one block. The defining characteristic of a block is that it is
500 // possible to find its size, and thus to progress forward to the next
501 // block. (Blocks may be of different sizes.) Thus, blocks may
502 // represent Java objects, or they might be free blocks in a
503 // free-list-based heap (or subheap), as long as the two kinds are
|
461 // Returns "true" iff there is a stop-world GC in progress. (I assume
462 // that it should answer "false" for the concurrent part of a concurrent
463 // collector -- dld).
464 bool is_gc_active() const { return _is_gc_active; }
465
466 // Total number of GC collections (started)
467 unsigned int total_collections() const { return _total_collections; }
468 unsigned int total_full_collections() const { return _total_full_collections;}
469
470 // Increment total number of GC collections (started)
471 // Should be protected but used by PSMarkSweep - cleanup for 1.4.2
472 void increment_total_collections(bool full = false) {
473 _total_collections++;
474 if (full) {
475 increment_total_full_collections();
476 }
477 }
478
479 void increment_total_full_collections() { _total_full_collections++; }
480
481 // Return the CollectorPolicy for the heap
482 virtual CollectorPolicy* collector_policy() const = 0;
483
484 // Iterate over all objects, calling "cl.do_object" on each.
485 virtual void object_iterate(ObjectClosure* cl) = 0;
486
487 // Similar to object_iterate() except iterates only
488 // over live objects.
489 virtual void safe_object_iterate(ObjectClosure* cl) = 0;
490
491 // NOTE! There is no requirement that a collector implement these
492 // functions.
493 //
494 // A CollectedHeap is divided into a dense sequence of "blocks"; that is,
495 // each address in the (reserved) heap is a member of exactly
496 // one block. The defining characteristic of a block is that it is
497 // possible to find its size, and thus to progress forward to the next
498 // block. (Blocks may be of different sizes.) Thus, blocks may
499 // represent Java objects, or they might be free blocks in a
500 // free-list-based heap (or subheap), as long as the two kinds are
|