332 DefNewGeneration::IsAliveClosure _is_alive_closure;
333
334 // GC tracer that should be used during collection.
335 ParNewTracer _gc_tracer;
336
337 static oop real_forwardee_slow(oop obj);
338 static void waste_some_time();
339
340 void handle_promotion_failed(CMSHeap* gch, ParScanThreadStateSet& thread_state_set);
341
342 protected:
343
344 bool _survivor_overflow;
345
346 bool survivor_overflow() { return _survivor_overflow; }
347 void set_survivor_overflow(bool v) { _survivor_overflow = v; }
348
349 void restore_preserved_marks();
350
351 public:
352 ParNewGeneration(ReservedSpace rs, size_t initial_byte_size);
353
354 ~ParNewGeneration() {
355 for (uint i = 0; i < ParallelGCThreads; i++)
356 delete _task_queues->queue(i);
357
358 delete _task_queues;
359 }
360
361 virtual void ref_processor_init();
362 virtual Generation::Name kind() { return Generation::ParNew; }
363 virtual const char* name() const;
364 virtual const char* short_name() const { return "ParNew"; }
365
366 // override
367 virtual bool refs_discovery_is_mt() const {
368 return ParallelGCThreads > 1;
369 }
370
371 // Make the collection virtual.
372 virtual void collect(bool full,
|
332 DefNewGeneration::IsAliveClosure _is_alive_closure;
333
334 // GC tracer that should be used during collection.
335 ParNewTracer _gc_tracer;
336
337 static oop real_forwardee_slow(oop obj);
338 static void waste_some_time();
339
340 void handle_promotion_failed(CMSHeap* gch, ParScanThreadStateSet& thread_state_set);
341
342 protected:
343
344 bool _survivor_overflow;
345
346 bool survivor_overflow() { return _survivor_overflow; }
347 void set_survivor_overflow(bool v) { _survivor_overflow = v; }
348
349 void restore_preserved_marks();
350
351 public:
352 ParNewGeneration(ReservedSpace rs, size_t initial_byte_size, GCMemoryManager* mem_mgr);
353
354 ~ParNewGeneration() {
355 for (uint i = 0; i < ParallelGCThreads; i++)
356 delete _task_queues->queue(i);
357
358 delete _task_queues;
359 }
360
361 virtual void ref_processor_init();
362 virtual Generation::Name kind() { return Generation::ParNew; }
363 virtual const char* name() const;
364 virtual const char* short_name() const { return "ParNew"; }
365
366 // override
367 virtual bool refs_discovery_is_mt() const {
368 return ParallelGCThreads > 1;
369 }
370
371 // Make the collection virtual.
372 virtual void collect(bool full,
|