Loading...
--- libmalloc/libmalloc-646.0.13/tests/threaded_stress.c
+++ libmalloc/libmalloc-715.120.13/tests/threaded_stress.c
@@ -12,6 +12,9 @@
#if !MALLOC_TARGET_EXCLAVES
#include <sys/sysctl.h>
#include <mach/mach.h>
+typedef unsigned seed_type_t;
+#else
+typedef unsigned long seed_type_t;
#endif // !MALLOC_TARGET_EXCLAVES
// These tests are based on perf_contended_malloc_free, but intended as
@@ -27,7 +30,7 @@
#pragma mark -
static uint64_t
-random_busy_counts(unsigned int *seed, uint64_t *first, uint64_t *second)
+random_busy_counts(seed_type_t *seed, uint64_t *first, uint64_t *second)
{
uint64_t random = rand_r(seed);
*first = 0x4 + (random & (0x10 - 1));
@@ -227,7 +230,7 @@
{
kern_return_t kr;
int r;
- unsigned int seed;
+ seed_type_t seed;
volatile double dummy;
uint64_t pos, remaining_frees;
void *alloc;
@@ -283,7 +286,21 @@
}
T_DECL(threaded_stress_malloc_size_tiny,
- "multi-threaded stress test for tiny malloc_size")
+ "multi-threaded stress test for tiny malloc_size",
+ T_META_ENVVAR("MallocNanoZone=0"))
+{
+ uint64_t iterations = 2000000ull;
+#if TARGET_OS_TV || TARGET_OS_WATCH
+ iterations = 200000ull;
+#endif // TARGET_OS_TV || TARGET_OS_WATCH
+
+ malloc_threaded_stress(false, 16, 256, 16, 2048,
+ iterations, malloc_size_stress_thread);
+}
+
+T_DECL(threaded_stress_malloc_size_nano,
+ "multi-threaded stress test for nano malloc_size",
+ T_META_ENVVAR("MallocNanoZone=1"))
{
uint64_t iterations = 2000000ull;
#if TARGET_OS_TV || TARGET_OS_WATCH