yuzu-emu
/
yuzu-mainline
Archived
1
0
Fork 0

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:
Markus Wick 2020-01-11 13:52:34 +01:00
parent 80436c1330
commit c76ffa5019
1 changed files with 2 additions and 2 deletions

View File

@ -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)