Mercurial > hg > graal-jvmci-8
comparison src/share/vm/gc_implementation/g1/g1CollectedHeap.hpp @ 17755:96b1c2e06e25
8027295: Free CSet takes ~50% of young pause time
Summary: Improve fast card cache iteration and avoid taking locks when freeing the collection set.
Reviewed-by: brutisso
author | tschatzl |
---|---|
date | Mon, 24 Mar 2014 15:30:36 +0100 |
parents | 191174b49bec |
children | a07bea31ef35 |
comparison
equal
deleted
inserted
replaced
17754:d7070f371770 | 17755:96b1c2e06e25 |
---|---|
761 // adding it to the free list that's passed as a parameter (this is | 761 // adding it to the free list that's passed as a parameter (this is |
762 // usually a local list which will be appended to the master free | 762 // usually a local list which will be appended to the master free |
763 // list later). The used bytes of freed regions are accumulated in | 763 // list later). The used bytes of freed regions are accumulated in |
764 // pre_used. If par is true, the region's RSet will not be freed | 764 // pre_used. If par is true, the region's RSet will not be freed |
765 // up. The assumption is that this will be done later. | 765 // up. The assumption is that this will be done later. |
766 // The locked parameter indicates if the caller has already taken | |
767 // care of proper synchronization. This may allow some optimizations. | |
766 void free_region(HeapRegion* hr, | 768 void free_region(HeapRegion* hr, |
767 FreeRegionList* free_list, | 769 FreeRegionList* free_list, |
768 bool par); | 770 bool par, |
771 bool locked = false); | |
769 | 772 |
770 // Frees a humongous region by collapsing it into individual regions | 773 // Frees a humongous region by collapsing it into individual regions |
771 // and calling free_region() for each of them. The freed regions | 774 // and calling free_region() for each of them. The freed regions |
772 // will be added to the free list that's passed as a parameter (this | 775 // will be added to the free list that's passed as a parameter (this |
773 // is usually a local list which will be appended to the master free | 776 // is usually a local list which will be appended to the master free |