Commit b47abd16 authored by Shivaji's avatar Shivaji

realloc changes for mm1 and mm2

parent c57e5571
......@@ -314,14 +314,10 @@ void create_new_block_and_insert_into_freelist(block_meta_data_t *meta_data_bloc
if(meta_data_block->is_free == MM_TRUE)
meta_data_block->is_free = MM_FALSE;
if(c == 0)
{
meta_data_block->next_block = free_block->next_block->next_block;
}
else
{
meta_data_block->next_block = free_block->next_block;
new_block->block_size = (uint32_t)final_remain;
}
new_block->block_size = (uint32_t)final_remain;
new_block->free_node = init_free_node();
new_block->is_free = MM_TRUE;
mm_bind_blocks_for_allocation(meta_data_block, new_block);
......@@ -621,6 +617,7 @@ void *mm_realloc(void *ptr, size_t size)
// printf("%d %d %d\n", meta_data_block->next_block->block_size , inter_frag , (original_size-size));
new_block->block_size = meta_data_block->next_block->block_size + inter_frag + (original_size - size);
// printf("%d [AFTER REALLOC]\n",new_block->block_size);
meta_data_block->next_block = meta_data_block->next_block->next_block;
new_block->is_free = MM_TRUE;
new_block->free_node= init_free_node();
mm_bind_blocks_for_allocation(meta_data_block, new_block);
......@@ -762,36 +759,41 @@ int main(int argc,char *argv[])
{
mm_init();
printf("[FIRST MALLOC]\n");
int *p1=mm_malloc(400);
printf("[SECOND MALLOC]\n");
void *p2=mm_malloc(400);
// int i=0;
// for(i =0;i<6;i++)
// p1[i] = i;
printf("[THIRD MALLOC]\n");
void *p3=mm_malloc(400);
printf("[FOURTH MALLOC]\n");
void *p4 = mm_malloc(400);
// block_meta_data_t *meta_data_block=(block_meta_data_t *)((char *)p3-sizeof(block_meta_data_t));
// meta_data_block=(block_meta_data_t *)((char *)p2-sizeof(block_meta_data_t));
p1 = mm_realloc(p1,32);
printf("[FIFTH MALLOC]\n");
mm_malloc(60);
// for(int j=0;j<6;j++)
// printf("%d value\n",p1[j]);
mm_free(p2);
mm_free(p4);
mm_free(p1);
p1 = mm_realloc(p1,300);
mm_free(p2);
mm_free(p1);
mm_free(p3);
//mm_malloc(3962);
printf("[SIXTH MALLOC]\n");
mm_malloc(100);
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment