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

Side by Side Diff: third_party/tcmalloc/vendor/src/common.h

Issue 9316021: Update the tcmalloc vendor branch to r144 (gperftools 2.0). (Closed) Base URL: http://git.chromium.org/git/chromium.git@trunk
Patch Set: Reuploading Created 8 years, 9 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
OLDNEW
1 // Copyright (c) 2008, Google Inc. 1 // Copyright (c) 2008, Google Inc.
2 // All rights reserved. 2 // All rights reserved.
3 // 3 //
4 // Redistribution and use in source and binary forms, with or without 4 // Redistribution and use in source and binary forms, with or without
5 // modification, are permitted provided that the following conditions are 5 // modification, are permitted provided that the following conditions are
6 // met: 6 // met:
7 // 7 //
8 // * Redistributions of source code must retain the above copyright 8 // * Redistributions of source code must retain the above copyright
9 // notice, this list of conditions and the following disclaimer. 9 // notice, this list of conditions and the following disclaimer.
10 // * Redistributions in binary form must reproduce the above 10 // * Redistributions in binary form must reproduce the above
(...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after
214 } 214 }
215 215
216 // Number of objects to move between a per-thread list and a central 216 // Number of objects to move between a per-thread list and a central
217 // list in one shot. We want this to be not too small so we can 217 // list in one shot. We want this to be not too small so we can
218 // amortize the lock overhead for accessing the central list. Making 218 // amortize the lock overhead for accessing the central list. Making
219 // it too big may temporarily cause unnecessary memory wastage in the 219 // it too big may temporarily cause unnecessary memory wastage in the
220 // per-thread free list until the scavenger cleans up the list. 220 // per-thread free list until the scavenger cleans up the list.
221 inline int num_objects_to_move(size_t cl) { 221 inline int num_objects_to_move(size_t cl) {
222 return num_objects_to_move_[cl]; 222 return num_objects_to_move_[cl];
223 } 223 }
224
225 // Dump contents of the computed size map
226 void Dump(TCMalloc_Printer* out);
227 }; 224 };
228 225
229 // Allocates "bytes" worth of memory and returns it. Increments 226 // Allocates "bytes" worth of memory and returns it. Increments
230 // metadata_system_bytes appropriately. May return NULL if allocation 227 // metadata_system_bytes appropriately. May return NULL if allocation
231 // fails. Requires pageheap_lock is held. 228 // fails. Requires pageheap_lock is held.
232 void* MetaDataAlloc(size_t bytes); 229 void* MetaDataAlloc(size_t bytes);
233 230
234 // Returns the total number of bytes allocated from the system. 231 // Returns the total number of bytes allocated from the system.
235 // Requires pageheap_lock is held. 232 // Requires pageheap_lock is held.
236 uint64_t metadata_system_bytes(); 233 uint64_t metadata_system_bytes();
237 234
238 // size/depth are made the same size as a pointer so that some generic 235 // size/depth are made the same size as a pointer so that some generic
239 // code below can conveniently cast them back and forth to void*. 236 // code below can conveniently cast them back and forth to void*.
240 static const int kMaxStackDepth = 31; 237 static const int kMaxStackDepth = 31;
241 struct StackTrace { 238 struct StackTrace {
242 uintptr_t size; // Size of object 239 uintptr_t size; // Size of object
243 uintptr_t depth; // Number of PC values stored in array below 240 uintptr_t depth; // Number of PC values stored in array below
244 void* stack[kMaxStackDepth]; 241 void* stack[kMaxStackDepth];
245 }; 242 };
246 243
247 } // namespace tcmalloc 244 } // namespace tcmalloc
248 245
249 #endif // TCMALLOC_COMMON_H_ 246 #endif // TCMALLOC_COMMON_H_
OLDNEW
« no previous file with comments | « third_party/tcmalloc/vendor/src/central_freelist.cc ('k') | third_party/tcmalloc/vendor/src/common.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698