[base] Extend SmallVector for use with Zone storage
This CL adds an Allocator to SmallVector to control how dynamic storage is managed. The default value uses the plain old C++ std::allocator<T>, i.e. acts like malloc/free. For use with zone memory, one can pass a ZoneAllocator as follows: // Allocates in zone memory. base::SmallVector<int, kInitialSize, ZoneAllocator<int>> xs(ZoneAllocator<int>(zone)); Note: this is a follow-up to crrev.com/c/3240823. Drive-by: hide the internal `reset` function. It doesn't free the dynamic backing store; that's a surprise and should not be exposed to external use. Change-Id: I1f92f184924541e2269493fb52c30f2fdec032be Reviewed-on: https://chromium-review.googlesource.com/c/v8/v8/+/3257711 Commit-Queue: Jakob Gruber <jgruber@chromium.org> Reviewed-by: Leszek Swirski <leszeks@chromium.org> Reviewed-by: Igor Sheludko <ishell@chromium.org> Cr-Commit-Position: refs/heads/main@{#77755}
Showing
Please
register
or
sign in
to comment