24 Dec
2014
24 Dec
'14
10:05 p.m.
On 12/23/2014 11:57 PM, Phil Bouchard wrote:
Greetings Boost,
I was talking to Filip Pizlo from the Webkit community and he pointed out that block_ptr is what we call a Region Based Memory Manager: http://en.wikipedia.org/wiki/Region-based_memory_management
If we consider the worse case scenario, the sets (regions) can be unified to create a really big set. So to make block_ptr hybrid we could add a "garbage collection layer" to detect cycles inside a set that is not yet destructed. This function could be called explicitly whenever some memory usage quota is reached. It's very easy to implement.
I meant to add a simple mark-sweep pass on top of block_ptr.