58 virtual GrowableArray<GCMemoryManager*> memory_managers(); 59 virtual GrowableArray<MemoryPool*> memory_pools(); 60 61 DefNewGeneration* young_gen() const { 62 assert(_young_gen->kind() == Generation::DefNew, "Wrong generation type"); 63 return static_cast<DefNewGeneration*>(_young_gen); 64 } 65 66 TenuredGeneration* old_gen() const { 67 assert(_old_gen->kind() == Generation::MarkSweepCompact, "Wrong generation type"); 68 return static_cast<TenuredGeneration*>(_old_gen); 69 } 70 71 // Apply "cur->do_oop" or "older->do_oop" to all the oops in objects 72 // allocated since the last call to save_marks in the young generation. 73 // The "cur" closure is applied to references in the younger generation 74 // at "level", and the "older" closure to older generations. 75 template <typename OopClosureType1, typename OopClosureType2> 76 void oop_since_save_marks_iterate(OopClosureType1* cur, 77 OopClosureType2* older); 78 }; 79 80 #endif // SHARE_GC_SERIAL_SERIALHEAP_HPP | 58 virtual GrowableArray<GCMemoryManager*> memory_managers(); 59 virtual GrowableArray<MemoryPool*> memory_pools(); 60 61 DefNewGeneration* young_gen() const { 62 assert(_young_gen->kind() == Generation::DefNew, "Wrong generation type"); 63 return static_cast<DefNewGeneration*>(_young_gen); 64 } 65 66 TenuredGeneration* old_gen() const { 67 assert(_old_gen->kind() == Generation::MarkSweepCompact, "Wrong generation type"); 68 return static_cast<TenuredGeneration*>(_old_gen); 69 } 70 71 // Apply "cur->do_oop" or "older->do_oop" to all the oops in objects 72 // allocated since the last call to save_marks in the young generation. 73 // The "cur" closure is applied to references in the younger generation 74 // at "level", and the "older" closure to older generations. 75 template <typename OopClosureType1, typename OopClosureType2> 76 void oop_since_save_marks_iterate(OopClosureType1* cur, 77 OopClosureType2* older); 78 79 // Runs the given AbstractGangTask with the current active workers. 80 // No workGang for SerialHeap, work serially with thread 0. 81 virtual void run_task(AbstractGangTask* task); 82 }; 83 84 #endif // SHARE_GC_SERIAL_SERIALHEAP_HPP |