[libc-commits] [libc] 908172d - [libc][baremetal] default NUM_TABLE_ENTRIES to a fixed value of 3 in TLSF (#221807)

via libc-commits libc-commits at lists.llvm.org
Wed Sep 9 06:25:26 PDT 2026


Author: Schrodinger ZHU Yifan
Date: 2026-09-09T09:25:19-04:00
New Revision: 908172d3d701ff198749418e89f3f9917fa773e1

URL: https://github.com/llvm/llvm-project/commit/908172d3d701ff198749418e89f3f9917fa773e1
DIFF: https://github.com/llvm/llvm-project/commit/908172d3d701ff198749418e89f3f9917fa773e1.diff

LOG: [libc][baremetal] default NUM_TABLE_ENTRIES to a fixed value of 3 in TLSF (#221807)

Added: 
    

Modified: 
    libc/src/__support/tlsf_table.h
    libc/test/src/__support/tlsf_table_test.cpp

Removed: 
    


################################################################################
diff  --git a/libc/src/__support/tlsf_table.h b/libc/src/__support/tlsf_table.h
index a302fba15f11c..e75f1074ca4b3 100644
--- a/libc/src/__support/tlsf_table.h
+++ b/libc/src/__support/tlsf_table.h
@@ -32,7 +32,7 @@ struct DefaultFreeStoreConfig {
   static constexpr size_t UNIT_SIZE = BlockRef::MIN_ALIGN;
   static constexpr size_t STEP_SIZE_BITS = 3;
   static constexpr size_t NUM_STEP_BITS = 2;
-  static constexpr size_t NUM_TABLE_ENTRIES = sizeof(uintptr_t) == 8 ? 3 : 6;
+  static constexpr size_t NUM_TABLE_ENTRIES = 3;
   static constexpr bool USE_TRIE_FOR_OVERFLOW_BIN = true;
   static constexpr size_t LINEAR_SCAN_LIMIT = 16;
 };

diff  --git a/libc/test/src/__support/tlsf_table_test.cpp b/libc/test/src/__support/tlsf_table_test.cpp
index 01c6de4c5d762..207c1b0c90ec3 100644
--- a/libc/test/src/__support/tlsf_table_test.cpp
+++ b/libc/test/src/__support/tlsf_table_test.cpp
@@ -40,21 +40,20 @@ TEST(LlvmLibcTLSFTableTest, BinToMinSize) {
 
 TEST(LlvmLibcTLSFTableTest, OccupancyQueriesAndMutations) {
   Table table;
-  for (size_t i = 0; i < Table::TOTAL_BINS; ++i) {
+  for (size_t i = 0; i < Table::TOTAL_BINS; ++i)
     EXPECT_FALSE(table.is_occupied(i));
-  }
 
   table.mark_occupied(5);
   EXPECT_TRUE(table.is_occupied(5));
   EXPECT_FALSE(table.is_occupied(4));
   EXPECT_FALSE(table.is_occupied(6));
 
-  table.mark_occupied(100);
-  EXPECT_TRUE(table.is_occupied(100));
+  table.mark_occupied(Table::TOTAL_BINS - 3);
+  EXPECT_TRUE(table.is_occupied(Table::TOTAL_BINS - 3));
 
   table.mark_vacant(5);
   EXPECT_FALSE(table.is_occupied(5));
-  EXPECT_TRUE(table.is_occupied(100));
+  EXPECT_TRUE(table.is_occupied(Table::TOTAL_BINS - 3));
 }
 
 TEST(LlvmLibcTLSFTableTest, FindFirstOccupiedAfter) {


        


More information about the libc-commits mailing list