21 lines
		
	
	
		
			386 B
		
	
	
	
		
			C++
		
	
	
			
		
		
	
	
			21 lines
		
	
	
		
			386 B
		
	
	
	
		
			C++
		
	
	
namespace factor
 | 
						|
{
 | 
						|
 | 
						|
struct aging_space : bump_allocator<object> {
 | 
						|
	object_start_map starts;
 | 
						|
 | 
						|
	explicit aging_space(cell size, cell start) :
 | 
						|
		bump_allocator<object>(size,start), starts(size,start) {}
 | 
						|
 | 
						|
	object *allot(cell size)
 | 
						|
	{
 | 
						|
		if(here + size > end) return NULL;
 | 
						|
 | 
						|
		object *obj = bump_allocator<object>::allot(size);
 | 
						|
		starts.record_object_start_offset(obj);
 | 
						|
		return obj;
 | 
						|
	}
 | 
						|
};
 | 
						|
 | 
						|
}
 |