comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp @ 20265:5255b195f828

8038404: Move object_iterate_mem from Space to CMS since it is only ever used by CMS Reviewed-by: brutisso, tschatzl, stefank
author mgerdin
date Wed, 12 Mar 2014 15:22:45 +0100
parents 30c99d8e0f02
children 4c1b88a53c74
comparison
equal deleted inserted replaced
20264:30c99d8e0f02 20265:5255b195f828
1495 public: 1495 public:
1496 bool do_bit(size_t offset) { 1496 bool do_bit(size_t offset) {
1497 guarantee(false, "Should not have a 1 bit"); 1497 guarantee(false, "Should not have a 1 bit");
1498 return true; 1498 return true;
1499 } 1499 }
1500 };
1501
1502 // A version of ObjectClosure with "memory" (see _previous_address below)
1503 class UpwardsObjectClosure: public BoolObjectClosure {
1504 HeapWord* _previous_address;
1505 public:
1506 UpwardsObjectClosure() : _previous_address(NULL) { }
1507 void set_previous(HeapWord* addr) { _previous_address = addr; }
1508 HeapWord* previous() { return _previous_address; }
1509 // A return value of "true" can be used by the caller to decide
1510 // if this object's end should *NOT* be recorded in
1511 // _previous_address above.
1512 virtual bool do_object_bm(oop obj, MemRegion mr) = 0;
1500 }; 1513 };
1501 1514
1502 // This closure is used during the second checkpointing phase 1515 // This closure is used during the second checkpointing phase
1503 // to rescan the marked objects on the dirty cards in the mod 1516 // to rescan the marked objects on the dirty cards in the mod
1504 // union table and the card table proper. It's invoked via 1517 // union table and the card table proper. It's invoked via