[m-rev.] for review: [CTGC] bugfix, use typevarset from pred_info

Nancy Nancy.Mazur at cs.kuleuven.ac.be
Tue Jun 20 04:05:43 AEST 2006


Julien Fischer wrote:
> On Mon, 19 Jun 2006, Nancy Mazur wrote:
> 
>> Hi,
>>
>> this is a bugfix. The error occurred when analysing TypeSpecOf__ predicates,
>> but may as well occur in other predicates too. The problem was that the
>> typevarset used to determine type substitutions was in sometimes simply set to
>> an empty varset, instead of getting it from the pred_info structure as it
>> should be.
> 
> If this was caused by the XXX comment at the end of this diff (the on
> that says to be checked) the that's fine, otherwise where was the other
> typevarset coming from?

Yes, that is indeed the clue of the fix...

>> Question: I was wondering what the use is of analysing the TypeSpecOf__
>> predicates, as the results are (explicitly) not recorded in the trans_opt
>> files (Cf. the XXX remark in structure_sharing.analysis.m, and in analogy,
>> in structure_reuse.analysis.m)? I might as well simply not analyse them?
> 
> They're not recorded in the .trans_opt files because of limitations in
> the way transitive intermodule optimization works.  It's certainly worth
> analysing them, particularly if they are local to a module, it's just
> that (at the moment) we won't be able to use specialized versions
> created by structure reuse across module boundaries.

Okay...

>> Estimated hours taken: 5
>> Branches: main
>>
>> Bugfix. Make sure to use the typevarset stored in the pred_info when
>> determining the type substitution between formal and actual sharing
>> information.
>>
>> compiler/structure_reuse.direct.detect_garbage.m:
>> compiler/structure_reuse.direct.m:
>> compiler/structure_reuse.indirect.m:
>> compiler/structure_sharing.domain.m:
>> 	Use the typevarset from the pred_info structure when looking up
>> 	and renaming sharing information.
>> 	Thread pred_info until the place where it is used.
> 
> Is there a test case for this bug?

Well, the list module wouldn't compile without the fix...
Should I add that kind of testcase somewhere (and how?)?

Nancy

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

--------------------------------------------------------------------------
mercury-reviews mailing list
post:  mercury-reviews at cs.mu.oz.au
administrative address: owner-mercury-reviews at cs.mu.oz.au
unsubscribe: Address: mercury-reviews-request at cs.mu.oz.au Message: unsubscribe
subscribe:   Address: mercury-reviews-request at cs.mu.oz.au Message: subscribe
--------------------------------------------------------------------------



More information about the reviews mailing list