summaryrefslogtreecommitdiff
path: root/src/scheme/ao_scheme_lambda.c
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2017-12-18 02:12:04 -0800
committerKeith Packard <keithp@keithp.com>2017-12-18 02:12:04 -0800
commit6593570418e087b9f83ed7f90303d4e1e7d20e83 (patch)
tree998be6c34980656dc99008a07986f5c76a1e4bc7 /src/scheme/ao_scheme_lambda.c
parent9f1849e548e35498f88a0b8adbbc4a57c7a39222 (diff)
altos/scheme: Work around gcc 7.2.0 optimization bug in memory manager
After marking a set of memory chunks, it's possible that all of them will be packed tight against 'top', in which case none of them will be moving. In that case, gcc 7.2.0 appears to generate incorrect code causing the loop to be abandoned, meaning that we don't actually collect anything at all. Add a quick short-circuit test just after the mark phase that skips the code which wouldn't do anything in this case. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'src/scheme/ao_scheme_lambda.c')
0 files changed, 0 insertions, 0 deletions