Lines Matching refs:source
405 bool MemMap::ReplaceWith(MemMap* source, /*out*/std::string* error) { in ReplaceWith() argument
407 UNUSED(source); in ReplaceWith()
411 CHECK(source != nullptr); in ReplaceWith()
412 CHECK(source->IsValid()); in ReplaceWith()
418 if (source->reuse_ || reuse_) { in ReplaceWith()
423 if (source->redzone_size_ != 0 || redzone_size_ != 0) { in ReplaceWith()
428 if (PointerDiff(BaseBegin(), Begin()) != PointerDiff(source->BaseBegin(), source->Begin())) { in ReplaceWith()
435 if (source->BaseBegin() > BaseBegin() && in ReplaceWith()
436 reinterpret_cast<uint8_t*>(BaseBegin()) + source->BaseSize() > in ReplaceWith()
437 reinterpret_cast<uint8_t*>(source->BaseBegin())) { in ReplaceWith()
442 int old_prot = source->GetProtect(); in ReplaceWith()
443 if (!source->Protect(GetProtect())) { in ReplaceWith()
449 void* res = mremap(/*old_address*/source->BaseBegin(), in ReplaceWith()
450 /*old_size*/source->BaseSize(), in ReplaceWith()
451 /*new_size*/source->BaseSize(), in ReplaceWith()
458 source->Protect(old_prot); in ReplaceWith()
466 size_t new_base_size = std::max(source->base_size_, base_size_); in ReplaceWith()
469 size_t source_size = source->size_; in ReplaceWith()
470 source->Invalidate(); in ReplaceWith()