vm_map_entry_resize_free, according to its intro comment, is for resizing a map entry in-place, without a call to vm_map_entry_link or _unlink. Nevertheless, vm_map.c often calls it after a call to vm_map_entry_unlink. Those calls are needed because those callers do not fix the start and end fields of the neighbor of the doomed node before unlinking it. Therefore, the unlink call sets wrong adj_free values for one of those neighbors, and vm_map_entry_resize_free is invoked after the start/end values are corrected, to fix adj_free.
This change seeks to drop three such calls to vm_map_entry_resize_free, by setting the start/end values correctly before the _unlink call.