void PLAB::flush_and_retire_stats(PLABStats* stats) { // Retire the last allocation buffer. size_t unused = retire_internal(); // Now flush the statistics. stats->add_allocated(_allocated); stats->add_wasted(_wasted); stats->add_unused(unused); // Since we have flushed the stats we need to clear the _allocated and _wasted // fields in case somebody retains an instance of this over GCs. Not doing so // will artifically inflate the values in the statistics. _allocated = 0; _wasted = 0; }
void PLAB::retire() { _wasted += retire_internal(); }