| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "components/discardable_memory/client/client_discardable_shared_memory_
manager.h" | 5 #include "components/discardable_memory/client/client_discardable_shared_memory_
manager.h" |
| 6 | 6 |
| 7 #include <inttypes.h> | 7 #include <inttypes.h> |
| 8 | 8 |
| 9 #include <algorithm> | 9 #include <algorithm> |
| 10 #include <utility> | 10 #include <utility> |
| (...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 121 MemoryUsageChanged(0, 0); | 121 MemoryUsageChanged(0, 0); |
| 122 | 122 |
| 123 // Releasing the |heap_| before posting a task for deleting |manager_mojo_|. | 123 // Releasing the |heap_| before posting a task for deleting |manager_mojo_|. |
| 124 // It is because releasing |heap_| will invoke DeletedDiscardableSharedMemory | 124 // It is because releasing |heap_| will invoke DeletedDiscardableSharedMemory |
| 125 // which needs |manager_mojo_|. | 125 // which needs |manager_mojo_|. |
| 126 heap_.reset(); | 126 heap_.reset(); |
| 127 | 127 |
| 128 // Delete the |manager_mojo_| on IO thread, so any pending tasks on IO thread | 128 // Delete the |manager_mojo_| on IO thread, so any pending tasks on IO thread |
| 129 // will be executed before the |manager_mojo_| is deleted. | 129 // will be executed before the |manager_mojo_| is deleted. |
| 130 bool posted = io_task_runner_->DeleteSoon(FROM_HERE, manager_mojo_.release()); | 130 bool posted = io_task_runner_->DeleteSoon(FROM_HERE, manager_mojo_.release()); |
| 131 DCHECK(posted); | 131 if (!posted) |
| 132 manager_mojo_.reset(); |
| 132 } | 133 } |
| 133 | 134 |
| 134 std::unique_ptr<base::DiscardableMemory> | 135 std::unique_ptr<base::DiscardableMemory> |
| 135 ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory( | 136 ClientDiscardableSharedMemoryManager::AllocateLockedDiscardableMemory( |
| 136 size_t size) { | 137 size_t size) { |
| 137 base::AutoLock lock(lock_); | 138 base::AutoLock lock(lock_); |
| 138 | 139 |
| 139 DCHECK_NE(size, 0u); | 140 DCHECK_NE(size, 0u); |
| 140 | 141 |
| 141 auto size_in_kb = static_cast<base::HistogramBase::Sample>(size / 1024); | 142 auto size_in_kb = static_cast<base::HistogramBase::Sample>(size / 1024); |
| (...skipping 271 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 413 "discardable-memory-allocated"; | 414 "discardable-memory-allocated"; |
| 414 base::debug::SetCrashKeyValue(kDiscardableMemoryAllocatedKey, | 415 base::debug::SetCrashKeyValue(kDiscardableMemoryAllocatedKey, |
| 415 base::Uint64ToString(new_bytes_total)); | 416 base::Uint64ToString(new_bytes_total)); |
| 416 | 417 |
| 417 static const char kDiscardableMemoryFreeKey[] = "discardable-memory-free"; | 418 static const char kDiscardableMemoryFreeKey[] = "discardable-memory-free"; |
| 418 base::debug::SetCrashKeyValue(kDiscardableMemoryFreeKey, | 419 base::debug::SetCrashKeyValue(kDiscardableMemoryFreeKey, |
| 419 base::Uint64ToString(new_bytes_free)); | 420 base::Uint64ToString(new_bytes_free)); |
| 420 } | 421 } |
| 421 | 422 |
| 422 } // namespace discardable_memory | 423 } // namespace discardable_memory |
| OLD | NEW |