From 47e44a6693ad2e8c7fbdaa23ed440d9780e1d54b Mon Sep 17 00:00:00 2001 From: Liam Date: Sun, 24 Dec 2023 19:30:16 -0500 Subject: [PATCH] am/jit: reference memory instance from context --- src/core/hle/service/am/am.cpp | 6 ++---- src/core/hle/service/hle_ipc.h | 4 ++++ src/core/hle/service/jit/jit.cpp | 2 +- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/src/core/hle/service/am/am.cpp b/src/core/hle/service/am/am.cpp index dabec11193..97eb56ff0b 100644 --- a/src/core/hle/service/am/am.cpp +++ b/src/core/hle/service/am/am.cpp @@ -1523,8 +1523,7 @@ void ILibraryAppletCreator::CreateTransferMemoryStorage(HLERequestContext& ctx) } std::vector memory(transfer_mem->GetSize()); - system.ApplicationMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), - memory.size()); + ctx.GetMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), memory.size()); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(ResultSuccess); @@ -1556,8 +1555,7 @@ void ILibraryAppletCreator::CreateHandleStorage(HLERequestContext& ctx) { } std::vector memory(transfer_mem->GetSize()); - system.ApplicationMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), - memory.size()); + ctx.GetMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), memory.size()); IPC::ResponseBuilder rb{ctx, 2, 0, 1}; rb.Push(ResultSuccess); diff --git a/src/core/hle/service/hle_ipc.h b/src/core/hle/service/hle_ipc.h index 69a3cce360..40d86943e0 100644 --- a/src/core/hle/service/hle_ipc.h +++ b/src/core/hle/service/hle_ipc.h @@ -360,6 +360,10 @@ public: return *thread; } + [[nodiscard]] Core::Memory::Memory& GetMemory() const { + return memory; + } + template Kernel::KScopedAutoObject GetObjectFromHandle(u32 handle) { auto obj = client_handle_table->GetObjectForIpc(handle, thread); diff --git a/src/core/hle/service/jit/jit.cpp b/src/core/hle/service/jit/jit.cpp index 8648c76fa9..a94d05e197 100644 --- a/src/core/hle/service/jit/jit.cpp +++ b/src/core/hle/service/jit/jit.cpp @@ -26,7 +26,7 @@ public: explicit IJitEnvironment(Core::System& system_, Kernel::KProcess& process_, CodeRange user_rx, CodeRange user_ro) : ServiceFramework{system_, "IJitEnvironment"}, process{&process_}, - context{system_.ApplicationMemory()} { + context{process->GetMemory()} { // clang-format off static const FunctionInfo functions[] = { {0, &IJitEnvironment::GenerateCode, "GenerateCode"},