Changeset View
Changeset View
Standalone View
Standalone View
head/sys/vm/vm_map.c
Show First 20 Lines • Show All 3,758 Lines • ▼ Show 20 Lines | if (src_entry->wired_count == 0 || | ||||
/* | /* | ||||
* Make a copy of the object. | * Make a copy of the object. | ||||
*/ | */ | ||||
size = src_entry->end - src_entry->start; | size = src_entry->end - src_entry->start; | ||||
if ((src_object = src_entry->object.vm_object) != NULL) { | if ((src_object = src_entry->object.vm_object) != NULL) { | ||||
VM_OBJECT_WLOCK(src_object); | VM_OBJECT_WLOCK(src_object); | ||||
charged = ENTRY_CHARGED(src_entry); | charged = ENTRY_CHARGED(src_entry); | ||||
if (src_object->handle == NULL && | if ((src_object->flags & OBJ_ANON) != 0) { | ||||
(src_object->flags & OBJ_ANON) != 0) { | |||||
vm_object_collapse(src_object); | vm_object_collapse(src_object); | ||||
if ((src_object->flags & OBJ_ONEMAPPING) != 0) { | if ((src_object->flags & OBJ_ONEMAPPING) != 0) { | ||||
vm_object_split(src_entry); | vm_object_split(src_entry); | ||||
src_object = | src_object = | ||||
src_entry->object.vm_object; | src_entry->object.vm_object; | ||||
} | } | ||||
} | } | ||||
vm_object_reference_locked(src_object); | vm_object_reference_locked(src_object); | ||||
▲ Show 20 Lines • Show All 1,215 Lines • Show Last 20 Lines |