[m-rev.] diff: tabling in non-C grades

Julien Fischer juliensf at cs.mu.OZ.AU
Tue Dec 21 04:30:45 AEDT 2004


On Mon, 20 Dec 2004, Zoltan Somogyi wrote:

> compiler/table_gen.m:
> 	When processing predicates with tabling pragmas in grades that don't
> 	support tabling, generate a message and ignore the pragma.

In addition to the diff regarding accurate gc, the following one
is also required.  Unfortunately, even when this diff is applied
we still end up with assertion failures in the ml code generator
and in part of the il backend.  Wouldn't the correct approach
here be to set the eval_method to eval_normal for all procedures
if we are in a grade that does not support tabling?

Estimated hours taken: 0.5
Branches: main

compiler/table_gen.m:
	Fix the change to ignore tabling if the grade we are
	compiling in does not support it.

	XXX tabled predicates still cause assertion failures
	in grades hlc.agc and il.

Index: table_gen.m
===================================================================
RCS file: /home/mercury1/repository/mercury/compiler/table_gen.m,v
retrieving revision 1.69
diff -u -r1.69 table_gen.m
--- table_gen.m	20 Dec 2004 07:45:13 -0000	1.69
+++ table_gen.m	20 Dec 2004 17:14:55 -0000
@@ -139,8 +139,9 @@
 		!ModuleInfo, !GenMap, !IO) :-
 	proc_info_eval_method(ProcInfo0, EvalMethod),
 	( eval_method_requires_tabling_transform(EvalMethod) = yes ->
-		table_gen__transform_proc(EvalMethod, PredId, ProcId,
-			ProcInfo0, _, PredInfo0, _, !ModuleInfo, !GenMap, !IO)
+		table_gen__transform_proc_if_possible(EvalMethod, PredId,
+			ProcId, ProcInfo0, _, PredInfo0, _, !ModuleInfo,
+			!GenMap, !IO)
 	;
 		module_info_globals(!.ModuleInfo, Globals),
 		globals__lookup_bool_option(Globals, trace_table_io, yes),

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