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

Side by Side Diff: third_party/tcmalloc/tcmalloc.cc

Issue 206017: Issue 172109: Enable scavenging in RenderThread::IdleHandler.... (Closed) Base URL: svn://chrome-svn/chrome/trunk/src/
Patch Set: '' Created 11 years, 3 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 | « third_party/tcmalloc/malloc_extension.cc ('k') | third_party/tcmalloc/tcmalloc.gyp » ('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) 2005, Google Inc. 1 // Copyright (c) 2005, 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 598 matching lines...) Expand 10 before | Expand all | Expand 10 after
609 609
610 virtual void MarkThreadIdle() { 610 virtual void MarkThreadIdle() {
611 ThreadCache::BecomeIdle(); 611 ThreadCache::BecomeIdle();
612 } 612 }
613 613
614 virtual void ReleaseFreeMemory() { 614 virtual void ReleaseFreeMemory() {
615 SpinLockHolder h(Static::pageheap_lock()); 615 SpinLockHolder h(Static::pageheap_lock());
616 Static::pageheap()->ReleaseFreePages(); 616 Static::pageheap()->ReleaseFreePages();
617 } 617 }
618 618
619 virtual void Scavenge() {
620 SpinLockHolder h(Static::pageheap_lock());
621 Static::pageheap()->Scavenge();
622 }
623
619 virtual void SetMemoryReleaseRate(double rate) { 624 virtual void SetMemoryReleaseRate(double rate) {
620 FLAGS_tcmalloc_release_rate = rate; 625 FLAGS_tcmalloc_release_rate = rate;
621 } 626 }
622 627
623 virtual double GetMemoryReleaseRate() { 628 virtual double GetMemoryReleaseRate() {
624 return FLAGS_tcmalloc_release_rate; 629 return FLAGS_tcmalloc_release_rate;
625 } 630 }
626 virtual size_t GetEstimatedAllocatedSize(size_t size) { 631 virtual size_t GetEstimatedAllocatedSize(size_t size) {
627 if (size <= kMaxSize) { 632 if (size <= kMaxSize) {
628 const size_t cl = Static::sizemap()->SizeClass(size); 633 const size_t cl = Static::sizemap()->SizeClass(size);
(...skipping 655 matching lines...) Expand 10 before | Expand all | Expand 10 after
1284 static void *MemalignOverride(size_t align, size_t size, const void *caller) 1289 static void *MemalignOverride(size_t align, size_t size, const void *caller)
1285 __THROW ATTRIBUTE_SECTION(google_malloc); 1290 __THROW ATTRIBUTE_SECTION(google_malloc);
1286 1291
1287 static void *MemalignOverride(size_t align, size_t size, const void *caller) 1292 static void *MemalignOverride(size_t align, size_t size, const void *caller)
1288 __THROW { 1293 __THROW {
1289 void* result = do_memalign(align, size); 1294 void* result = do_memalign(align, size);
1290 MallocHook::InvokeNewHook(result, size); 1295 MallocHook::InvokeNewHook(result, size);
1291 return result; 1296 return result;
1292 } 1297 }
1293 void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride; 1298 void *(*__memalign_hook)(size_t, size_t, const void *) = MemalignOverride;
OLDNEW
« no previous file with comments | « third_party/tcmalloc/malloc_extension.cc ('k') | third_party/tcmalloc/tcmalloc.gyp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698