| Index: third_party/tcmalloc/chromium/src/thread_cache.cc
|
| diff --git a/third_party/tcmalloc/chromium/src/thread_cache.cc b/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| index b00e3b40f50a94775561cae571293beda6b7d493..0d7027b7a497f1ecafec9b8a279cd4941ef6d37e 100644
|
| --- a/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| +++ b/third_party/tcmalloc/chromium/src/thread_cache.cc
|
| @@ -1,4 +1,4 @@
|
| -// Copyright (c) 2008, Google Inc.
|
| +// Copyright (c) 2011, Google Inc.
|
| // All rights reserved.
|
| //
|
| // Redistribution and use in source and binary forms, with or without
|
| @@ -153,7 +153,10 @@ void* ThreadCache::FetchFromCentralCache(size_t cl, size_t byte_size) {
|
| ASSERT((start == NULL) == (fetch_count == 0));
|
| if (--fetch_count >= 0) {
|
| size_ += byte_size * fetch_count;
|
| - list->PushRange(fetch_count, SLL_Next(start), end);
|
| + // Pop the top of the list and add the rest to the freelist.
|
| + void *second = start;
|
| + start = FL_Pop(&second);
|
| + list->PushRange(fetch_count, second, end);
|
| }
|
|
|
| // Increase max length slowly up to batch_size. After that,
|
|
|