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);