Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Side by Side Diff: base/memory/discardable_memory_mac.cc

Issue 611153004: replace OVERRIDE and FINAL with override and final in base/ (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: CC_ -> BASE_ Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « base/memory/discardable_memory_emulated.h ('k') | base/memory/discardable_memory_malloc.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "base/memory/discardable_memory.h" 5 #include "base/memory/discardable_memory.h"
6 6
7 #include <mach/mach.h> 7 #include <mach/mach.h>
8 8
9 #include "base/basictypes.h" 9 #include "base/basictypes.h"
10 #include "base/compiler_specific.h" 10 #include "base/compiler_specific.h"
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 49
50 bool Initialize() { return Lock() != DISCARDABLE_MEMORY_LOCK_STATUS_FAILED; } 50 bool Initialize() { return Lock() != DISCARDABLE_MEMORY_LOCK_STATUS_FAILED; }
51 51
52 virtual ~DiscardableMemoryMac() { 52 virtual ~DiscardableMemoryMac() {
53 if (is_locked_) 53 if (is_locked_)
54 Unlock(); 54 Unlock();
55 g_shared_state.Pointer()->manager.Unregister(this); 55 g_shared_state.Pointer()->manager.Unregister(this);
56 } 56 }
57 57
58 // Overridden from DiscardableMemory: 58 // Overridden from DiscardableMemory:
59 virtual DiscardableMemoryLockStatus Lock() OVERRIDE { 59 virtual DiscardableMemoryLockStatus Lock() override {
60 DCHECK(!is_locked_); 60 DCHECK(!is_locked_);
61 61
62 bool purged = false; 62 bool purged = false;
63 if (!g_shared_state.Pointer()->manager.AcquireLock(this, &purged)) 63 if (!g_shared_state.Pointer()->manager.AcquireLock(this, &purged))
64 return DISCARDABLE_MEMORY_LOCK_STATUS_FAILED; 64 return DISCARDABLE_MEMORY_LOCK_STATUS_FAILED;
65 65
66 is_locked_ = true; 66 is_locked_ = true;
67 return purged ? DISCARDABLE_MEMORY_LOCK_STATUS_PURGED 67 return purged ? DISCARDABLE_MEMORY_LOCK_STATUS_PURGED
68 : DISCARDABLE_MEMORY_LOCK_STATUS_SUCCESS; 68 : DISCARDABLE_MEMORY_LOCK_STATUS_SUCCESS;
69 } 69 }
70 70
71 virtual void Unlock() OVERRIDE { 71 virtual void Unlock() override {
72 DCHECK(is_locked_); 72 DCHECK(is_locked_);
73 g_shared_state.Pointer()->manager.ReleaseLock(this); 73 g_shared_state.Pointer()->manager.ReleaseLock(this);
74 is_locked_ = false; 74 is_locked_ = false;
75 } 75 }
76 76
77 virtual void* Memory() const OVERRIDE { 77 virtual void* Memory() const override {
78 DCHECK(is_locked_); 78 DCHECK(is_locked_);
79 return reinterpret_cast<void*>(memory_.address()); 79 return reinterpret_cast<void*>(memory_.address());
80 } 80 }
81 81
82 // Overridden from internal::DiscardableMemoryManagerAllocation: 82 // Overridden from internal::DiscardableMemoryManagerAllocation:
83 virtual bool AllocateAndAcquireLock() OVERRIDE { 83 virtual bool AllocateAndAcquireLock() override {
84 kern_return_t ret; 84 kern_return_t ret;
85 bool persistent; 85 bool persistent;
86 if (!memory_.size()) { 86 if (!memory_.size()) {
87 vm_address_t address = 0; 87 vm_address_t address = 0;
88 ret = vm_allocate( 88 ret = vm_allocate(
89 mach_task_self(), 89 mach_task_self(),
90 &address, 90 &address,
91 bytes_, 91 bytes_,
92 VM_FLAGS_ANYWHERE | VM_FLAGS_PURGABLE | kDiscardableMemoryTag); 92 VM_FLAGS_ANYWHERE | VM_FLAGS_PURGABLE | kDiscardableMemoryTag);
93 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_allocate"; 93 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_allocate";
(...skipping 22 matching lines...) Expand all
116 memory_.address(), 116 memory_.address(),
117 VM_PURGABLE_SET_STATE, 117 VM_PURGABLE_SET_STATE,
118 &state); 118 &state);
119 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_purgable_control"; 119 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_purgable_control";
120 if (state & VM_PURGABLE_EMPTY) 120 if (state & VM_PURGABLE_EMPTY)
121 persistent = false; 121 persistent = false;
122 122
123 return persistent; 123 return persistent;
124 } 124 }
125 125
126 virtual void ReleaseLock() OVERRIDE { 126 virtual void ReleaseLock() override {
127 int state = VM_PURGABLE_VOLATILE | VM_VOLATILE_GROUP_DEFAULT; 127 int state = VM_PURGABLE_VOLATILE | VM_VOLATILE_GROUP_DEFAULT;
128 kern_return_t ret = vm_purgable_control(mach_task_self(), 128 kern_return_t ret = vm_purgable_control(mach_task_self(),
129 memory_.address(), 129 memory_.address(),
130 VM_PURGABLE_SET_STATE, 130 VM_PURGABLE_SET_STATE,
131 &state); 131 &state);
132 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_purgable_control"; 132 MACH_CHECK(ret == KERN_SUCCESS, ret) << "vm_purgable_control";
133 133
134 #if !defined(NDEBUG) 134 #if !defined(NDEBUG)
135 ret = vm_protect(mach_task_self(), 135 ret = vm_protect(mach_task_self(),
136 memory_.address(), 136 memory_.address(),
137 memory_.size(), 137 memory_.size(),
138 FALSE, 138 FALSE,
139 VM_PROT_NONE); 139 VM_PROT_NONE);
140 MACH_DCHECK(ret == KERN_SUCCESS, ret) << "vm_protect"; 140 MACH_DCHECK(ret == KERN_SUCCESS, ret) << "vm_protect";
141 #endif 141 #endif
142 } 142 }
143 143
144 virtual void Purge() OVERRIDE { 144 virtual void Purge() override {
145 memory_.reset(); 145 memory_.reset();
146 } 146 }
147 147
148 private: 148 private:
149 mac::ScopedMachVM memory_; 149 mac::ScopedMachVM memory_;
150 const size_t bytes_; 150 const size_t bytes_;
151 bool is_locked_; 151 bool is_locked_;
152 152
153 DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryMac); 153 DISALLOW_COPY_AND_ASSIGN(DiscardableMemoryMac);
154 }; 154 };
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
208 } 208 }
209 209
210 // static 210 // static
211 void DiscardableMemory::PurgeForTesting() { 211 void DiscardableMemory::PurgeForTesting() {
212 int state = 0; 212 int state = 0;
213 vm_purgable_control(mach_task_self(), 0, VM_PURGABLE_PURGE_ALL, &state); 213 vm_purgable_control(mach_task_self(), 0, VM_PURGABLE_PURGE_ALL, &state);
214 internal::DiscardableMemoryEmulated::PurgeForTesting(); 214 internal::DiscardableMemoryEmulated::PurgeForTesting();
215 } 215 }
216 216
217 } // namespace base 217 } // namespace base
OLDNEW
« no previous file with comments | « base/memory/discardable_memory_emulated.h ('k') | base/memory/discardable_memory_malloc.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698