[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