src/share/vm/gc/shared/space.hpp
Print this page
*** 47,56 ****
--- 47,57 ----
class Generation;
class CompactibleSpace;
class BlockOffsetTable;
class CardTableRS;
class DirtyCardToOopClosure;
+ class MarkSweep;
// A Space describes a heap area. Class Space is an abstract
// base class.
//
// Space supports allocation, size computation and GC support is provided.
*** 216,226 ****
// Allocation (return NULL if full). Enforces mutual exclusion internally.
virtual HeapWord* par_allocate(size_t word_size) = 0;
// Mark-sweep-compact support: all spaces can update pointers to objects
// moving as a part of compaction.
! virtual void adjust_pointers() = 0;
virtual void print() const;
virtual void print_on(outputStream* st) const;
virtual void print_short() const;
virtual void print_short_on(outputStream* st) const;
--- 217,227 ----
// Allocation (return NULL if full). Enforces mutual exclusion internally.
virtual HeapWord* par_allocate(size_t word_size) = 0;
// Mark-sweep-compact support: all spaces can update pointers to objects
// moving as a part of compaction.
! virtual void adjust_pointers(MarkSweep* ms) = 0;
virtual void print() const;
virtual void print_on(outputStream* st) const;
virtual void print_short() const;
virtual void print_short_on(outputStream* st) const;
*** 411,421 ****
// "cp->compaction_space" up-to-date. Offset tables may be updated in
// this phase as if the final copy had occurred; if so, "cp->threshold"
// indicates when the next such action should be taken.
virtual void prepare_for_compaction(CompactPoint* cp) = 0;
// MarkSweep support phase3
! virtual void adjust_pointers();
// MarkSweep support phase4
virtual void compact();
// The maximum percentage of objects that can be dead in the compacted
// live part of a compacted space ("deadwood" support.)
--- 412,422 ----
// "cp->compaction_space" up-to-date. Offset tables may be updated in
// this phase as if the final copy had occurred; if so, "cp->threshold"
// indicates when the next such action should be taken.
virtual void prepare_for_compaction(CompactPoint* cp) = 0;
// MarkSweep support phase3
! virtual void adjust_pointers(MarkSweep* ms);
// MarkSweep support phase4
virtual void compact();
// The maximum percentage of objects that can be dead in the compacted
// live part of a compacted space ("deadwood" support.)
*** 467,477 ****
// and possibly also overriding obj_size(), and adjust_obj_size().
// These functions should avoid virtual calls whenever possible.
// Frequently calls adjust_obj_size().
template <class SpaceType>
! static inline void scan_and_adjust_pointers(SpaceType* space);
// Frequently calls obj_size().
template <class SpaceType>
static inline void scan_and_compact(SpaceType* space);
--- 468,478 ----
// and possibly also overriding obj_size(), and adjust_obj_size().
// These functions should avoid virtual calls whenever possible.
// Frequently calls adjust_obj_size().
template <class SpaceType>
! static inline void scan_and_adjust_pointers(SpaceType* space, MarkSweep* ms);
// Frequently calls obj_size().
template <class SpaceType>
static inline void scan_and_compact(SpaceType* space);