|
@@ -57,7 +57,11 @@ void push_block(void **block, void **starting_node) {
|
|
|
}
|
|
|
|
|
|
#ifdef BLOCKS_IN_SLL
|
|
|
+#ifdef COUNT_HOPS
|
|
|
+void remove_block(heap_t *heap, void **block, void **starting_node) {
|
|
|
+#else
|
|
|
void remove_block(void **block, void **starting_node) {
|
|
|
+#endif /* COUNT_HOPS */
|
|
|
|
|
|
void *current_node, *previous_node;
|
|
|
|
|
@@ -126,10 +130,18 @@ void remove_block_from_lists(void **block, heap_t *heap) {
|
|
|
current_maptable_node = current_maptable_node->next;
|
|
|
}
|
|
|
}
|
|
|
+#ifdef COUNT_HOPS
|
|
|
+ remove_block(heap, block, ¤t_maptable_node->fixed_list_head);
|
|
|
+#else
|
|
|
remove_block(block, ¤t_maptable_node->fixed_list_head);
|
|
|
+#endif /* COUNT_HOPS */
|
|
|
} else {
|
|
|
#endif /* WITH_FIXED_LISTS */
|
|
|
+#ifdef COUNT_HOPS
|
|
|
+ remove_block(heap, block, &heap->free_list_head);
|
|
|
+#else
|
|
|
remove_block(block, &heap->free_list_head);
|
|
|
+#endif /* COUNT_HOPS */
|
|
|
#ifdef WITH_FIXED_LISTS
|
|
|
}
|
|
|
#endif /* WITH_FIXED_LISTS */
|