[m-dev.] CTGC implementation, getting started (again)

Nancy Nancy.Mazur at cs.kuleuven.ac.be
Wed Nov 30 20:33:19 AEDT 2005


I've started to dive into the Compile-Time Garbage Collection 
implementation, with the purpose of moving (at last) the reuse-branch 
unto the main branch of the compiler.

In attachment a first diff and two new files, for which I've got some 

1. Historically, the analysis used to be inserted as a last step of the 
middle pass. In the current state of the different stages, this would 
mean right after stage 195 (eliminate dead procs).
The main constraint which decides on the stage is that after structure 
reuse analysis, the goals within a procedure may not be reordered.
Any objections?

2. CTGC needs two big analysis-steps: the structure sharing analysis, 
and the actual structure reuse analysis. This used to be seen as two 
different compilation stages. I would prefer to keep it that way, with 
the idea that the structure sharing analysis might serve other purposes 
as well?
When kept as two fases, I need two "stage numbers"... 196a, 196b, or is 
it okay if I move 195 to become 194.
Silly questions perhaps, but they have to be asked anyway...

3. Module naming. For the moment I've added a toplevel package 
"structure_sharing", with one module "structure_sharing.analysis" 
(filename structure_sharing.analysis.m). Yet, I see that the termination 
analysis is seen as a part of the transform_hlds package. Should I do 
the same for structure sharing? for reuse analysis? What are the views 
on this?
So either:
	package structure_sharing
	package structure_reuse
	package transform_hlds.structure_sharing
	package transform_hlds.structure_reuse
or even:
	package transform_hlds.CTGC
	and then
	package transform_hlds.CTGC.structure_sharing
	package transform_hlds.CTGC.structure_reuse

Enough with these first questions... going back for a dive,

Disclaimer: http://www.kuleuven.be/cwis/email_disclaimer.htm

-------------- next part --------------
A non-text attachment was scrubbed...
Name: SSstart.diff
Type: text/x-patch
Size: 2247 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/developers/attachments/20051130/b9e2722f/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: structure_sharing.m
Type: text/x-objcsrc
Size: 737 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/developers/attachments/20051130/b9e2722f/attachment-0001.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: structure_sharing.analysis.m
Type: text/x-objcsrc
Size: 849 bytes
Desc: not available
URL: <http://lists.mercurylang.org/archives/developers/attachments/20051130/b9e2722f/attachment-0002.bin>

More information about the developers mailing list