equal
deleted
inserted
replaced
43 // collection. It has two generations, young and old. |
43 // collection. It has two generations, young and old. |
44 class GenCollectedHeap : public CollectedHeap { |
44 class GenCollectedHeap : public CollectedHeap { |
45 friend class Generation; |
45 friend class Generation; |
46 friend class DefNewGeneration; |
46 friend class DefNewGeneration; |
47 friend class TenuredGeneration; |
47 friend class TenuredGeneration; |
48 friend class ConcurrentMarkSweepGeneration; |
|
49 friend class CMSCollector; |
|
50 friend class GenMarkSweep; |
48 friend class GenMarkSweep; |
51 friend class VM_GenCollectForAllocation; |
49 friend class VM_GenCollectForAllocation; |
52 friend class VM_GenCollectFull; |
50 friend class VM_GenCollectFull; |
53 friend class VM_GenCollectFullConcurrent; |
51 friend class VM_GenCollectFullConcurrent; |
54 friend class VM_GC_HeapInspection; |
52 friend class VM_GC_HeapInspection; |
384 OopClosure* strong_roots, |
382 OopClosure* strong_roots, |
385 CLDClosure* strong_cld_closure, |
383 CLDClosure* strong_cld_closure, |
386 CLDClosure* weak_cld_closure, |
384 CLDClosure* weak_cld_closure, |
387 CodeBlobToOopClosure* code_roots); |
385 CodeBlobToOopClosure* code_roots); |
388 |
386 |
389 // Accessor for memory state verification support |
|
390 NOT_PRODUCT( |
|
391 virtual size_t skip_header_HeapWords() { return 0; } |
|
392 ) |
|
393 |
|
394 virtual void gc_prologue(bool full); |
387 virtual void gc_prologue(bool full); |
395 virtual void gc_epilogue(bool full); |
388 virtual void gc_epilogue(bool full); |
396 |
389 |
397 public: |
390 public: |
398 void young_process_roots(StrongRootsScope* scope, |
391 void young_process_roots(StrongRootsScope* scope, |
463 |
456 |
464 HeapWord* mem_allocate_work(size_t size, |
457 HeapWord* mem_allocate_work(size_t size, |
465 bool is_tlab, |
458 bool is_tlab, |
466 bool* gc_overhead_limit_was_exceeded); |
459 bool* gc_overhead_limit_was_exceeded); |
467 |
460 |
468 // Override |
|
469 void check_for_non_bad_heap_word_value(HeapWord* addr, |
|
470 size_t size) PRODUCT_RETURN; |
|
471 |
|
472 #if INCLUDE_SERIALGC |
461 #if INCLUDE_SERIALGC |
473 // For use by mark-sweep. As implemented, mark-sweep-compact is global |
462 // For use by mark-sweep. As implemented, mark-sweep-compact is global |
474 // in an essential way: compaction is performed across generations, by |
463 // in an essential way: compaction is performed across generations, by |
475 // iterating over spaces. |
464 // iterating over spaces. |
476 void prepare_for_compaction(); |
465 void prepare_for_compaction(); |