[m-rev.] diff: remove out of date structure sharing info in specialised procs

Peter Wang novalazy at gmail.com
Thu Jan 24 14:44:34 AEDT 2008


Branches: main

compiler/higher_order.m:
	When generating a specialised procedure, remove any imported structure
	sharing and reuse information that is present for the original
	procedure as they won't be (directly) applicable.  This prevents
	compiler aborts during structure sharing and reuse analyses.

Index: compiler/higher_order.m
===================================================================
RCS file: /home/mercury/mercury1/repository/mercury/compiler/higher_order.m,v
retrieving revision 1.172
diff -u -r1.172 higher_order.m
--- compiler/higher_order.m	21 Jan 2008 00:32:47 -0000	1.172
+++ compiler/higher_order.m	24 Jan 2008 03:22:09 -0000
@@ -2979,6 +2979,11 @@
     conj_list_to_goal(list.append(ConstGoals, GoalList6), GoalInfo6, Goal),
     proc_info_set_goal(Goal, !NewProcInfo),
 
+    % Remove any imported structure sharing and reuse information for the
+    % original procedure as they won't be (directly) applicable.
+    proc_info_reset_imported_structure_sharing(!NewProcInfo),
+    proc_info_reset_imported_structure_reuse(!NewProcInfo),
+
     proc_info_get_vartypes(!.NewProcInfo, VarTypes7),
     map.apply_to_list(ExtraHeadVars, VarTypes7, ExtraHeadVarTypes0),
     remove_const_higher_order_args(1, OriginalArgTypes,

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