| 127 | } |
| 128 | |
| 129 | void remove(void* addr) { |
| 130 | MGB_LOCK_GUARD(m_mtx); |
| 131 | auto iter = m_addr2size.find(reinterpret_cast<size_t>(addr)); |
| 132 | mgb_assert(iter != m_addr2size.end()); |
| 133 | m_cur_usage -= iter->second; |
| 134 | m_addr2size.erase(iter); |
| 135 | } |
| 136 | |
| 137 | size_t peak_usage() const { return m_peak_usage; } |
| 138 | }; |