[bugfix] compiling big library faults with arena overflow
This commit is contained in:
		
							parent
							
								
									855702716c
								
							
						
					
					
						commit
						5be10aefc9
					
				|  | @ -318,6 +318,7 @@ macroexpand(pic_state *pic, pic_value expr, struct pic_senv *senv) | ||||||
|         /* proceed expressions in new library */ |         /* proceed expressions in new library */ | ||||||
|         pic_in_library(pic, pic_cadr(pic, expr)); |         pic_in_library(pic, pic_cadr(pic, expr)); | ||||||
|         { |         { | ||||||
|  |           int ai = pic_gc_arena_preserve(pic); | ||||||
|           struct pic_proc *proc; |           struct pic_proc *proc; | ||||||
| 
 | 
 | ||||||
|           pic_for_each (v, pic_cddr(pic, expr)) { |           pic_for_each (v, pic_cddr(pic, expr)) { | ||||||
|  | @ -329,6 +330,7 @@ macroexpand(pic_state *pic, pic_value expr, struct pic_senv *senv) | ||||||
|             if (pic_undef_p(v)) { |             if (pic_undef_p(v)) { | ||||||
|               abort(); |               abort(); | ||||||
|             } |             } | ||||||
|  |             pic_gc_arena_restore(pic, ai); | ||||||
|           } |           } | ||||||
|         } |         } | ||||||
|         pic_in_library(pic, prev->name); |         pic_in_library(pic, prev->name); | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue
	
	 Yuichi Nishiwaki
						Yuichi Nishiwaki