Loading...
tests/pgm_internals.c libmalloc-792.1.1 libmalloc-374.40.6
--- libmalloc/libmalloc-792.1.1/tests/pgm_internals.c
+++ libmalloc/libmalloc-374.40.6/tests/pgm_internals.c
@@ -12,8 +12,7 @@
 
 #include <darwintest.h>
 
-T_GLOBAL_META(T_META_RUN_CONCURRENTLY(TRUE), T_META_NAMESPACE("pgm"),
-		T_META_TAG_VM_PREFERRED);
+T_GLOBAL_META(T_META_RUN_CONCURRENTLY(TRUE), T_META_NAMESPACE("pgm"));
 
 // Use extra weird page size (not even a power of 2) to expose implicit
 // assumptions and help prevent issues caused by different page sizes on macOS
@@ -53,18 +52,6 @@
 	T_EXPECT_FALSE(should_sample_counter(7), "1/3 -> skip");
 	T_EXPECT_FALSE(should_sample_counter(7), "2/3 -> skip");
 	T_EXPECT_TRUE (should_sample_counter(7), "3/3 -> sample");
-
-	rand_ret_value = 0;
-	malloc_thread_options_t opts = {.DisableProbabilisticGuardMalloc = true};
-	malloc_set_thread_options(opts);
-	T_EXPECT_EQ(TSD_GET_COUNTER(), k_no_sample, "set no sample marker");
-	T_EXPECT_FALSE(should_sample_counter(8), "sampling disabled");
-	T_EXPECT_EQ(TSD_GET_COUNTER(), k_no_sample, "no sample marker retained");
-
-	opts.DisableProbabilisticGuardMalloc = false;
-	malloc_set_thread_options(opts);
-	T_EXPECT_EQ(TSD_GET_COUNTER(), 0, "regenerate sample counter");
-	T_EXPECT_TRUE(should_sample_counter(7), "sampling re-enabled");
 }
 
 T_DECL(should_sample, "should_sample")
@@ -169,22 +156,22 @@
 	#define TEST_LOOKUP_SLOT(addr, expected_slot, expected_bounds, expected_live_block_addr, msg) \
 		{ \
 			slot_lookup_t res = lookup_slot(&zone, addr); \
-			T_EXPECT_EQ((unsigned int)res.slot, expected_slot, msg ": slot"); \
-			T_EXPECT_EQ((unsigned int)res.bounds, expected_bounds, msg ": bounds"); \
+			T_EXPECT_EQ(res.slot, expected_slot, msg ": slot"); \
+			T_EXPECT_EQ(res.bounds, expected_bounds, msg ": bounds"); \
 			T_EXPECT_EQ(!!res.live_block_addr, expected_live_block_addr, msg ": live_block_addr"); \
 		}
 
 	zone.begin = 50000; zone.end = 60000;
 	slots[0].offset = 7; slots[0].size = 2;
-	TEST_LOOKUP_SLOT(51000, 0, b_oob_slot,       false, "slot 0");
-	TEST_LOOKUP_SLOT(51007, 0, b_block_addr,     false, "block address");
-	TEST_LOOKUP_SLOT(51008, 0, b_valid,          false, "valid address");
-	TEST_LOOKUP_SLOT(51009, 0, b_oob_slot,       false, "slot");
-	TEST_LOOKUP_SLOT(52000, 0, b_oob_guard_page, false, "guard page");
-	TEST_LOOKUP_SLOT(53007, 1, b_oob_slot,       false, "slot 1");
+	TEST_LOOKUP_SLOT(51000, 0, b_oob_slot,       FALSE, "slot 0");
+	TEST_LOOKUP_SLOT(51007, 0, b_block_addr,     FALSE, "block address");
+	TEST_LOOKUP_SLOT(51008, 0, b_valid,          FALSE, "valid address");
+	TEST_LOOKUP_SLOT(51009, 0, b_oob_slot,       FALSE, "slot");
+	TEST_LOOKUP_SLOT(52000, 0, b_oob_guard_page, FALSE, "guard page");
+	TEST_LOOKUP_SLOT(53007, 1, b_oob_slot,       FALSE, "slot 1");
 
 	slots[0].state = ss_allocated;
-	TEST_LOOKUP_SLOT(51007, 0, b_block_addr,     true,  "live block address");
+	TEST_LOOKUP_SLOT(51007, 0, b_block_addr,     TRUE,  "live block address");
 }
 
 
@@ -206,13 +193,18 @@
 
 T_DECL(block_size, "block_size")
 {
-	T_EXPECT_EQ(block_size( 0), 16ul, NULL);
-	T_EXPECT_EQ(block_size( 1), 16ul, NULL);
-	T_EXPECT_EQ(block_size(15), 16ul, NULL);
-	T_EXPECT_EQ(block_size(16), 16ul, NULL);
-	T_EXPECT_EQ(block_size(17), 32ul, NULL);
-	T_EXPECT_EQ(block_size(32), 32ul, NULL);
-	T_EXPECT_EQ(block_size(33), 48ul, NULL);
+	T_EXPECT_EQ(block_size( 0, 16), 16ul, NULL);
+	T_EXPECT_EQ(block_size( 1, 16), 16ul, NULL);
+	T_EXPECT_EQ(block_size(15, 16), 16ul, NULL);
+	T_EXPECT_EQ(block_size(16, 16), 16ul, NULL);
+	T_EXPECT_EQ(block_size(17, 16), 32ul, NULL);
+	T_EXPECT_EQ(block_size(32, 16), 32ul, NULL);
+	T_EXPECT_EQ(block_size(33, 16), 48ul, NULL);
+
+	T_EXPECT_EQ(block_size(0, 1), 1ul, NULL);
+	T_EXPECT_EQ(block_size(1, 1), 1ul, NULL);
+	T_EXPECT_EQ(block_size(2, 1), 2ul, NULL);
+	T_EXPECT_EQ(block_size(3, 1), 3ul, NULL);
 }
 
 T_DECL(choose_available_slot, "choose_available_slot")
@@ -247,27 +239,23 @@
 
 T_DECL(choose_offset_on_page, "choose_offset_on_page")
 {
-	uint16_t ps = 32;  // page size
-	uint32_t lap = 10; // left align percentage
-	expected_upper_bound = 100;
-
-	rand_ret_value = 9;
-	T_EXPECT_EQ(choose_offset_on_page( 5, 16, lap, ps), (uint16_t)0, "left-aligned");
-
-	rand_ret_value = 10;
-	T_EXPECT_EQ(choose_offset_on_page( 0,  1, lap, ps), (uint16_t)32, "size 0, perfectly right-aligned");
-	T_EXPECT_EQ(choose_offset_on_page( 1,  1, lap, ps), (uint16_t)31, "size 1, perfectly right-aligned");
-	T_EXPECT_EQ(choose_offset_on_page( 5,  1, lap, ps), (uint16_t)27, "perfectly right-aligned");
-	T_EXPECT_EQ(choose_offset_on_page( 5,  2, lap, ps), (uint16_t)26, "right-aligned by 2");
-	T_EXPECT_EQ(choose_offset_on_page( 5,  4, lap, ps), (uint16_t)24, "right-aligned by 4");
-	T_EXPECT_EQ(choose_offset_on_page( 5,  8, lap, ps), (uint16_t)24, "right-aligned by 8");
-	T_EXPECT_EQ(choose_offset_on_page( 5, 16, lap, ps), (uint16_t)16, "right-aligned by 16");
-	T_EXPECT_EQ(choose_offset_on_page( 5, 32, lap, ps),  (uint16_t)0, "right-aligned by page size");
-	T_EXPECT_EQ(choose_offset_on_page(32,  1, lap, ps),  (uint16_t)0, "page size allocation w/o alignment");
-	T_EXPECT_EQ(choose_offset_on_page(32,  8, lap, ps),  (uint16_t)0, "page size allocation w/ alignment");
-
-	lap = 0; rand_ret_value = 0;
-	T_EXPECT_EQ(choose_offset_on_page( 5, 16,  lap, ps), (uint16_t)16, "right-aligned");
+	uint16_t page_size = 32;
+	expected_upper_bound = 2;
+
+	rand_ret_value = 1;
+	T_EXPECT_EQ(choose_offset_on_page(5, 16, page_size), (uint16_t)0, "left-aligned");
+
+	rand_ret_value = 0;
+	T_EXPECT_EQ(choose_offset_on_page( 0,  1, page_size), (uint16_t)32, "size 0, perfectly right-aligned");
+	T_EXPECT_EQ(choose_offset_on_page( 1,  1, page_size), (uint16_t)31, "size 1, perfectly right-aligned");
+	T_EXPECT_EQ(choose_offset_on_page( 5,  1, page_size), (uint16_t)27, "perfectly right-aligned");
+	T_EXPECT_EQ(choose_offset_on_page( 5,  2, page_size), (uint16_t)26, "right-aligned by 2");
+	T_EXPECT_EQ(choose_offset_on_page( 5,  4, page_size), (uint16_t)24, "right-aligned by 4");
+	T_EXPECT_EQ(choose_offset_on_page( 5,  8, page_size), (uint16_t)24, "right-aligned by 8");
+	T_EXPECT_EQ(choose_offset_on_page( 5, 16, page_size), (uint16_t)16, "right-aligned by 16");
+	T_EXPECT_EQ(choose_offset_on_page( 5, 32, page_size),  (uint16_t)0, "right-aligned by page size");
+	T_EXPECT_EQ(choose_offset_on_page(32,  1, page_size),  (uint16_t)0, "page size allocation w/o alignment");
+	T_EXPECT_EQ(choose_offset_on_page(32,  8, page_size),  (uint16_t)0, "page size allocation w/ alignment");
 }
 
 T_DECL(capture_trace, "capture_trace")