Skip to content

Commit 5c4127e

Browse files
committed
Work in CONFIG_EXPERIMENTAL_REWORKED_SLAB_ALLOCATOR
1 parent 40b36e6 commit 5c4127e

File tree

14 files changed

+838
-250
lines changed

14 files changed

+838
-250
lines changed

.vs/deemon-v141.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@
245245
<ClInclude Include="..\include\deemon\util\rlock.h" />
246246
<ClInclude Include="..\include\deemon\util\simple-hashset.h" />
247247
<ClInclude Include="..\include\deemon\util\slab-config.h" />
248+
<ClInclude Include="..\include\deemon\util\slab.h" />
248249
<ClInclude Include="..\include\deemon\util\weakref.h" />
249250
<ClInclude Include="..\include\deemon\variant.h" />
250251
<ClInclude Include="..\include\deemon\weakref.h" />
@@ -496,6 +497,7 @@
496497
<ClInclude Include="..\src\deemon\runtime\operator-hint-errors.h" />
497498
<ClInclude Include="..\src\deemon\runtime\refcnt-destroy.c.inl" />
498499
<ClInclude Include="..\src\deemon\runtime\runtime_error.h" />
500+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl" />
499501
<ClInclude Include="..\src\deemon\runtime\strings.h" />
500502
<ClInclude Include="..\src\deemon\system\futex-controller-new.c.inl" />
501503
<ClInclude Include="..\src\deemon\system\futex-wait.c.inl" />

.vs/deemon-v141.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,9 @@
711711
<ClInclude Include="..\include\deemon\util\slab-config.h">
712712
<Filter>include\util</Filter>
713713
</ClInclude>
714+
<ClInclude Include="..\include\deemon\util\slab.h">
715+
<Filter>include\util</Filter>
716+
</ClInclude>
714717
<ClInclude Include="..\include\deemon\util\weakref.h">
715718
<Filter>include\util</Filter>
716719
</ClInclude>
@@ -1464,6 +1467,9 @@
14641467
<ClInclude Include="..\src\deemon\runtime\runtime_error.h">
14651468
<Filter>src\runtime</Filter>
14661469
</ClInclude>
1470+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl">
1471+
<Filter>src\runtime</Filter>
1472+
</ClInclude>
14671473
<ClInclude Include="..\src\deemon\runtime\strings.h">
14681474
<Filter>src\runtime</Filter>
14691475
</ClInclude>

.vs/deemon-v142.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@
245245
<ClInclude Include="..\include\deemon\util\rlock.h" />
246246
<ClInclude Include="..\include\deemon\util\simple-hashset.h" />
247247
<ClInclude Include="..\include\deemon\util\slab-config.h" />
248+
<ClInclude Include="..\include\deemon\util\slab.h" />
248249
<ClInclude Include="..\include\deemon\util\weakref.h" />
249250
<ClInclude Include="..\include\deemon\variant.h" />
250251
<ClInclude Include="..\include\deemon\weakref.h" />
@@ -496,6 +497,7 @@
496497
<ClInclude Include="..\src\deemon\runtime\operator-hint-errors.h" />
497498
<ClInclude Include="..\src\deemon\runtime\refcnt-destroy.c.inl" />
498499
<ClInclude Include="..\src\deemon\runtime\runtime_error.h" />
500+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl" />
499501
<ClInclude Include="..\src\deemon\runtime\strings.h" />
500502
<ClInclude Include="..\src\deemon\system\futex-controller-new.c.inl" />
501503
<ClInclude Include="..\src\deemon\system\futex-wait.c.inl" />

.vs/deemon-v142.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,9 @@
711711
<ClInclude Include="..\include\deemon\util\slab-config.h">
712712
<Filter>include\util</Filter>
713713
</ClInclude>
714+
<ClInclude Include="..\include\deemon\util\slab.h">
715+
<Filter>include\util</Filter>
716+
</ClInclude>
714717
<ClInclude Include="..\include\deemon\util\weakref.h">
715718
<Filter>include\util</Filter>
716719
</ClInclude>
@@ -1464,6 +1467,9 @@
14641467
<ClInclude Include="..\src\deemon\runtime\runtime_error.h">
14651468
<Filter>src\runtime</Filter>
14661469
</ClInclude>
1470+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl">
1471+
<Filter>src\runtime</Filter>
1472+
</ClInclude>
14671473
<ClInclude Include="..\src\deemon\runtime\strings.h">
14681474
<Filter>src\runtime</Filter>
14691475
</ClInclude>

.vs/deemon-v143.vcxproj

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -245,6 +245,7 @@
245245
<ClInclude Include="..\include\deemon\util\rlock.h" />
246246
<ClInclude Include="..\include\deemon\util\simple-hashset.h" />
247247
<ClInclude Include="..\include\deemon\util\slab-config.h" />
248+
<ClInclude Include="..\include\deemon\util\slab.h" />
248249
<ClInclude Include="..\include\deemon\util\weakref.h" />
249250
<ClInclude Include="..\include\deemon\variant.h" />
250251
<ClInclude Include="..\include\deemon\weakref.h" />
@@ -496,6 +497,7 @@
496497
<ClInclude Include="..\src\deemon\runtime\operator-hint-errors.h" />
497498
<ClInclude Include="..\src\deemon\runtime\refcnt-destroy.c.inl" />
498499
<ClInclude Include="..\src\deemon\runtime\runtime_error.h" />
500+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl" />
499501
<ClInclude Include="..\src\deemon\runtime\strings.h" />
500502
<ClInclude Include="..\src\deemon\system\futex-controller-new.c.inl" />
501503
<ClInclude Include="..\src\deemon\system\futex-wait.c.inl" />

.vs/deemon-v143.vcxproj.filters

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -711,6 +711,9 @@
711711
<ClInclude Include="..\include\deemon\util\slab-config.h">
712712
<Filter>include\util</Filter>
713713
</ClInclude>
714+
<ClInclude Include="..\include\deemon\util\slab.h">
715+
<Filter>include\util</Filter>
716+
</ClInclude>
714717
<ClInclude Include="..\include\deemon\util\weakref.h">
715718
<Filter>include\util</Filter>
716719
</ClInclude>
@@ -1464,6 +1467,9 @@
14641467
<ClInclude Include="..\src\deemon\runtime\runtime_error.h">
14651468
<Filter>src\runtime</Filter>
14661469
</ClInclude>
1470+
<ClInclude Include="..\src\deemon\runtime\slab-sized.c.inl">
1471+
<Filter>src\runtime</Filter>
1472+
</ClInclude>
14671473
<ClInclude Include="..\src\deemon\runtime\strings.h">
14681474
<Filter>src\runtime</Filter>
14691475
</ClInclude>

include/deemon/alloc.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -587,9 +587,9 @@ Dee_SLAB_CHUNKSIZE_FOREACH(_Dee_PRIVATE_DeeSlab_API, ~)
587587

588588
/* Check if an object-size of "N" is supported for slab allocation */
589589
#ifdef Dee_SLAB_CHUNKSIZE_MAX
590-
#define DeeSlab_IsSupported(N) ((N) <= Dee_SLAB_CHUNKSIZE_MAX)
590+
#define DeeSlab_IsSupported(N) ((N) <= Dee_SLAB_CHUNKSIZE_MAX)
591591
#else /* Dee_SLAB_CHUNKSIZE_MAX */
592-
#define DeeSlab_IsSupported(N) 0
592+
#define DeeSlab_IsSupported(N) 0
593593
#endif /* !Dee_SLAB_CHUNKSIZE_MAX */
594594

595595
/* Return a function pointer for the relevant slab function for allocations of size "N"

include/deemon/heap.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -194,10 +194,12 @@ DFUNDEF size_t DCALL DeeHeap_SetAllocBreakpoint(size_t id);
194194
* - If `ptr' is `NULL' or a heap pointer that does not belong
195195
* to a custom heap region, `NULL' is returned instead.
196196
* - If `ptr' isn't a heap pointer, behavior is undefined.
197+
* #ifndef CONFIG_EXPERIMENTAL_REWORKED_SLAB_ALLOCATOR
197198
* - Unlike `Dee_MallocUsableSize()', this function has another special
198199
* case where behavior is also well-defined: if deemon was built with
199200
* object slabs enabled (!CONFIG_NO_OBJECT_SLABS), and the given `ptr'
200201
* points into the special slab-heap, then `NULL' is always returned.
202+
* #endif // !CONFIG_EXPERIMENTAL_REWORKED_SLAB_ALLOCATOR
201203
*
202204
* @return: * : The heap region belonging to `ptr'
203205
* @return: NULL: Given `ptr' is `NULL' or does not belong to a custom heap region */

0 commit comments

Comments
 (0)