Mercurial > hg > truffle
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 |