|
Broom 1.0.0
A thread-local C++ Garbage Collector
|
#include <allocator.h>


Public Member Functions | |
| FreeListAllocator (size_t space_size=kDefaultSpaceSize, size_t large_space_size=kDefaultLargeSpaceSize, size_t large_space_threshold=kDefaultLargeSpaceThreshold) | |
| virtual | ~FreeListAllocator () |
| virtual bool | Grow (size_t requested_size, MemorySpace **space_to_update) override |
| virtual void * | Allocate (size_t requested_size) override |
| virtual void | Dispose (void *definitely_uintptr) override |
| virtual size_t | LargeSpaceThreshold () const override |
| virtual const void * | GetBasePointerOfMaybeInnerPointer (const void *maybe_inner) const override |
Public Member Functions inherited from broom::Allocator | |
| virtual | ~Allocator ()=default |
| MemoryPressure | CalculateMemoryPressure () const |
Protected Types | |
| using | FreeList = absl::btree_multiset< MemoryRegion, MemoryRegion::SetCompare > |
Static Protected Member Functions | |
| static constexpr size_t | MaximumAllocationSize () |
| static constexpr size_t | GetRealAllocationSize (size_t requested_size) |
Static Protected Member Functions inherited from broom::Allocator | |
| static void | PinBasePointer (const void *pointer, uint32_t how_many) |
| static void | UnpinBasePointer (const void *pointer) |
| static bool | IsPinnedBasePointer (const void *pointer) |
| static size_t | SpaceMask (size_t space_size) |
Protected Attributes | |
| std::vector< MemorySpace > | spaces_ |
| std::vector< MemorySpace > | large_spaces_ |
| size_t | space_size_ |
| size_t | large_space_size_ |
| size_t | large_space_threshold_ |
| MemorySpace * | current_space_ = nullptr |
| MemorySpace * | current_large_space_ = nullptr |
| FreeList | free_list_ |
| FreeList | large_free_list_ |
Protected Attributes inherited from broom::Allocator | |
| AllocatorStatistics | stats_ |
Static Protected Attributes | |
| static constexpr const size_t | kLargeSpaceThreshold = 1 * MB |
Additional Inherited Members | |
Static Public Attributes inherited from broom::Allocator | |
| static constexpr const int | kFrontMetadataSize |
| static constexpr const int | kBackMetadataSize = sizeof(AllocatorBackMetadata) |
| static constexpr const int | kTotalMetadataSize |
| static constexpr const size_t | kDefaultSpaceSize = 2 * MB |
| static constexpr const size_t | kDefaultLargeSpaceSize = 64 * MB |
| static constexpr const size_t | kDefaultLargeSpaceThreshold = 1 * MB |
| static constexpr const MemoryPermissions | kDefaultPermissions |
| static constexpr const size_t | kGiantMappingSize = kDefaultLargeSpaceSize |
Definition at line 309 of file allocator.h.
|
protected |
Definition at line 336 of file allocator.h.
|
inlineexplicit |
Definition at line 311 of file allocator.h.
|
virtual |
Definition at line 10 of file allocator-inl.h.
|
protected |
Definition at line 329 of file allocator-inl.h.
|
protected |
Definition at line 359 of file allocator-inl.h.
|
protected |
Definition at line 322 of file allocator-inl.h.
|
overridevirtual |
Implements broom::Allocator.
Definition at line 285 of file allocator-inl.h.
|
protected |
Definition at line 237 of file allocator-inl.h.
Implements broom::Allocator.
Definition at line 613 of file allocator-inl.h.
Definition at line 471 of file allocator-inl.h.
|
protected |
Definition at line 200 of file allocator-inl.h.
|
inlineprotected |
Definition at line 346 of file allocator.h.
|
overridevirtual |
Implements broom::Allocator.
Definition at line 624 of file allocator-inl.h.
|
inlinestaticconstexprprotected |
Definition at line 390 of file allocator.h.
|
overridevirtual |
Implements broom::Allocator.
Definition at line 22 of file allocator-inl.h.
|
inlineoverridevirtual |
Implements broom::Allocator.
Definition at line 328 of file allocator.h.
|
inlinestaticconstexprprotected |
Definition at line 385 of file allocator.h.
|
protected |
Definition at line 121 of file allocator-inl.h.
|
protected |
Definition at line 155 of file allocator-inl.h.
|
protected |
Definition at line 194 of file allocator-inl.h.
|
protected |
Definition at line 178 of file allocator-inl.h.
|
protected |
Definition at line 190 of file allocator-inl.h.
|
protected |
Definition at line 404 of file allocator.h.
|
protected |
Definition at line 403 of file allocator.h.
|
protected |
Definition at line 405 of file allocator.h.
|
staticconstexprprotected |
Definition at line 384 of file allocator.h.
|
protected |
Definition at line 406 of file allocator.h.
|
protected |
Definition at line 401 of file allocator.h.
|
protected |
Definition at line 402 of file allocator.h.
|
protected |
Definition at line 399 of file allocator.h.
|
protected |
Definition at line 400 of file allocator.h.
|
protected |
Definition at line 398 of file allocator.h.