[m-dev.] [Q] Eager code gen and structure reuse problem
Peter Ross
petdr at miscrit.be
Thu Oct 12 18:02:46 AEDT 2000
On Thu, Oct 12, 2000 at 01:41:10PM +1100, Zoltan Somogyi wrote:
> On 11-Oct-2000, Peter Ross <petdr at miscrit.be> wrote:
> > % --no-lazy-code assumes that const(_) rvals are really
> > % constant, and that create(_) rvals with constant arguments can
> > % be materialized in an assignable rval without further code.
> > % For float_consts, the former is true only if either
> > % static_ground_terms or unboxed_floats is true, and the latter
> > % cannot be true without static_ground_terms.
> > option_neg_implies(lazy_code, static_ground_terms, bool(yes)),
> >
> > Is it possible to remove this constraint?
>
> I presume you want to remove the part that says
>
> "create(_) rvals with constant arguments can
> be materialized in an assignable rval without further code."
>
Yes that is the part.
> It ought to be possible, yes. Have a look at the condition of the if-then-else
> in var_locn__assign_cell_to_var.
>
> You will have to make sure that any modifications you make don't screw up
> the places where the compiler generates constant terms of its own, e.g.
> for string switches and lookup switches. However, this should be simple,
> since such terms should not be subject to structure reuse.
>
Thanks.
Peter
--------------------------------------------------------------------------
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