diff options
author | Kaz Kylheku <kaz@kylheku.com> | 2015-04-24 07:53:25 -0700 |
---|---|---|
committer | Kaz Kylheku <kaz@kylheku.com> | 2015-04-24 07:53:25 -0700 |
commit | 097b3d2421b040e9e8512275c7c64f19c16615be (patch) | |
tree | c1e88fb9e42cb3fbde98968e586024795a712edd /gc.c | |
parent | b360098319ea038521bf6ead9fa3f1a1f9e2288c (diff) | |
download | txr-097b3d2421b040e9e8512275c7c64f19c16615be.tar.gz txr-097b3d2421b040e9e8512275c7c64f19c16615be.tar.bz2 txr-097b3d2421b040e9e8512275c7c64f19c16615be.zip |
Regression: runaway allocation of heaps.
* gc.c (make_obj): Fix regression introduced on 2014-10-18,
released in TXR 100. Because make_obj discontinues
placing objects into the freshobj_array when the full_gc
flag has been set, it is incorrect to allocate another heap
when the free list is exhausted and the freshobj_array
has room remaining. It has room remaining because it is
disused.
Diffstat (limited to 'gc.c')
-rw-r--r-- | gc.c | 2 |
1 files changed, 1 insertions, 1 deletions
@@ -204,7 +204,7 @@ val make_obj(void) } #if CONFIG_GEN_GC - if (freshobj_idx < FRESHOBJ_VEC_SIZE) { + if (!full_gc && freshobj_idx < FRESHOBJ_VEC_SIZE) { more(); continue; } |