forked from ShuriZma/suyu
core/kernel: Fix GetTotalPhysicalMemoryUsed.
module._memory was already moved over to a new shared_ptr.
So code_memory_size was not increased at all.
This lowers the heap space and so saves a bit of memory, usually between 50 to 100 MB.
This fixes a regression of c0a01f3adc
This commit is contained in:
parent
80436c1330
commit
c76ffa5019
|
@ -317,6 +317,8 @@ void Process::FreeTLSRegion(VAddr tls_address) {
|
||||||
}
|
}
|
||||||
|
|
||||||
void Process::LoadModule(CodeSet module_, VAddr base_addr) {
|
void Process::LoadModule(CodeSet module_, VAddr base_addr) {
|
||||||
|
code_memory_size += module_.memory.size();
|
||||||
|
|
||||||
const auto memory = std::make_shared<PhysicalMemory>(std::move(module_.memory));
|
const auto memory = std::make_shared<PhysicalMemory>(std::move(module_.memory));
|
||||||
|
|
||||||
const auto MapSegment = [&](const CodeSet::Segment& segment, VMAPermission permissions,
|
const auto MapSegment = [&](const CodeSet::Segment& segment, VMAPermission permissions,
|
||||||
|
@ -332,8 +334,6 @@ void Process::LoadModule(CodeSet module_, VAddr base_addr) {
|
||||||
MapSegment(module_.CodeSegment(), VMAPermission::ReadExecute, MemoryState::Code);
|
MapSegment(module_.CodeSegment(), VMAPermission::ReadExecute, MemoryState::Code);
|
||||||
MapSegment(module_.RODataSegment(), VMAPermission::Read, MemoryState::CodeData);
|
MapSegment(module_.RODataSegment(), VMAPermission::Read, MemoryState::CodeData);
|
||||||
MapSegment(module_.DataSegment(), VMAPermission::ReadWrite, MemoryState::CodeData);
|
MapSegment(module_.DataSegment(), VMAPermission::ReadWrite, MemoryState::CodeData);
|
||||||
|
|
||||||
code_memory_size += module_.memory.size();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
Process::Process(Core::System& system)
|
Process::Process(Core::System& system)
|
||||||
|
|
Loading…
Reference in New Issue