diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/arm/arm_interface.cpp | 2 | ||||
| -rw-r--r-- | src/core/cpu_manager.cpp | 4 | ||||
| -rw-r--r-- | src/core/hle/kernel/svc.cpp | 3 |
3 files changed, 2 insertions, 7 deletions
diff --git a/src/core/arm/arm_interface.cpp b/src/core/arm/arm_interface.cpp index 9b5a5ca57..9a285dfc6 100644 --- a/src/core/arm/arm_interface.cpp +++ b/src/core/arm/arm_interface.cpp | |||
| @@ -107,6 +107,7 @@ void ARM_Interface::Run() { | |||
| 107 | } | 107 | } |
| 108 | 108 | ||
| 109 | // Otherwise, run the thread. | 109 | // Otherwise, run the thread. |
| 110 | system.EnterDynarmicProfile(); | ||
| 110 | if (current_thread->GetStepState() == StepState::StepPending) { | 111 | if (current_thread->GetStepState() == StepState::StepPending) { |
| 111 | hr = StepJit(); | 112 | hr = StepJit(); |
| 112 | 113 | ||
| @@ -116,6 +117,7 @@ void ARM_Interface::Run() { | |||
| 116 | } else { | 117 | } else { |
| 117 | hr = RunJit(); | 118 | hr = RunJit(); |
| 118 | } | 119 | } |
| 120 | system.ExitDynarmicProfile(); | ||
| 119 | 121 | ||
| 120 | // Notify the debugger and go to sleep if a breakpoint was hit. | 122 | // Notify the debugger and go to sleep if a breakpoint was hit. |
| 121 | if (Has(hr, breakpoint)) { | 123 | if (Has(hr, breakpoint)) { |
diff --git a/src/core/cpu_manager.cpp b/src/core/cpu_manager.cpp index b4718fbbe..132fe5b60 100644 --- a/src/core/cpu_manager.cpp +++ b/src/core/cpu_manager.cpp | |||
| @@ -113,12 +113,10 @@ void CpuManager::MultiCoreRunGuestLoop() { | |||
| 113 | 113 | ||
| 114 | while (true) { | 114 | while (true) { |
| 115 | auto* physical_core = &kernel.CurrentPhysicalCore(); | 115 | auto* physical_core = &kernel.CurrentPhysicalCore(); |
| 116 | system.EnterDynarmicProfile(); | ||
| 117 | while (!physical_core->IsInterrupted()) { | 116 | while (!physical_core->IsInterrupted()) { |
| 118 | physical_core->Run(); | 117 | physical_core->Run(); |
| 119 | physical_core = &kernel.CurrentPhysicalCore(); | 118 | physical_core = &kernel.CurrentPhysicalCore(); |
| 120 | } | 119 | } |
| 121 | system.ExitDynarmicProfile(); | ||
| 122 | { | 120 | { |
| 123 | Kernel::KScopedDisableDispatch dd(kernel); | 121 | Kernel::KScopedDisableDispatch dd(kernel); |
| 124 | physical_core->ArmInterface().ClearExclusiveState(); | 122 | physical_core->ArmInterface().ClearExclusiveState(); |
| @@ -166,12 +164,10 @@ void CpuManager::SingleCoreRunGuestLoop() { | |||
| 166 | auto& kernel = system.Kernel(); | 164 | auto& kernel = system.Kernel(); |
| 167 | while (true) { | 165 | while (true) { |
| 168 | auto* physical_core = &kernel.CurrentPhysicalCore(); | 166 | auto* physical_core = &kernel.CurrentPhysicalCore(); |
| 169 | system.EnterDynarmicProfile(); | ||
| 170 | if (!physical_core->IsInterrupted()) { | 167 | if (!physical_core->IsInterrupted()) { |
| 171 | physical_core->Run(); | 168 | physical_core->Run(); |
| 172 | physical_core = &kernel.CurrentPhysicalCore(); | 169 | physical_core = &kernel.CurrentPhysicalCore(); |
| 173 | } | 170 | } |
| 174 | system.ExitDynarmicProfile(); | ||
| 175 | kernel.SetIsPhantomModeForSingleCore(true); | 171 | kernel.SetIsPhantomModeForSingleCore(true); |
| 176 | system.CoreTiming().Advance(); | 172 | system.CoreTiming().Advance(); |
| 177 | kernel.SetIsPhantomModeForSingleCore(false); | 173 | kernel.SetIsPhantomModeForSingleCore(false); |
diff --git a/src/core/hle/kernel/svc.cpp b/src/core/hle/kernel/svc.cpp index 584fa5b1c..9956f2b51 100644 --- a/src/core/hle/kernel/svc.cpp +++ b/src/core/hle/kernel/svc.cpp | |||
| @@ -2982,7 +2982,6 @@ static const FunctionDef* GetSVCInfo64(u32 func_num) { | |||
| 2982 | } | 2982 | } |
| 2983 | 2983 | ||
| 2984 | void Call(Core::System& system, u32 immediate) { | 2984 | void Call(Core::System& system, u32 immediate) { |
| 2985 | system.ExitDynarmicProfile(); | ||
| 2986 | auto& kernel = system.Kernel(); | 2985 | auto& kernel = system.Kernel(); |
| 2987 | kernel.EnterSVCProfile(); | 2986 | kernel.EnterSVCProfile(); |
| 2988 | 2987 | ||
| @@ -3007,8 +3006,6 @@ void Call(Core::System& system, u32 immediate) { | |||
| 3007 | auto* host_context = thread->GetHostContext().get(); | 3006 | auto* host_context = thread->GetHostContext().get(); |
| 3008 | host_context->Rewind(); | 3007 | host_context->Rewind(); |
| 3009 | } | 3008 | } |
| 3010 | |||
| 3011 | system.EnterDynarmicProfile(); | ||
| 3012 | } | 3009 | } |
| 3013 | 3010 | ||
| 3014 | } // namespace Kernel::Svc | 3011 | } // namespace Kernel::Svc |