Lab4 Давлетов Тимур Маратович P3216 mem was allocated
3 unresolved threads
272 273 // Если вакантный блок подходит 274 if (s_result.type == BSR_FOUND_GOOD_BLOCK) { 275 // Делим при необходимости 276 split_if_too_big(s_result.block, query); 277 // Бронируем блок 278 s_result.block->is_free = false; 279 } 280 281 return s_result; 108 282 } 109 283 284 static struct block_header* grow_heap(struct block_header* restrict last, size_t query) { 285 // Аллоцируем новый регион для кучи после последнего блока 286 struct region new_region = alloc_region(block_after(last), query); 287 - Last updated by Timur Davletov
203 return fst->is_free && snd->is_free && blocks_continuous( fst, snd ) ; 85 204 } 86 205 87 static bool try_merge_with_next( struct block_header* block ) { 88 /* ??? */ 206 static bool try_merge_with_next(struct block_header* block) { 207 // Если с блоком все хорошо 208 if (block) { 209 // Получение нового блока 210 struct block_header* next_block = block->next; 211 212 // Если с новым блоком все хорошо 213 if (next_block) { 214 // Проверка на возможность слияния 215 bool can_be_merged = mergeable(block, next_block); 216 if (can_be_merged) { changed this line in version 2 of the diff
- Last updated by Timur Davletov
6 6 #include <stddef.h> 7 7 8 8 #define REGION_MIN_SIZE (2 * 4096) 9 #define MEM_ALIGNMENT 8 changed this line in version 3 of the diff
added 1 commit
- acc57f13 - Update mem_internals.h (MEM_ALIGNMENT -> 16)
@selfish_inside @Aigul @andrew все ревью учтены, недочеты исправлены, тесты добавлены!