From 34c5db61aa140b83f781425da86cd84404c6bc1e Mon Sep 17 00:00:00 2001 From: Andreas Kling Date: Thu, 2 May 2019 23:34:28 +0200 Subject: [PATCH] Kernel: Simplify VMObject::is_anonymous(). This doesn't need a separate flag. A VMObject is always anonymous if it has no backing inode. --- Kernel/VM/VMObject.cpp | 7 ++----- Kernel/VM/VMObject.h | 5 ++--- 2 files changed, 4 insertions(+), 8 deletions(-) diff --git a/Kernel/VM/VMObject.cpp b/Kernel/VM/VMObject.cpp index a31edaac7da..72a193ce05e 100644 --- a/Kernel/VM/VMObject.cpp +++ b/Kernel/VM/VMObject.cpp @@ -33,7 +33,6 @@ Retained VMObject::clone() VMObject::VMObject(VMObject& other) : m_name(other.m_name) - , m_anonymous(other.m_anonymous) , m_inode_offset(other.m_inode_offset) , m_size(other.m_size) , m_inode(other.m_inode) @@ -43,16 +42,14 @@ VMObject::VMObject(VMObject& other) } VMObject::VMObject(size_t size) - : m_anonymous(true) - , m_size(size) + : m_size(size) { MM.register_vmo(*this); m_physical_pages.resize(page_count()); } VMObject::VMObject(PhysicalAddress paddr, size_t size) - : m_anonymous(true) - , m_size(size) + : m_size(size) { MM.register_vmo(*this); for (size_t i = 0; i < size; i += PAGE_SIZE) { diff --git a/Kernel/VM/VMObject.h b/Kernel/VM/VMObject.h index fcffb09f5ea..4a0fee7436d 100644 --- a/Kernel/VM/VMObject.h +++ b/Kernel/VM/VMObject.h @@ -22,7 +22,7 @@ public: Retained clone(); ~VMObject(); - bool is_anonymous() const { return m_anonymous; } + bool is_anonymous() const { return !m_inode; } Inode* inode() { return m_inode.ptr(); } const Inode* inode() const { return m_inode.ptr(); } @@ -49,10 +49,9 @@ private: template void for_each_region(Callback); String m_name; - bool m_anonymous { false }; + bool m_allow_cpu_caching { true }; off_t m_inode_offset { 0 }; size_t m_size { 0 }; - bool m_allow_cpu_caching { true }; RetainPtr m_inode; Vector> m_physical_pages; Lock m_paging_lock { "VMObject" };