From 12be2aa0b3496b0e7818ebf371cb23b90ee679fe Mon Sep 17 00:00:00 2001 From: Augustin Cavalier Date: Wed, 11 Dec 2024 14:17:14 -0500 Subject: [PATCH] kernel/vm: Fix and reactivate VMAnonymousNoSwapCache::Merge. It seems this method was never renamed when MergeStore was renamed to Merge all the way back in hrev27179. However, that wound up working out, because this method also didn't call the base class implementation that actually merges the page trees properly, so it wouldn't have worked anyway. --- src/system/kernel/vm/VMAnonymousNoSwapCache.cpp | 8 +++++--- src/system/kernel/vm/VMAnonymousNoSwapCache.h | 2 +- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp b/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp index 26549fae84..cd402fde25 100644 --- a/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp +++ b/src/system/kernel/vm/VMAnonymousNoSwapCache.cpp @@ -165,17 +165,17 @@ VMAnonymousNoSwapCache::Fault(struct VMAddressSpace* aspace, off_t offset) void -VMAnonymousNoSwapCache::MergeStore(VMCache* _source) +VMAnonymousNoSwapCache::Merge(VMCache* _source) { VMAnonymousNoSwapCache* source = dynamic_cast(_source); if (source == NULL) { - panic("VMAnonymousNoSwapCache::MergeStore(): merge with incompatible " + panic("VMAnonymousNoSwapCache::Merge(): merge with incompatible " "cache %p requested", _source); return; } - // take over the source' committed size + // take over the source's committed size committed_size += source->committed_size; source->committed_size = 0; @@ -184,6 +184,8 @@ VMAnonymousNoSwapCache::MergeStore(VMCache* _source) vm_unreserve_memory(committed_size - actualSize); committed_size = actualSize; } + + VMCache::Merge(source); } diff --git a/src/system/kernel/vm/VMAnonymousNoSwapCache.h b/src/system/kernel/vm/VMAnonymousNoSwapCache.h index ee92338448..762717e4db 100644 --- a/src/system/kernel/vm/VMAnonymousNoSwapCache.h +++ b/src/system/kernel/vm/VMAnonymousNoSwapCache.h @@ -39,7 +39,7 @@ public: virtual status_t Fault(struct VMAddressSpace* aspace, off_t offset); - virtual void MergeStore(VMCache* source); + virtual void Merge(VMCache* source); protected: virtual void DeleteObject();