More freelist refactoring, no functional changes