diff options
| author | 2018-07-18 19:02:47 -0400 | |
|---|---|---|
| committer | 2018-07-18 19:34:31 -0400 | |
| commit | 46458e72846f2611f738e41ece6336472f5288d5 (patch) | |
| tree | df865f3749a15b3c7079d12d8e66df0fbb7ed05a /src/core/memory.cpp | |
| parent | Merge pull request #681 from lioncash/const (diff) | |
| download | yuzu-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.cpp | 8 |
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 | ||
| 90 | void AddDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { | 92 | void 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 | ||
| 96 | void RemoveDebugHook(PageTable& page_table, VAddr base, u64 size, MemoryHookPointer hook) { | 98 | void 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 | ||