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

Side by Side Diff: third_party/WebKit/Source/platform/graphics/ContiguousContainer.cpp

Issue 2807923002: Replace ASSERT, ASSERT_NOT_REACHED, and RELEASE_ASSERT in platform/graphics (Closed)
Patch Set: fix typo Created 3 years, 8 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
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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 "platform/graphics/ContiguousContainer.h" 5 #include "platform/graphics/ContiguousContainer.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <memory> 8 #include <memory>
9 #include "platform/wtf/Allocator.h" 9 #include "platform/wtf/Allocator.h"
10 #include "platform/wtf/ContainerAnnotations.h" 10 #include "platform/wtf/ContainerAnnotations.h"
(...skipping 22 matching lines...) Expand all
33 ANNOTATE_DELETE_BUFFER(begin_, capacity_, UsedCapacity()); 33 ANNOTATE_DELETE_BUFFER(begin_, capacity_, UsedCapacity());
34 WTF::Partitions::BufferFree(begin_); 34 WTF::Partitions::BufferFree(begin_);
35 } 35 }
36 36
37 size_t Capacity() const { return capacity_; } 37 size_t Capacity() const { return capacity_; }
38 size_t UsedCapacity() const { return end_ - begin_; } 38 size_t UsedCapacity() const { return end_ - begin_; }
39 size_t UnusedCapacity() const { return Capacity() - UsedCapacity(); } 39 size_t UnusedCapacity() const { return Capacity() - UsedCapacity(); }
40 bool IsEmpty() const { return UsedCapacity() == 0; } 40 bool IsEmpty() const { return UsedCapacity() == 0; }
41 41
42 void* Allocate(size_t object_size) { 42 void* Allocate(size_t object_size) {
43 ASSERT(UnusedCapacity() >= object_size); 43 DCHECK_GE(UnusedCapacity(), object_size);
44 ANNOTATE_CHANGE_SIZE(begin_, capacity_, UsedCapacity(), 44 ANNOTATE_CHANGE_SIZE(begin_, capacity_, UsedCapacity(),
45 UsedCapacity() + object_size); 45 UsedCapacity() + object_size);
46 void* result = end_; 46 void* result = end_;
47 end_ += object_size; 47 end_ += object_size;
48 return result; 48 return result;
49 } 49 }
50 50
51 void DeallocateLastObject(void* object) { 51 void DeallocateLastObject(void* object) {
52 RELEASE_ASSERT(begin_ <= object && object < end_); 52 CHECK_LE(begin_, object);
53 CHECK_LT(object, end_);
53 ANNOTATE_CHANGE_SIZE(begin_, capacity_, UsedCapacity(), 54 ANNOTATE_CHANGE_SIZE(begin_, capacity_, UsedCapacity(),
54 static_cast<char*>(object) - begin_); 55 static_cast<char*>(object) - begin_);
55 end_ = static_cast<char*>(object); 56 end_ = static_cast<char*>(object);
56 } 57 }
57 58
58 private: 59 private:
59 // m_begin <= m_end <= m_begin + m_capacity 60 // m_begin <= m_end <= m_begin + m_capacity
60 char* begin_; 61 char* begin_;
61 char* end_; 62 char* end_;
62 size_t capacity_; 63 size_t capacity_;
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
98 elements_.Capacity() * sizeof(elements_[0]); 99 elements_.Capacity() * sizeof(elements_[0]);
99 } 100 }
100 101
101 void ContiguousContainerBase::ReserveInitialCapacity(size_t buffer_size, 102 void ContiguousContainerBase::ReserveInitialCapacity(size_t buffer_size,
102 const char* type_name) { 103 const char* type_name) {
103 AllocateNewBufferForNextAllocation(buffer_size, type_name); 104 AllocateNewBufferForNextAllocation(buffer_size, type_name);
104 } 105 }
105 106
106 void* ContiguousContainerBase::Allocate(size_t object_size, 107 void* ContiguousContainerBase::Allocate(size_t object_size,
107 const char* type_name) { 108 const char* type_name) {
108 ASSERT(object_size <= max_object_size_); 109 DCHECK_LE(object_size, max_object_size_);
109 110
110 Buffer* buffer_for_alloc = nullptr; 111 Buffer* buffer_for_alloc = nullptr;
111 if (!buffers_.IsEmpty()) { 112 if (!buffers_.IsEmpty()) {
112 Buffer* end_buffer = buffers_[end_index_].get(); 113 Buffer* end_buffer = buffers_[end_index_].get();
113 if (end_buffer->UnusedCapacity() >= object_size) 114 if (end_buffer->UnusedCapacity() >= object_size)
114 buffer_for_alloc = end_buffer; 115 buffer_for_alloc = end_buffer;
115 else if (end_index_ + 1 < buffers_.size()) 116 else if (end_index_ + 1 < buffers_.size())
116 buffer_for_alloc = buffers_[++end_index_].get(); 117 buffer_for_alloc = buffers_[++end_index_].get();
117 } 118 }
118 119
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
161 while (end_index_ < buffers_.size() - 1) { 162 while (end_index_ < buffers_.size() - 1) {
162 DCHECK(buffers_.back()->IsEmpty()); 163 DCHECK(buffers_.back()->IsEmpty());
163 buffers_.pop_back(); 164 buffers_.pop_back();
164 } 165 }
165 } 166 }
166 167
167 ContiguousContainerBase::Buffer* 168 ContiguousContainerBase::Buffer*
168 ContiguousContainerBase::AllocateNewBufferForNextAllocation( 169 ContiguousContainerBase::AllocateNewBufferForNextAllocation(
169 size_t buffer_size, 170 size_t buffer_size,
170 const char* type_name) { 171 const char* type_name) {
171 ASSERT(buffers_.IsEmpty() || end_index_ == buffers_.size() - 1); 172 DCHECK(buffers_.IsEmpty() || end_index_ == buffers_.size() - 1);
172 std::unique_ptr<Buffer> new_buffer = 173 std::unique_ptr<Buffer> new_buffer =
173 WTF::MakeUnique<Buffer>(buffer_size, type_name); 174 WTF::MakeUnique<Buffer>(buffer_size, type_name);
174 Buffer* buffer_to_return = new_buffer.get(); 175 Buffer* buffer_to_return = new_buffer.get();
175 buffers_.push_back(std::move(new_buffer)); 176 buffers_.push_back(std::move(new_buffer));
176 end_index_ = buffers_.size() - 1; 177 end_index_ = buffers_.size() - 1;
177 return buffer_to_return; 178 return buffer_to_return;
178 } 179 }
179 180
180 } // namespace blink 181 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698