class DirtyCardToOopClosure; class Generation; class Space;
// This RemSet uses a card table both as shared data structure // for a mod ref barrier set and for the rem set information.
class CardTableRS : public CardTable { friendclass VMStructs; // Below are private classes used in impl. friendclass VerifyCTSpaceClosure; friendclass ClearNoncleanCardWrapper;
// Iterate over the portion of the card-table which covers the given // region mr in the given space and apply cl to any dirty sub-regions // of mr. Clears the dirty cards as they are processed. void non_clean_card_iterate(Space* sp,
HeapWord* gen_boundary,
MemRegion mr,
OopIterateClosure* cl,
CardTableRS* ct);
bool is_in_young(constvoid* p) const override;
};
class ClearNoncleanCardWrapper: public MemRegionClosure {
DirtyCardToOopClosure* _dirty_card_closure;
CardTableRS* _ct;
public:
typedef CardTable::CardValue CardValue; private: // Clears the given card, return true if the corresponding card should be // processed. inlinebool clear_card(CardValue* entry); // check alignment of pointer bool is_word_aligned(CardValue* entry);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.