lock-free object allocator