[m-dev.] CTGC implementation, getting started (again)
Nancy
Nancy.Mazur at cs.kuleuven.ac.be
Wed Nov 30 20:33:19 AEDT 2005
Hi,
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
questions:
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
or:
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,
Nancy
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