Lines Matching defs:start

420 VMUserAddressSpace::_RandomizeAddress(addr_t start, addr_t end,
423 ASSERT((start & addr_t(alignment - 1)) == 0);
424 ASSERT(start <= end);
426 if (start == end)
427 return start;
429 addr_t range = end - start + 1;
439 return start + random;
443 /*! Finds a reserved area that covers the region spanned by \a start and
448 VMUserAddressSpace::_InsertAreaIntoReservedRegion(addr_t start, size_t size,
451 VMUserArea* reserved = fAreas.FindClosest(start, true);
453 || !reserved->ContainsAddress(start)
454 || !reserved->ContainsAddress(start + size - 1)) {
468 if (start == reserved->Base()) {
482 } else if (start + size == reserved->Base() + reserved->Size()) {
485 reserved->SetSize(start - reserved->Base());
497 newReserved->SetBase(start + size);
499 reserved->Base() + reserved->Size() - start - size);
502 reserved->SetSize(start - reserved->Base());
507 area->SetBase(start);
518 VMUserAddressSpace::_InsertAreaSlot(addr_t start, addr_t size, addr_t end,
522 TRACE(("VMUserAddressSpace::_InsertAreaSlot: address space %p, start "
524 this, start, size, end, addressSpec, area));
527 if (start < fBase || size == 0 || end > fEndAddress
528 || start + (size - 1) > end)
533 status_t status = _InsertAreaIntoReservedRegion(start, size, area,
551 start = align_address(start, alignment);
558 originalStart = start;
559 start = _RandomizeAddress(start, end - size + 1, alignment, true);
561 && start <= fNextInsertHint && fNextInsertHint <= end - size + 1) {
562 originalStart = start;
563 start = fNextInsertHint;
566 // walk up to the spot where we should start searching
568 VMUserArea* next = fAreas.FindClosest(start + size, false);
570 ? fAreas.Previous(next) : fAreas.FindClosest(start + size, true);
590 addr_t alignedBase = align_address(start, alignment);
593 if (is_valid_spot(start, alignedBase, size, nextBase)) {
612 alignment, addressSpec, start);
636 alignment, addressSpec, start);
653 start = USER_BASE_ANY;
655 } else if (start == originalStart) {
656 start = USER_BASE_ANY;
659 start = originalStart;
665 && originalStart != 0 && start != originalStart) {
666 start = originalStart;
671 // TODO: it would make sense to start with the biggest of them
757 if ((last == NULL || last->Base() + (last->Size() - 1) < start)
758 && (next == NULL || next->Base() > start + (size - 1))) {
760 area->SetBase(start);