Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp @ 342:37f87013dfd8
6711316: Open source the Garbage-First garbage collector
Summary: First mercurial integration of the code for the Garbage-First garbage collector.
Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author | ysr |
---|---|
date | Thu, 05 Jun 2008 15:57:56 -0700 |
parents | b5489bb705c9 |
children | 1ee8caae33af |
comparison
equal
deleted
inserted
replaced
189:0b27f3512f9e | 342:37f87013dfd8 |
---|---|
1323 MarkFromRootsClosure(CMSCollector* collector, MemRegion span, | 1323 MarkFromRootsClosure(CMSCollector* collector, MemRegion span, |
1324 CMSBitMap* bitMap, | 1324 CMSBitMap* bitMap, |
1325 CMSMarkStack* markStack, | 1325 CMSMarkStack* markStack, |
1326 CMSMarkStack* revisitStack, | 1326 CMSMarkStack* revisitStack, |
1327 bool should_yield, bool verifying = false); | 1327 bool should_yield, bool verifying = false); |
1328 void do_bit(size_t offset); | 1328 bool do_bit(size_t offset); |
1329 void reset(HeapWord* addr); | 1329 void reset(HeapWord* addr); |
1330 inline void do_yield_check(); | 1330 inline void do_yield_check(); |
1331 | 1331 |
1332 private: | 1332 private: |
1333 void scanOopsInOop(HeapWord* ptr); | 1333 void scanOopsInOop(HeapWord* ptr); |
1359 CMSBitMap* bit_map, | 1359 CMSBitMap* bit_map, |
1360 OopTaskQueue* work_queue, | 1360 OopTaskQueue* work_queue, |
1361 CMSMarkStack* overflow_stack, | 1361 CMSMarkStack* overflow_stack, |
1362 CMSMarkStack* revisit_stack, | 1362 CMSMarkStack* revisit_stack, |
1363 bool should_yield); | 1363 bool should_yield); |
1364 void do_bit(size_t offset); | 1364 bool do_bit(size_t offset); |
1365 inline void do_yield_check(); | 1365 inline void do_yield_check(); |
1366 | 1366 |
1367 private: | 1367 private: |
1368 void scan_oops_in_oop(HeapWord* ptr); | 1368 void scan_oops_in_oop(HeapWord* ptr); |
1369 void do_yield_work(); | 1369 void do_yield_work(); |
1407 public: | 1407 public: |
1408 MarkFromRootsVerifyClosure(CMSCollector* collector, MemRegion span, | 1408 MarkFromRootsVerifyClosure(CMSCollector* collector, MemRegion span, |
1409 CMSBitMap* verification_bm, | 1409 CMSBitMap* verification_bm, |
1410 CMSBitMap* cms_bm, | 1410 CMSBitMap* cms_bm, |
1411 CMSMarkStack* mark_stack); | 1411 CMSMarkStack* mark_stack); |
1412 void do_bit(size_t offset); | 1412 bool do_bit(size_t offset); |
1413 void reset(HeapWord* addr); | 1413 void reset(HeapWord* addr); |
1414 }; | 1414 }; |
1415 | 1415 |
1416 | 1416 |
1417 // This closure is used to check that a certain set of bits is | 1417 // This closure is used to check that a certain set of bits is |
1418 // "empty" (i.e. the bit vector doesn't have any 1-bits). | 1418 // "empty" (i.e. the bit vector doesn't have any 1-bits). |
1419 class FalseBitMapClosure: public BitMapClosure { | 1419 class FalseBitMapClosure: public BitMapClosure { |
1420 public: | 1420 public: |
1421 void do_bit(size_t offset) { | 1421 bool do_bit(size_t offset) { |
1422 guarantee(false, "Should not have a 1 bit"); | 1422 guarantee(false, "Should not have a 1 bit"); |
1423 return true; | |
1423 } | 1424 } |
1424 }; | 1425 }; |
1425 | 1426 |
1426 // This closure is used during the second checkpointing phase | 1427 // This closure is used during the second checkpointing phase |
1427 // to rescan the marked objects on the dirty cards in the mod | 1428 // to rescan the marked objects on the dirty cards in the mod |