[comp.arch] reg windows for 0-0 langs.

moss@ibis.cs.umass.edu (Eliot Moss) (02/26/90)

I wanted to follow up on just one idea that Paul Wilson mentioned, namely
designating specific registers to "raw" pointers, other to hold tagged
quantities, etc. Such conventions make things eaiser for the run-time system
of course, but they may lead to suboptimal use of resources since you have
split a colleciton of uniform resources (registers) into two or more separate
collections so that you can run out of one first with plenty of the other
left. The approach I am taking in a current research project is to have the
compiler generate tabular information about how it used registers (and stack
slots for that matter) so that the garbage collector can figure it out. That
way the compiler is not very constrained but everything can work. The research
aspect is figuring out how to achieve compact tables that can be used by the
garbage collector quickly enough, and whether the scheme is worthwhile in the
first place (I think it is, but perhaps primarily because it simplifies the
compiler's job in optimization). I know Paul, and I, and Ralph Johnson for
that matter, enjoy arguing about these things anyway :-) ... cheers .. Eliot

--

		J. Eliot B. Moss, Assistant Professor
		Department of Computer and Information Science
		Lederle Graduate Research Center
		University of Massachusetts
		Amherst, MA  01003
		(413) 545-4206; Moss@cs.umass.edu