Lines Matching defs:prev_entry
1123 struct vm_map_entry *prev_entry;
1173 * Set prev_entry to what it will need to be after any existing
1177 if (uvm_map_lookup_entry(map, start, &prev_entry)) {
1178 if (start == prev_entry->start)
1179 prev_entry = prev_entry->prev;
1181 UVM_MAP_CLIP_END(map, prev_entry, start);
1182 SAVE_HINT(map, map->hint, prev_entry);
1185 prev_entry = uvm_map_findspace(map, start, size, &start,
1188 if (prev_entry == NULL) {
1256 args->uma_prev = prev_entry;
1277 struct vm_map_entry *prev_entry = args->uma_prev;
1304 KASSERT(map->hint == prev_entry); /* bimerge case assumes this */
1335 KASSERTMSG(prev_entry == tmp_entry,
1336 "args %p prev_entry %p tmp_entry %p",
1337 args, prev_entry, tmp_entry);
1339 SAVE_HINT(map, map->hint, prev_entry);
1351 if (prev_entry->end == start &&
1352 prev_entry != &map->header &&
1353 UVM_ET_ISCOMPATIBLE(prev_entry, newetype, uobj, 0,
1356 if (uobj && prev_entry->offset +
1357 (prev_entry->end - prev_entry->start) != uoffset)
1366 if (prev_entry->aref.ar_amap &&
1367 amap_refs(prev_entry->aref.ar_amap) != 1) {
1371 if (prev_entry->aref.ar_amap) {
1372 error = amap_extend(prev_entry, size,
1397 prev_entry->end += size;
1398 prev_entry->gap -= size;
1399 uvm_rb_fixup(map, prev_entry);
1408 if (prev_entry->next->start == (start + size) &&
1409 prev_entry->next != &map->header &&
1410 UVM_ET_ISCOMPATIBLE(prev_entry->next, newetype, uobj, 0,
1413 if (uobj && prev_entry->next->offset != uoffset + size)
1439 if (prev_entry->next->aref.ar_amap &&
1440 (amap_refs(prev_entry->next->aref.ar_amap) != 1 ||
1441 (merged && prev_entry->aref.ar_amap))) {
1452 if (prev_entry->aref.ar_amap) {
1453 if (amap_extend(prev_entry,
1454 prev_entry->next->end -
1455 prev_entry->next->start,
1470 else if (prev_entry->next->aref.ar_amap) {
1471 if (amap_extend(prev_entry->next,
1472 prev_entry->end -
1473 prev_entry->start,
1482 if (prev_entry->next->aref.ar_amap) {
1483 error = amap_extend(prev_entry->next, size,
1515 dead = prev_entry->next;
1516 prev_entry->end = dead->end;
1519 prev_entry->aref = dead->aref;
1523 prev_entry->next->start -= size;
1524 if (prev_entry != &map->header) {
1525 prev_entry->gap -= size;
1526 KASSERT(prev_entry->gap == uvm_rb_gap(prev_entry));
1527 uvm_rb_fixup(map, prev_entry);
1530 prev_entry->next->offset = uoffset;
1597 uvm_map_entry_link(map, prev_entry, new_entry);
1603 if ((map->first_free == prev_entry) &&
1604 (prev_entry->end >= new_entry->start))