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

Side by Side Diff: runtime/vm/freelist.cc

Issue 23072026: fix cpp11 compile errors (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/handles.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) 2011, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 #include "vm/freelist.h" 5 #include "vm/freelist.h"
6 6
7 #include <map> 7 #include <map>
8 #include <utility> 8 #include <utility>
9 9
10 #include "vm/bit_set.h" 10 #include "vm/bit_set.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 for (int i = 0; i < kNumLists; ++i) { 156 for (int i = 0; i < kNumLists; ++i) {
157 if (free_lists_[i] == NULL) { 157 if (free_lists_[i] == NULL) {
158 continue; 158 continue;
159 } 159 }
160 small_sizes += 1; 160 small_sizes += 1;
161 intptr_t list_length = Length(i); 161 intptr_t list_length = Length(i);
162 small_objects += list_length; 162 small_objects += list_length;
163 intptr_t list_bytes = list_length * i * kObjectAlignment; 163 intptr_t list_bytes = list_length * i * kObjectAlignment;
164 small_bytes += list_bytes; 164 small_bytes += list_bytes;
165 OS::Print("small %3d [%8d bytes] : " 165 OS::Print("small %3d [%8d bytes] : "
166 "%8"Pd" objs; %8.1f KB; %8.1f cum KB\n", 166 "%8" Pd " objs; %8.1f KB; %8.1f cum KB\n",
167 i, 167 i,
168 i * kObjectAlignment, 168 i * kObjectAlignment,
169 list_length, 169 list_length,
170 list_bytes / static_cast<double>(KB), 170 list_bytes / static_cast<double>(KB),
171 small_bytes / static_cast<double>(KB)); 171 small_bytes / static_cast<double>(KB));
172 } 172 }
173 } 173 }
174 174
175 175
176 void FreeList::PrintLarge() const { 176 void FreeList::PrintLarge() const {
(...skipping 11 matching lines...) Expand all
188 large_sizes += 1; 188 large_sizes += 1;
189 sorted.insert(std::make_pair(node->Size(), 1)); 189 sorted.insert(std::make_pair(node->Size(), 1));
190 } 190 }
191 large_objects += 1; 191 large_objects += 1;
192 } 192 }
193 for (it = sorted.begin(); it != sorted.end(); ++it) { 193 for (it = sorted.begin(); it != sorted.end(); ++it) {
194 intptr_t size = it->first; 194 intptr_t size = it->first;
195 intptr_t list_length = it->second; 195 intptr_t list_length = it->second;
196 intptr_t list_bytes = list_length * size; 196 intptr_t list_bytes = list_length * size;
197 large_bytes += list_bytes; 197 large_bytes += list_bytes;
198 OS::Print("large %3"Pd" [%8"Pd" bytes] : " 198 OS::Print("large %3" Pd " [%8" Pd " bytes] : "
199 "%8"Pd" objs; %8.1f KB; %8.1f cum KB\n", 199 "%8" Pd " objs; %8.1f KB; %8.1f cum KB\n",
200 size / kObjectAlignment, 200 size / kObjectAlignment,
201 size, 201 size,
202 list_length, 202 list_length,
203 list_bytes / static_cast<double>(KB), 203 list_bytes / static_cast<double>(KB),
204 large_bytes / static_cast<double>(KB)); 204 large_bytes / static_cast<double>(KB));
205 } 205 }
206 } 206 }
207 207
208 208
209 void FreeList::Print() const { 209 void FreeList::Print() const {
210 PrintSmall(); 210 PrintSmall();
211 PrintLarge(); 211 PrintLarge();
212 } 212 }
213 213
214 214
215 void FreeList::SplitElementAfterAndEnqueue(FreeListElement* element, 215 void FreeList::SplitElementAfterAndEnqueue(FreeListElement* element,
216 intptr_t size) { 216 intptr_t size) {
217 intptr_t remainder_size = element->Size() - size; 217 intptr_t remainder_size = element->Size() - size;
218 if (remainder_size == 0) return; 218 if (remainder_size == 0) return;
219 219
220 element = FreeListElement::AsElement(reinterpret_cast<uword>(element) + size, 220 element = FreeListElement::AsElement(reinterpret_cast<uword>(element) + size,
221 remainder_size); 221 remainder_size);
222 intptr_t remainder_index = IndexForSize(remainder_size); 222 intptr_t remainder_index = IndexForSize(remainder_size);
223 EnqueueElement(element, remainder_index); 223 EnqueueElement(element, remainder_index);
224 } 224 }
225 225
226 } // namespace dart 226 } // namespace dart
OLDNEW
« no previous file with comments | « runtime/vm/flow_graph_type_propagator.cc ('k') | runtime/vm/handles.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698