mirror of
https://github.com/openjdk/jdk.git
synced 2025-09-16 00:54:38 +02:00
8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS
Reviewed-by: brutisso, tschatzl, stefank
This commit is contained in:
parent
98d8c51389
commit
e72dd1b433
6 changed files with 71 additions and 115 deletions
|
@ -1498,6 +1498,19 @@ class FalseBitMapClosure: public BitMapClosure {
|
|||
}
|
||||
};
|
||||
|
||||
// A version of ObjectClosure with "memory" (see _previous_address below)
|
||||
class UpwardsObjectClosure: public BoolObjectClosure {
|
||||
HeapWord* _previous_address;
|
||||
public:
|
||||
UpwardsObjectClosure() : _previous_address(NULL) { }
|
||||
void set_previous(HeapWord* addr) { _previous_address = addr; }
|
||||
HeapWord* previous() { return _previous_address; }
|
||||
// A return value of "true" can be used by the caller to decide
|
||||
// if this object's end should *NOT* be recorded in
|
||||
// _previous_address above.
|
||||
virtual bool do_object_bm(oop obj, MemRegion mr) = 0;
|
||||
};
|
||||
|
||||
// This closure is used during the second checkpointing phase
|
||||
// to rescan the marked objects on the dirty cards in the mod
|
||||
// union table and the card table proper. It's invoked via
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue