[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