[m-rev.] for review: fix mantis bug #42
Peter Wang
novalazy at gmail.com
Thu Jun 12 12:46:47 AEST 2008
On 2008-06-11, Julien Fischer <juliensf at csse.unimelb.edu.au> wrote:
>
> On Wed, 11 Jun 2008, Peter Wang wrote:
>
>> Pending bootcheck.
>>
>> Estimated hours taken: 1
>> Branches: main
>>
>> Fix Mantis bug #42. --optimize-constructor-last-call wouldn't work together
>> with --no-inline-builtins (or more commonly, --no-inlining).
>>
>> We didn't generate a valid definition for `private_builtin.store_at_ref': the
>> procedure existed but had an empty body. With `--no-inlining-builtins' the
>> calls to `store_at_ref' introduced by the LCMC that would normally be replaced
>> by inline code would go to the out-of-line procedure, which did nothing.
>
> Hmmmm, ... it took me a while to see why that works.
Actually, there is a problem. The predicate is properly added with the body:
private_builtin.store_at_ref(Ref, T) :-
private_builtin.store_at_ref(Ref, T).
But since `store_at_ref' is not impure, simplify may end up deleting the
body again. So I won't commit this fix. It should wait until
`store_at_ref' is declared impure, which presents a bit of a
bootstrapping problem.
Peter
--------------------------------------------------------------------------
mercury-reviews mailing list
Post messages to: mercury-reviews at csse.unimelb.edu.au
Administrative Queries: owner-mercury-reviews at csse.unimelb.edu.au
Subscriptions: mercury-reviews-request at csse.unimelb.edu.au
--------------------------------------------------------------------------
More information about the reviews
mailing list