aboutsummaryrefslogtreecommitdiff
path: root/src/core/core_cpu.h
diff options
context:
space:
mode:
authorLioncash <mathew1800@gmail.com>2018-10-15 08:53:01 -0400
committerLioncash <mathew1800@gmail.com>2018-10-15 14:15:50 -0400
commit16a332fee0e19aaddb617fa36af2da85d7eb5378 (patch)
treeeb46f94603e38f81ccf443024357ad567d5ef15b /src/core/core_cpu.h
parent0575e2639a1b30d5fb774a7d613afc5de629a564 (diff)
core: Make the exclusive monitor a unique_ptr instead of a shared_ptr
Like the barrier, this is owned entirely by the System and will always outlive the encompassing state, so shared ownership semantics aren't necessary here.
Diffstat (limited to 'src/core/core_cpu.h')
-rw-r--r--src/core/core_cpu.h5
1 files changed, 2 insertions, 3 deletions
diff --git a/src/core/core_cpu.h b/src/core/core_cpu.h
index 68d83ac8f3..3d62de7cba 100644
--- a/src/core/core_cpu.h
+++ b/src/core/core_cpu.h
@@ -41,8 +41,7 @@ private:
class Cpu {
public:
- Cpu(std::shared_ptr<ExclusiveMonitor> exclusive_monitor, CpuBarrier& cpu_barrier,
- std::size_t core_index);
+ Cpu(ExclusiveMonitor& exclusive_monitor, CpuBarrier& cpu_barrier, std::size_t core_index);
~Cpu();
void RunLoop(bool tight_loop = true);
@@ -71,7 +70,7 @@ public:
return core_index;
}
- static std::shared_ptr<ExclusiveMonitor> MakeExclusiveMonitor(std::size_t num_cores);
+ static std::unique_ptr<ExclusiveMonitor> MakeExclusiveMonitor(std::size_t num_cores);
private:
void Reschedule();