[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