Geoffrey Keating <gkeating@apple.com> writes:
This patch does two thing:
1. It establishes a system for host-specific callbacks. The system is
way too elaborate for the trivial purpose in the patch, but I plan
do extend it later to add host-specific ways to detect that we
don't need to do a GC collection right now, and to perform
incremental GC.
Cute, but would you mind putting some thought into a way to avoid a
re-proliferation of x-fragments? I went to considerable effort to get
within epsilon of being able to eliminate that facility entirely.
Yes, there's a way to eliminate all the new x-fragments and a bunch of
t-fragments too: automatic dependency generation.2. It fixes an annoying UI issue with GCC on Darwin. Darwin has the
default soft stack limit set to 512k, which can be easily tripped
over; in fact, some tests in the GCC testsuite hit it. Before,
when this happened GCC would print 'Internal error: bus error',
which is an incredibly unhelpful error message; now it prints
'Out of stack memory.' and a message saying how to change the
limit.
I thought we had code in toplev.c to call rlimit() to set the soft
stack limit as high as it could go, rather than bothering the user
about it.
No, we don't; that would be bad, if the user sets a limit we should
honour it.