[m-dev.] [reuse] diff: fix problem in profile grades

Peter Ross peter.ross at miscrit.be
Sat Mar 10 02:15:19 AEDT 2001


On Sat, Mar 10, 2001 at 02:00:08AM +1100, Fergus Henderson wrote:
> On 09-Mar-2001, Peter Ross <peter.ross at miscrit.be> wrote:
> > Branches: reuse
> > 
> > This change avoids generating MR_init_entry() calls for procedures which
> > don't have a body.
> 
> Why?
> 
> One of the main reasons that procedures which don't have a body are
> in the MLDS at all is so that we can call MR_init_entry() for them.
> If you think that is wrong, please explain why ;-)
> 
> Do you have a test case for this?
> 
Yes, try building the ICFP programming contest entry with structure
reuse turned on in one of the hlc profiling grades.  You end up with
some dangling references to reuse versions of type specialized
predicates.  I am not sure where they are coming from.

I tried to modify dead_proc_elim (which is the correct solution, I
think) as it currently keeps all the reuse versions of pred, but that
lead to bootstrapping problems.  At some point I need to sit down and go
through the trans_opt mechanism and try and get it to work more
gracefully with structure reuse.

However, this solution allows me to investigate where and why we
are/aren't getting speed ups and what changes to the memory allocation
pattern has occured with structure reuse.

Pete
--------------------------------------------------------------------------
mercury-developers mailing list
Post messages to:       mercury-developers at cs.mu.oz.au
Administrative Queries: owner-mercury-developers at cs.mu.oz.au
Subscriptions:          mercury-developers-request at cs.mu.oz.au
--------------------------------------------------------------------------



More information about the developers mailing list