@@ -369,7 +369,7 @@ index 2b94ac7..8ae5e76 100644
369
369
// We inherit rather than include the list as a data structure to reduce
370
370
// compiler padding. Without inheritance, the compiler pads the list
371
371
diff --git a/tcmalloc/transfer_cache.h b/tcmalloc/transfer_cache.h
372
- index b2b29d5..5af6dc8 100644
372
+ index b2b29d5..8bc9eee 100644
373
373
--- a/tcmalloc/transfer_cache.h
374
374
+++ b/tcmalloc/transfer_cache.h
375
375
@@ -415,6 +415,18 @@ class TransferCacheManager : public StaticForwarder {
@@ -391,6 +391,25 @@ index b2b29d5..5af6dc8 100644
391
391
void InsertRange(int size_class, absl::Span<void *> batch) {
392
392
cache_[size_class].tc.InsertRange(size_class, batch);
393
393
}
394
+ @@ -549,6 +561,18 @@ class TransferCacheManager {
395
+ }
396
+ }
397
+
398
+ + void AcquireInternalLocks() {
399
+ + for (int i = 0; i < kNumClasses; ++i) {
400
+ + freelist_[i].AcquireInternalLocks();
401
+ + }
402
+ + }
403
+ +
404
+ + void ReleaseInternalLocks() {
405
+ + for (int i = 0; i < kNumClasses; ++i) {
406
+ + freelist_[i].ReleaseInternalLocks();
407
+ + }
408
+ + }
409
+ +
410
+ void InsertRange(int size_class, absl::Span<void*> batch) {
411
+ freelist_[size_class].InsertRange(batch);
412
+ }
394
413
diff --git a/tcmalloc/transfer_cache_internals.h b/tcmalloc/transfer_cache_internals.h
395
414
index 2a3bd4c..d8f1031 100644
396
415
--- a/tcmalloc/transfer_cache_internals.h
0 commit comments