Loading...
src/magazine_rack.h libmalloc-283 libmalloc-409.60.6
--- libmalloc/libmalloc-283/src/magazine_rack.h
+++ libmalloc/libmalloc-409.60.6/src/magazine_rack.h
@@ -30,6 +30,7 @@
 
 typedef void *region_t;
 typedef region_t *rgnhdl_t; /* A pointer into hashed_regions array. */
+typedef struct region_trailer region_trailer_t;
 
 #define INITIAL_NUM_REGIONS_SHIFT 6							 // log2(INITIAL_NUM_REGIONS)
 #define INITIAL_NUM_REGIONS (1 << INITIAL_NUM_REGIONS_SHIFT) // Must be a power of 2!
@@ -78,7 +79,6 @@
 	uintptr_t last_madvise;
 } rack_t;
 
-
 MALLOC_NOEXPORT
 void
 rack_init(rack_t *rack, rack_type_t type, uint32_t num_magazines, uint32_t debug_flags);
@@ -95,4 +95,27 @@
 void
 rack_region_insert(rack_t *rack, region_t region);
 
+MALLOC_NOEXPORT
+bool
+rack_region_remove(rack_t *rack, region_t region, region_trailer_t *trailer);
+
+MALLOC_NOEXPORT
+bool
+rack_region_maybe_dispose(rack_t *rack, region_t region, size_t region_size,
+		region_trailer_t *trailer);
+
+MALLOC_NOEXPORT MALLOC_ALWAYS_INLINE
+static void
+rack_region_lock(rack_t *rack)
+{
+	_malloc_lock_lock(&rack->region_lock);
+}
+
+MALLOC_NOEXPORT MALLOC_ALWAYS_INLINE
+static void
+rack_region_unlock(rack_t *rack)
+{
+	_malloc_lock_unlock(&rack->region_lock);
+}
+
 #endif // __MAGAZINE_RACK_H