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 |