[gclist] region inferencing

Nick Barnes nickb@harlequin.co.uk
Thu, 06 Nov 1997 10:33:55 +0000


> I've just bumped into region inferencing as a way to allocate and
> deallocate memory. While I've got a gut feel that it is valuable,
> I haven't found out enough about it to be even a little sure.
> 
> To spur some discussion on the gclist I ask: Will region inferencing
> replace garbage collectors, supplement garbage collectors, or be
> consigned to the dustbin?

My feeling is that it will do all three, according to the problem
domain. For some domains (probably most small/medium systems in sound
languages) it is, or will become, a good and complete solution. For
some others (probably most large systems in sound languages, maybe
some small systems in unsound languages) it will do well, but will not
be able to infer enough liveness information and so will need to be
supplemented by a real GC. For some others again (probably most
systems in unsound languages), it will not do sufficiently well to
justify the cost of the analysis, so will not be used.

Sound = susceptible to rigorous local semantic analysis (e.g. ML);
Unsound = local semantics depend on global structure, the phase of the
moon, &c (e.g. C++).

In other words, it's another useful tool for memory managers, but it's
no panacea.

Caveat: this is all based on my understanding of region inference as
it stood about 2 years ago, when Tofte gave a presentation of it at
Harlequin; maybe it's come much further since then.

Nick B