change heap_free prototype
This commit is contained in:
		
							parent
							
								
									30efc25633
								
							
						
					
					
						commit
						0fc2a8e273
					
				|  | @ -184,11 +184,14 @@ heap_alloc(pic_state *pic, size_t size) | |||
| } | ||||
| 
 | ||||
| static void | ||||
| heap_free(pic_state *pic, union header *bp) | ||||
| heap_free(pic_state *pic, void *ap) | ||||
| { | ||||
|   union header *freep, *p; | ||||
|   union header *freep, *bp, *p; | ||||
| 
 | ||||
|   assert(ap != NULL); | ||||
| 
 | ||||
|   bp = (union header *)ap - 1; | ||||
| 
 | ||||
|   assert(bp != NULL); | ||||
|   assert(bp->s.size > 1); | ||||
| 
 | ||||
|   freep = pic->heap->freep; | ||||
|  | @ -225,7 +228,7 @@ heap_morecore(pic_state *pic) | |||
| 
 | ||||
|   up = pic_malloc(pic, (1 + nu + 1) * sizeof(union header)); | ||||
|   up->s.size = nu + 1; | ||||
|   heap_free(pic, up); | ||||
|   heap_free(pic, up + 1); | ||||
| 
 | ||||
|   np = up + 1; | ||||
|   np->s.size = nu; | ||||
|  | @ -740,7 +743,7 @@ gc_sweep_page(pic_state *pic, struct heap_page *page) | |||
|   while (s != NULL) { | ||||
|     t = s->s.ptr; | ||||
|     gc_finalize_object(pic, (struct pic_object *)(s + 1)); | ||||
|     heap_free(pic, s); | ||||
|     heap_free(pic, s + 1); | ||||
|     s = t; | ||||
|   } | ||||
| } | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki