mods based on suggestion/feedback

This commit is contained in:
Elias Bachaalany
2025-01-19 13:57:45 -08:00
parent 8053889d20
commit 8b3c0755b1
2 changed files with 12 additions and 29 deletions

View File

@@ -215,9 +215,7 @@ bool memory_manager::protect_memory(const uint64_t address, const size_t size, c
merge_regions(committed_regions);
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}
@@ -242,9 +240,7 @@ bool memory_manager::allocate_mmio(const uint64_t address, const size_t size, mm
entry->second.committed_regions[address] = committed_region{size, memory_permission::read_write};
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}
@@ -270,9 +266,7 @@ bool memory_manager::allocate_memory(const uint64_t address, const size_t size,
entry->second.committed_regions[address] = committed_region{size, memory_permission::read_write};
}
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}
@@ -334,9 +328,7 @@ bool memory_manager::commit_memory(const uint64_t address, const size_t size, co
merge_regions(committed_regions);
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}
@@ -384,9 +376,7 @@ bool memory_manager::decommit_memory(const uint64_t address, const size_t size)
++i;
}
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}
@@ -440,10 +430,7 @@ bool memory_manager::release_memory(const uint64_t address, size_t size)
}
this->reserved_regions_.erase(entry);
#if MOMO_REFLECTION_LEVEL > 0
inc_memory_layout_state_ver();
#endif
invalidate_memory_layout_state_version();
return true;
}

View File

@@ -1,9 +1,7 @@
#pragma once
#include <map>
#if MOMO_REFLECTION_LEVEL > 0
#include <atomic>
#include <cstdint>
#endif
#include "memory_region.hpp"
#include "address_utils.hpp"
@@ -127,12 +125,10 @@ class memory_manager
return reserved_regions_;
}
#if MOMO_REFLECTION_LEVEL > 0
std::uint64_t get_memory_layout_state_ver() const
{
return memory_layout_state_ver_.load(std::memory_order_relaxed);
return memory_layout_state_version_.load(std::memory_order_relaxed);
}
#endif
private:
reserved_region_map reserved_regions_{};
@@ -144,14 +140,14 @@ class memory_manager
virtual void apply_memory_protection(uint64_t address, size_t size, memory_permission permissions) = 0;
protected:
#if MOMO_REFLECTION_LEVEL > 0
std::atomic<std::uint64_t> memory_layout_state_ver_{0};
std::atomic<std::uint64_t> memory_layout_state_version_{0};
void inc_memory_layout_state_ver()
void invalidate_memory_layout_state_version()
{
memory_layout_state_ver_.fetch_add(1, std::memory_order_relaxed);
}
#if MOMO_REFLECTION_LEVEL > 0
memory_layout_state_version_.fetch_add(1, std::memory_order_relaxed);
#endif
}
void serialize_memory_state(utils::buffer_serializer& buffer, bool is_snapshot) const;
void deserialize_memory_state(utils::buffer_deserializer& buffer, bool is_snapshot);