summaryrefslogtreecommitdiff
path: root/src/core
diff options
context:
space:
mode:
authorGravatar Liam2023-12-24 19:30:16 -0500
committerGravatar Liam2023-12-24 19:36:42 -0500
commit47e44a6693ad2e8c7fbdaa23ed440d9780e1d54b (patch)
treee5102e449dbec63dda46188ea2fe98691caef857 /src/core
parentkernel: remove unecessary process member from handle table (diff)
downloadyuzu-47e44a6693ad2e8c7fbdaa23ed440d9780e1d54b.tar.gz
yuzu-47e44a6693ad2e8c7fbdaa23ed440d9780e1d54b.tar.xz
yuzu-47e44a6693ad2e8c7fbdaa23ed440d9780e1d54b.zip
am/jit: reference memory instance from context
Diffstat (limited to 'src/core')
-rw-r--r--src/core/hle/service/am/am.cpp6
-rw-r--r--src/core/hle/service/hle_ipc.h4
-rw-r--r--src/core/hle/service/jit/jit.cpp2
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 dabec1119..97eb56ff0 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)
1523 } 1523 }
1524 1524
1525 std::vector<u8> memory(transfer_mem->GetSize()); 1525 std::vector<u8> memory(transfer_mem->GetSize());
1526 system.ApplicationMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), 1526 ctx.GetMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), memory.size());
1527 memory.size());
1528 1527
1529 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 1528 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
1530 rb.Push(ResultSuccess); 1529 rb.Push(ResultSuccess);
@@ -1556,8 +1555,7 @@ void ILibraryAppletCreator::CreateHandleStorage(HLERequestContext& ctx) {
1556 } 1555 }
1557 1556
1558 std::vector<u8> memory(transfer_mem->GetSize()); 1557 std::vector<u8> memory(transfer_mem->GetSize());
1559 system.ApplicationMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), 1558 ctx.GetMemory().ReadBlock(transfer_mem->GetSourceAddress(), memory.data(), memory.size());
1560 memory.size());
1561 1559
1562 IPC::ResponseBuilder rb{ctx, 2, 0, 1}; 1560 IPC::ResponseBuilder rb{ctx, 2, 0, 1};
1563 rb.Push(ResultSuccess); 1561 rb.Push(ResultSuccess);
diff --git a/src/core/hle/service/hle_ipc.h b/src/core/hle/service/hle_ipc.h
index 69a3cce36..40d86943e 100644
--- a/src/core/hle/service/hle_ipc.h
+++ b/src/core/hle/service/hle_ipc.h
@@ -360,6 +360,10 @@ public:
360 return *thread; 360 return *thread;
361 } 361 }
362 362
363 [[nodiscard]] Core::Memory::Memory& GetMemory() const {
364 return memory;
365 }
366
363 template <typename T> 367 template <typename T>
364 Kernel::KScopedAutoObject<T> GetObjectFromHandle(u32 handle) { 368 Kernel::KScopedAutoObject<T> GetObjectFromHandle(u32 handle) {
365 auto obj = client_handle_table->GetObjectForIpc(handle, thread); 369 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 8648c76fa..a94d05e19 100644
--- a/src/core/hle/service/jit/jit.cpp
+++ b/src/core/hle/service/jit/jit.cpp
@@ -26,7 +26,7 @@ public:
26 explicit IJitEnvironment(Core::System& system_, Kernel::KProcess& process_, CodeRange user_rx, 26 explicit IJitEnvironment(Core::System& system_, Kernel::KProcess& process_, CodeRange user_rx,
27 CodeRange user_ro) 27 CodeRange user_ro)
28 : ServiceFramework{system_, "IJitEnvironment"}, process{&process_}, 28 : ServiceFramework{system_, "IJitEnvironment"}, process{&process_},
29 context{system_.ApplicationMemory()} { 29 context{process->GetMemory()} {
30 // clang-format off 30 // clang-format off
31 static const FunctionInfo functions[] = { 31 static const FunctionInfo functions[] = {
32 {0, &IJitEnvironment::GenerateCode, "GenerateCode"}, 32 {0, &IJitEnvironment::GenerateCode, "GenerateCode"},