[m-dev.] diff: add eval_method_uses_table

Zoltan Somogyi zs at cs.mu.OZ.AU
Wed Jan 26 14:05:37 AEDT 2000


> +	% Return true if the given evaluation method uses a table.
> +	% If so, the back-end must generate a declaration for the
> +	% variable to hold the table.
> +:- func eval_method_uses_table(eval_method) = bool.

Nope, this centralized test is not what I meant in my previous mail. What
I meant is that *each individual piece of code that examines the eval method*
must contain its own switch on eval method.

The eval method I am adding is tabling of I/O actions. Inlining ought to
ignore procedures with this eval method just as it ignore other kinds of tabled
procedures. However, all I/O tabled procedures share the same tabling pointer,
which is defined in the runtime and not in the user program, which means
the code generator should not generate a tabling pointer for such procedures.

Zoltan.
--------------------------------------------------------------------------
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