[m-rev.] for review: lcmc for high-level data
Julien Fischer
juliensf at csse.unimelb.edu.au
Tue Sep 15 16:56:35 AEST 2009
Hi,
On Tue, 15 Sep 2009, Peter Wang wrote:
> Branches: main
>
> Support --optimize-constructor-last-call in the java grade, and possibly other
> grades using high-level data.
>
> compiler/handle_options.m:
> Don't disable --optimize-constructor-last-call on high-level data, nor
> if the target language is Java.
>
> compiler/lco.m:
> Use a modified transformation when targetting high-level data that
> doesn't require taking the address of fields nor using the store_at_ref
> builtin.
>
> compiler/ml_unify_gen.m:
> Handle the `take_address_fields' part of a construction unification
> differently when targetting high-level data.
>
> tests/valid/Mercury.options:
> tests/valid/Mmakefile:
> tests/valid/lco_term.m:
> Add a test case.
>
> diff --git a/compiler/handle_options.m b/compiler/handle_options.m
> index 8ce66e7..a34295f 100644
> --- a/compiler/handle_options.m
> +++ b/compiler/handle_options.m
> @@ -1478,11 +1478,6 @@ postprocess_options_2(OptionTable0, Target, GC_Method, TagsMethod0,
> ProfileDeep = yes
> ),
>
> - % --optimize-constructor-last-call is currently not compatible with
> - % --highlevel-data.
> - option_implies(highlevel_data, optimize_constructor_last_call,
> - bool(no), !Globals),
> -
Please check that it does work in, for example hl.gc, before doing the
above. If it doesn't then you've just broken then standard library in
that grade - if it doesn't work in C grades with --highlevel-data then
disable it for again for C + high-level data.
Julien.
--------------------------------------------------------------------------
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