comparison src/share/vm/gc_implementation/g1/heapRegion.cpp @ 6754:8fbf05030e24

7016955: G1: remove the is_zeroed parameter from the HeapRegion constructor Summary: The is_zeroed parameter is no longer used and so can be removed. Reviewed-by: johnc, jmasa, brutisso Contributed-by: Brandon Mitchell <brandon@twitter.com>
author johnc
date Wed, 19 Sep 2012 08:48:10 -0700
parents da91efe96a93
children e522a00b91aa 3a4805ad0005
comparison
equal deleted inserted replaced
6753:8da5e203b993 6754:8fbf05030e24
474 } 474 }
475 assert(low == high && low >= addr, "Didn't work."); 475 assert(low == high && low >= addr, "Didn't work.");
476 return low; 476 return low;
477 } 477 }
478 478
479 void HeapRegion::initialize(MemRegion mr, bool clear_space, bool mangle_space) {
480 G1OffsetTableContigSpace::initialize(mr, false, mangle_space);
481 hr_clear(false/*par*/, clear_space);
482 }
483 #ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away 479 #ifdef _MSC_VER // the use of 'this' below gets a warning, make it go away
484 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list 480 #pragma warning( disable:4355 ) // 'this' : used in base member initializer list
485 #endif // _MSC_VER 481 #endif // _MSC_VER
486 482
487 483
488 HeapRegion::HeapRegion(uint hrs_index, 484 HeapRegion::HeapRegion(uint hrs_index,
489 G1BlockOffsetSharedArray* sharedOffsetArray, 485 G1BlockOffsetSharedArray* sharedOffsetArray,
490 MemRegion mr, bool is_zeroed) : 486 MemRegion mr) :
491 G1OffsetTableContigSpace(sharedOffsetArray, mr, is_zeroed), 487 G1OffsetTableContigSpace(sharedOffsetArray, mr),
492 _hrs_index(hrs_index), 488 _hrs_index(hrs_index),
493 _humongous_type(NotHumongous), _humongous_start_region(NULL), 489 _humongous_type(NotHumongous), _humongous_start_region(NULL),
494 _in_collection_set(false), 490 _in_collection_set(false),
495 _next_in_special_set(NULL), _orig_end(NULL), 491 _next_in_special_set(NULL), _orig_end(NULL),
496 _claimed(InitialClaimValue), _evacuation_failed(false), 492 _claimed(InitialClaimValue), _evacuation_failed(false),
505 _predicted_bytes_to_copy(0) 501 _predicted_bytes_to_copy(0)
506 { 502 {
507 _orig_end = mr.end(); 503 _orig_end = mr.end();
508 // Note that initialize() will set the start of the unmarked area of the 504 // Note that initialize() will set the start of the unmarked area of the
509 // region. 505 // region.
510 this->initialize(mr, !is_zeroed, SpaceDecorator::Mangle); 506 hr_clear(false /*par*/, false /*clear_space*/);
511 set_top(bottom()); 507 set_top(bottom());
512 set_saved_mark(); 508 set_saved_mark();
513 509
514 _rem_set = new HeapRegionRemSet(sharedOffsetArray, this); 510 _rem_set = new HeapRegionRemSet(sharedOffsetArray, this);
515 511
906 } 902 }
907 903
908 // G1OffsetTableContigSpace code; copied from space.cpp. Hope this can go 904 // G1OffsetTableContigSpace code; copied from space.cpp. Hope this can go
909 // away eventually. 905 // away eventually.
910 906
911 void G1OffsetTableContigSpace::initialize(MemRegion mr, bool clear_space, bool mangle_space) {
912 // false ==> we'll do the clearing if there's clearing to be done.
913 ContiguousSpace::initialize(mr, false, mangle_space);
914 _offsets.zero_bottom_entry();
915 _offsets.initialize_threshold();
916 if (clear_space) clear(mangle_space);
917 }
918
919 void G1OffsetTableContigSpace::clear(bool mangle_space) { 907 void G1OffsetTableContigSpace::clear(bool mangle_space) {
920 ContiguousSpace::clear(mangle_space); 908 ContiguousSpace::clear(mangle_space);
921 _offsets.zero_bottom_entry(); 909 _offsets.zero_bottom_entry();
922 _offsets.initialize_threshold(); 910 _offsets.initialize_threshold();
923 } 911 }
981 } 969 }
982 } 970 }
983 971
984 G1OffsetTableContigSpace:: 972 G1OffsetTableContigSpace::
985 G1OffsetTableContigSpace(G1BlockOffsetSharedArray* sharedOffsetArray, 973 G1OffsetTableContigSpace(G1BlockOffsetSharedArray* sharedOffsetArray,
986 MemRegion mr, bool is_zeroed) : 974 MemRegion mr) :
987 _offsets(sharedOffsetArray, mr), 975 _offsets(sharedOffsetArray, mr),
988 _par_alloc_lock(Mutex::leaf, "OffsetTableContigSpace par alloc lock", true), 976 _par_alloc_lock(Mutex::leaf, "OffsetTableContigSpace par alloc lock", true),
989 _gc_time_stamp(0) 977 _gc_time_stamp(0)
990 { 978 {
991 _offsets.set_space(this); 979 _offsets.set_space(this);
992 initialize(mr, !is_zeroed, SpaceDecorator::Mangle); 980 // false ==> we'll do the clearing if there's clearing to be done.
993 } 981 ContiguousSpace::initialize(mr, false, SpaceDecorator::Mangle);
982 _offsets.zero_bottom_entry();
983 _offsets.initialize_threshold();
984 }