 Chromium Code Reviews
 Chromium Code Reviews Issue 7671034:
  doubly-linked free-lists for thread caches and page heaps  (Closed) 
  Base URL: http://git.chromium.org/git/chromium.git@trunk
    
  
    Issue 7671034:
  doubly-linked free-lists for thread caches and page heaps  (Closed) 
  Base URL: http://git.chromium.org/git/chromium.git@trunk| Index: third_party/tcmalloc/chromium/src/tcmalloc.cc | 
| diff --git a/third_party/tcmalloc/chromium/src/tcmalloc.cc b/third_party/tcmalloc/chromium/src/tcmalloc.cc | 
| index e88f983292714c2afa2be6e939c5ae0958cdc894..cf8a9be4147daf3c3eb4c8449c4a7238a74bbb97 100644 | 
| --- a/third_party/tcmalloc/chromium/src/tcmalloc.cc | 
| +++ b/third_party/tcmalloc/chromium/src/tcmalloc.cc | 
| @@ -1,4 +1,4 @@ | 
| -// Copyright (c) 2005, Google Inc. | 
| +// Copyright (c) 2011, Google Inc. | 
| // All rights reserved. | 
| // | 
| // Redistribution and use in source and binary forms, with or without | 
| @@ -89,6 +89,7 @@ | 
| #include "config.h" | 
| #include <google/tcmalloc.h> | 
| 
jar (doing other things)
2011/08/20 02:40:30
nit: don't add extra line.
 
bxx
2011/08/24 00:19:24
Done.
 | 
| + | 
| #include <errno.h> // for ENOMEM, EINVAL, errno | 
| #ifdef HAVE_SYS_CDEFS_H | 
| #include <sys/cdefs.h> // for __THROW | 
| @@ -122,8 +123,8 @@ | 
| #include "base/spinlock.h" // for SpinLockHolder | 
| #include "central_freelist.h" // for CentralFreeListPadded | 
| #include "common.h" // for StackTrace, kPageShift, etc | 
| +#include "free_list.h" // for FL_Init | 
| #include "internal_logging.h" // for ASSERT, TCMalloc_Printer, etc | 
| -#include "linked_list.h" // for SLL_SetNext | 
| #include "malloc_hook-inl.h" // for MallocHook::InvokeNewHook, etc | 
| #include "page_heap.h" // for PageHeap, PageHeap::Stats | 
| #include "page_heap_allocator.h" // for PageHeapAllocator | 
| @@ -1227,7 +1228,7 @@ inline void do_free_with_callback(void* ptr, void (*invalid_free_fn)(void*)) { | 
| heap->Deallocate(ptr, cl); | 
| } else { | 
| // Delete directly into central cache | 
| - tcmalloc::SLL_SetNext(ptr, NULL); | 
| + tcmalloc::FL_Init(ptr); | 
| Static::central_cache()[cl].InsertRange(ptr, ptr, 1); | 
| } | 
| } else { |