summaryrefslogtreecommitdiff
path: root/src/core/memory.cpp
diff options
context:
space:
mode:
authorGravatar Lioncash2018-07-18 19:02:47 -0400
committerGravatar Lioncash2018-07-18 19:34:31 -0400
commit46458e72846f2611f738e41ece6336472f5288d5 (patch)
treedf865f3749a15b3c7079d12d8e66df0fbb7ed05a /src/core/memory.cpp
parentMerge pull request #681 from lioncash/const (diff)
downloadyuzu-46458e72846f2611f738e41ece6336472f5288d5.tar.gz
yuzu-46458e72846f2611f738e41ece6336472f5288d5.tar.xz
yuzu-46458e72846f2611f738e41ece6336472f5288d5.zip
core/memory, core/hle/kernel: Use std::move where applicable
Avoids pointless copies
Diffstat (limited to 'src/core/memory.cpp')
-rw-r--r--src/core/memory.cpp8
1 files changed, 5 insertions, 3 deletions
diff --git a/src/core/memory.cpp b/src/core/memory.cpp
index 190ccc25c..86075249c 100644
--- a/src/core/memory.cpp
+++ b/src/core/memory.cpp
@@ -5,6 +5,8 @@
5#include <algorithm> 5#include <algorithm>
6#include <array> 6#include <array>
7#include <cstring> 7#include <cstring>
8#include <utility>
9
8#include <boost/optional.hpp> 10#include <boost/optional.hpp>
9#include "common/assert.h" 11#include "common/assert.h"
10#include "common/common_types.h" 12#include "common/common_types.h"
@@ -74,7 +76,7 @@ void MapIoRegion(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer
74 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special); 76 MapPages(page_table, base / PAGE_SIZE, size / PAGE_SIZE, nullptr, PageType::Special);
75 77
76 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 78 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
77 SpecialRegion region{SpecialRegion::Type::IODevice, mmio_handler}; 79 SpecialRegion region{SpecialRegion::Type::IODevice, std::move(mmio_handler)};
78 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region})); 80 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region}));
79} 81}
80 82
@@ -89,13 +91,13 @@ void UnmapRegion(PageTable& page_table, VAddr base, u64 size) {
89 91
90void AddDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { 92void AddDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) {
91 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 93 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
92 SpecialRegion region{SpecialRegion::Type::DebugHook, hook}; 94 SpecialRegion region{SpecialRegion::Type::DebugHook, std::move(hook)};
93 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region})); 95 page_table.special_regions.add(std::make_pair(interval, std::set<SpecialRegion>{region}));
94} 96}
95 97
96void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { 98void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) {
97 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1); 99 auto interval = boost::icl::discrete_interval<VAddr>::closed(base, base + size - 1);
98 SpecialRegion region{SpecialRegion::Type::DebugHook, hook}; 100 SpecialRegion region{SpecialRegion::Type::DebugHook, std::move(hook)};
99 page_table.special_regions.subtract(std::make_pair(interval, std::set<SpecialRegion>{region})); 101 page_table.special_regions.subtract(std::make_pair(interval, std::set<SpecialRegion>{region}));
100} 102}
101 103