Merge pull request #4948 from lioncash/page-resize
virtual_buffer: Do nothing on resize() calls with same sizes
This commit is contained in:
commit
6971d08893
1 changed files with 6 additions and 1 deletions
|
@ -43,9 +43,14 @@ public:
|
||||||
}
|
}
|
||||||
|
|
||||||
void resize(std::size_t count) {
|
void resize(std::size_t count) {
|
||||||
|
const auto new_size = count * sizeof(T);
|
||||||
|
if (new_size == alloc_size) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
FreeMemoryPages(base_ptr, alloc_size);
|
FreeMemoryPages(base_ptr, alloc_size);
|
||||||
|
|
||||||
alloc_size = count * sizeof(T);
|
alloc_size = new_size;
|
||||||
base_ptr = reinterpret_cast<T*>(AllocateMemoryPages(alloc_size));
|
base_ptr = reinterpret_cast<T*>(AllocateMemoryPages(alloc_size));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue