comparison src/share/vm/gc_implementation/parNew/parNewGeneration.cpp @ 6595:aaf61e68b255

6818524: G1: use ergonomic resizing of PLABs Summary: Employ PLABStats instances to record information about survivor and old PLABs, and use the recorded stats to adjust the sizes of survivor and old PLABS. Reviewed-by: johnc, ysr Contributed-by: Brandon Mitchell <brandon@twitter.com>
author johnc
date Mon, 06 Aug 2012 12:20:14 -0700
parents d2a62e0f25eb
children da91efe96a93
comparison
equal deleted inserted replaced
6265:ef437ea56651 6595:aaf61e68b255
22 * 22 *
23 */ 23 */
24 24
25 #include "precompiled.hpp" 25 #include "precompiled.hpp"
26 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp" 26 #include "gc_implementation/concurrentMarkSweep/concurrentMarkSweepGeneration.hpp"
27 #include "gc_implementation/parNew/parGCAllocBuffer.hpp"
28 #include "gc_implementation/parNew/parNewGeneration.hpp" 27 #include "gc_implementation/parNew/parNewGeneration.hpp"
29 #include "gc_implementation/parNew/parOopClosures.inline.hpp" 28 #include "gc_implementation/parNew/parOopClosures.inline.hpp"
30 #include "gc_implementation/shared/adaptiveSizePolicy.hpp" 29 #include "gc_implementation/shared/adaptiveSizePolicy.hpp"
31 #include "gc_implementation/shared/ageTable.hpp" 30 #include "gc_implementation/shared/ageTable.hpp"
31 #include "gc_implementation/shared/parGCAllocBuffer.hpp"
32 #include "gc_implementation/shared/spaceDecorator.hpp" 32 #include "gc_implementation/shared/spaceDecorator.hpp"
33 #include "memory/defNewGeneration.inline.hpp" 33 #include "memory/defNewGeneration.inline.hpp"
34 #include "memory/genCollectedHeap.hpp" 34 #include "memory/genCollectedHeap.hpp"
35 #include "memory/genOopClosures.inline.hpp" 35 #include "memory/genOopClosures.inline.hpp"
36 #include "memory/generation.hpp" 36 #include "memory/generation.hpp"
451 451
452 // Flush stats related to To-space PLAB activity and 452 // Flush stats related to To-space PLAB activity and
453 // retire the last buffer. 453 // retire the last buffer.
454 par_scan_state.to_space_alloc_buffer()-> 454 par_scan_state.to_space_alloc_buffer()->
455 flush_stats_and_retire(_gen.plab_stats(), 455 flush_stats_and_retire(_gen.plab_stats(),
456 false /* !retain */); 456 true /* end_of_gc */,
457 false /* retain */);
457 458
458 // Every thread has its own age table. We need to merge 459 // Every thread has its own age table. We need to merge
459 // them all into one. 460 // them all into one.
460 ageTable *local_table = par_scan_state.age_table(); 461 ageTable *local_table = par_scan_state.age_table();
461 _gen.age_table()->merge(local_table); 462 _gen.age_table()->merge(local_table);