diff options
author | bunnei <bunneidev@gmail.com> | 2021-03-08 22:51:37 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-03-08 22:51:37 +0100 |
commit | 69ce5e41ebd266b2cd04cb609663eaca21c8ded9 (patch) | |
tree | ed8f8429c89814266ac72db1fdf7591d03ab4c9a /src/core/cpu_manager.cpp | |
parent | Merge pull request #6047 from lioncash/dynarmic (diff) | |
parent | common: Fiber: use a reference for YieldTo. (diff) | |
download | yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar.gz yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar.bz2 yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar.lz yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar.xz yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.tar.zst yuzu-69ce5e41ebd266b2cd04cb609663eaca21c8ded9.zip |
Diffstat (limited to '')
-rw-r--r-- | src/core/cpu_manager.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index 8f04fb8f5..bdb374792 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp @@ -148,7 +148,7 @@ void CpuManager::MultiCoreRunSuspendThread() { auto core = kernel.GetCurrentHostThreadID(); auto& scheduler = *kernel.CurrentScheduler(); Kernel::KThread* current_thread = scheduler.GetCurrentThread(); - Common::Fiber::YieldTo(current_thread->GetHostContext(), core_data[core].host_context); + Common::Fiber::YieldTo(current_thread->GetHostContext(), *core_data[core].host_context); ASSERT(scheduler.ContextSwitchPending()); ASSERT(core == kernel.GetCurrentHostThreadID()); scheduler.RescheduleCurrentCore(); @@ -245,7 +245,7 @@ void CpuManager::SingleCoreRunSuspendThread() { auto core = kernel.GetCurrentHostThreadID(); auto& scheduler = *kernel.CurrentScheduler(); Kernel::KThread* current_thread = scheduler.GetCurrentThread(); - Common::Fiber::YieldTo(current_thread->GetHostContext(), core_data[0].host_context); + Common::Fiber::YieldTo(current_thread->GetHostContext(), *core_data[0].host_context); ASSERT(scheduler.ContextSwitchPending()); ASSERT(core == kernel.GetCurrentHostThreadID()); scheduler.RescheduleCurrentCore(); @@ -271,7 +271,7 @@ void CpuManager::PreemptSingleCore(bool from_running_enviroment) { scheduler.Unload(scheduler.GetCurrentThread()); auto& next_scheduler = kernel.Scheduler(current_core); - Common::Fiber::YieldTo(current_thread->GetHostContext(), next_scheduler.ControlContext()); + Common::Fiber::YieldTo(current_thread->GetHostContext(), *next_scheduler.ControlContext()); } // May have changed scheduler @@ -363,7 +363,7 @@ void CpuManager::RunThread(std::size_t core) { auto current_thread = system.Kernel().CurrentScheduler()->GetCurrentThread(); data.is_running = true; - Common::Fiber::YieldTo(data.host_context, current_thread->GetHostContext()); + Common::Fiber::YieldTo(data.host_context, *current_thread->GetHostContext()); data.is_running = false; data.is_paused = true; data.exit_barrier->Wait(); |