Zoltan Somogyi
d013a4cfcf
Change the types that represent forward and reverse goal paths from being
...
Estimated hours taken: 20
Branches: main
Change the types that represent forward and reverse goal paths from being
wrappers around lists of steps, to being full discriminated union types.
This is meant to accomplish two objectives.
First, since taking the wrappers off and putting them back on is inconvenient,
code often dealt with naked lists of steps, with the meaning of those steps
sometimes being unclear.
Second, in a future change I intend to change the way the debugger represents
goal paths from being strings to being statically allocated terms of the
reverse_goal_path type. This should have two benefits. One is reduced memory
consumption, since two different goal path strings cannot share memory
but two different reverse goal paths can share the memory containing their
common tail (the goal paths steps near the root). The other is that the
declarative debugger won't need to do any conversion from string to structure,
and should therefore be faster.
Having the compiler generate static terms of the reverse_goal_path type into
the .c files it generates for every Mercury program being compiled with
debugging requires it to have access to the definition of that type and all
its components. The best way to do this is to put all those types into a new
builtin module in the library (a debugging equivalent of e.g.
profiling_builtin.m). We cannot put the definition of the list type into
that module without causing considerable backward incompatibilities.
mdbcomp/mdbcomp.goal_path.m:
Make the change described above.
Add some more predicates implementing abstract operations on goal
paths.
browser/declarative_tree.m:
compiler/goal_path.m:
compiler/goal_util.m:
compiler/hlds_goal.m:
compiler/introduce_parallelism.m:
compiler/mode_ordering.m:
compiler/push_goals_together.m:
compiler/rbmm.condition_renaming.m:
compiler/trace_gen.m:
compiler/tupling.m:
compiler/unneeded_code.m:
deep_profiler/autopar_costs.m:
deep_profiler/autopar_reports.m:
deep_profiler/autopar_search_callgraph.m:
deep_profiler/autopar_search_goals.m:
deep_profiler/create_report.m:
deep_profiler/message.m:
deep_profiler/program_representation_utils.m:
deep_profiler/read_profile.m:
deep_profiler/recursion_patterns.m:
deep_profiler/var_use_analysis.m:
Conform to the change in representation. In some cases, remove
predicates whose only job was to manipulate wrappers. In others,
replace concrete operations on lists of steps with abstract operations
on goal paths.
compiler/mode_constraints.m:
Comment out some code that I do not understand, which I think never
worked (not surprising, since the whole module has never been
operational).
mdbcomp/slice_and_dice.m:
Since this diff changes the types representing goal paths, it also
changes their default ordering, as implemented by builtin.compare.
When ordering slices and dices by goal paths, make the ordering
explicitly work on the forward goal path, since ordering by the
reverse goal path (the actual data being used) gives nonintuitive
results.
library/list.m:
Speed up some code.
mdbcomp/feedback.automatic_parallelism.m:
Fix some formatting.
2011-09-26 07:08:58 +00:00
..
2011-08-15 06:23:20 +00:00
2011-06-17 07:51:18 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-08-11 06:38:17 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-07-04 03:27:13 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-09-02 02:41:58 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 03:34:39 +00:00
2011-05-23 05:08:24 +00:00
2011-05-25 08:04:27 +00:00
2011-08-16 03:26:40 +00:00
2011-09-06 05:20:45 +00:00
2011-05-23 05:08:24 +00:00
2011-08-11 23:19:00 +00:00
2011-09-06 05:20:45 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-07-05 03:34:39 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-07-21 06:58:34 +00:00
2011-09-16 07:03:36 +00:00
2011-09-16 07:03:36 +00:00
2011-07-21 06:58:34 +00:00
2011-08-16 03:26:40 +00:00
2011-09-18 15:14:33 +00:00
2011-08-16 03:26:40 +00:00
2011-07-25 05:46:02 +00:00
2011-09-13 06:07:15 +00:00
2011-05-24 00:53:04 +00:00
2011-08-16 03:26:40 +00:00
2011-09-21 05:09:26 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-09-13 06:07:15 +00:00
2011-09-13 06:07:15 +00:00
2011-08-16 03:26:40 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-05-25 08:04:27 +00:00
2011-06-17 07:51:18 +00:00
2011-06-15 01:05:34 +00:00
2011-05-23 05:08:24 +00:00
2011-09-06 05:20:45 +00:00
2011-09-06 05:20:45 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-08-16 03:26:40 +00:00
2011-07-05 03:34:39 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-15 01:05:34 +00:00
2011-08-31 07:59:35 +00:00
2011-06-16 06:42:19 +00:00
2011-09-16 07:03:36 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-06-16 06:42:19 +00:00
2011-08-16 03:26:40 +00:00
2011-06-17 07:51:18 +00:00
2011-09-16 07:03:36 +00:00
2011-09-21 06:11:30 +00:00
2011-08-31 07:59:35 +00:00
2011-09-26 07:08:58 +00:00
2011-05-23 05:08:24 +00:00
2011-09-26 07:08:58 +00:00
2011-08-31 07:59:35 +00:00
2011-07-21 06:58:34 +00:00
2011-09-06 05:20:45 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-05-23 05:08:24 +00:00
2011-06-16 06:42:19 +00:00
2011-09-02 02:41:58 +00:00
2011-09-13 06:07:15 +00:00
2011-05-23 05:08:24 +00:00
2011-09-26 07:08:58 +00:00
2011-08-16 03:26:40 +00:00
2011-08-22 04:23:14 +00:00
2011-09-13 06:07:15 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 03:34:39 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-07-21 06:58:34 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-06-16 06:42:19 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-08-22 04:23:14 +00:00
2011-09-13 06:07:15 +00:00
2011-09-26 07:08:58 +00:00
2011-07-21 06:58:34 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-09-26 04:30:48 +00:00
2011-05-20 04:16:58 +00:00
2011-09-16 07:03:36 +00:00
2011-08-31 07:59:35 +00:00
2011-05-25 08:04:27 +00:00
2011-08-31 07:59:35 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-09-16 07:03:36 +00:00
2011-05-20 04:16:58 +00:00
2011-09-16 07:03:36 +00:00
2011-09-16 07:03:36 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-16 07:03:36 +00:00
2011-09-13 06:46:03 +00:00
2011-07-25 03:32:07 +00:00
2011-09-02 05:53:09 +00:00
2011-05-17 05:37:30 +00:00
2011-05-23 05:08:24 +00:00
2011-09-02 05:53:09 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-07-21 06:58:34 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-16 06:42:19 +00:00
2011-05-31 03:14:21 +00:00
2011-05-23 05:08:24 +00:00
2011-08-01 03:31:03 +00:00
2011-09-15 18:00:35 +00:00
2011-07-05 03:34:39 +00:00
2011-08-31 07:59:35 +00:00
2011-08-22 07:56:10 +00:00
2011-08-15 06:23:20 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-09-06 05:20:45 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-06-16 07:54:25 +00:00
2011-06-15 17:30:09 +00:00
2011-05-10 04:12:28 +00:00
2011-09-06 05:20:45 +00:00
2011-09-06 00:22:58 +00:00
2011-08-15 06:23:20 +00:00
2011-08-22 07:56:10 +00:00
2011-08-22 07:56:10 +00:00
2011-08-15 06:23:20 +00:00
2011-08-15 06:23:20 +00:00
2011-06-16 06:42:19 +00:00
2011-08-15 06:23:20 +00:00
2011-09-06 05:20:45 +00:00
2011-09-06 05:20:45 +00:00
2011-05-20 04:16:58 +00:00
2011-09-16 07:03:36 +00:00
2011-08-22 07:56:10 +00:00
2011-09-06 05:20:45 +00:00
2011-09-06 05:20:45 +00:00
2011-05-23 05:08:24 +00:00
2011-08-22 07:56:10 +00:00
2011-05-23 05:08:24 +00:00
2011-08-22 07:56:10 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-09-26 07:08:58 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-09-26 07:08:58 +00:00
2011-05-19 13:11:47 +00:00
2011-05-19 13:11:47 +00:00
2011-05-19 13:11:47 +00:00
2011-08-31 07:59:35 +00:00
2011-08-16 03:26:40 +00:00
2011-09-12 08:06:25 +00:00
2011-09-13 06:46:03 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-09-21 05:09:26 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-16 06:42:19 +00:00
2011-07-05 03:34:39 +00:00
2011-09-16 07:03:36 +00:00
2011-09-16 07:03:36 +00:00
2011-05-23 05:08:24 +00:00
2011-08-09 11:00:55 +00:00
2011-09-15 18:00:35 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-07-21 06:58:34 +00:00
2011-08-22 04:23:14 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-06-17 07:51:18 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-06-16 06:42:19 +00:00
2011-08-31 07:59:35 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-07-21 06:58:34 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-06 05:20:45 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-20 07:17:50 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-16 07:54:25 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 03:34:39 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 21:17:51 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-09-02 02:41:58 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-09-26 07:08:58 +00:00
2011-09-13 06:07:15 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-09-26 07:08:58 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-15 01:05:34 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-08-31 07:59:35 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 03:34:39 +00:00
2011-05-23 05:08:24 +00:00
2011-08-22 04:23:14 +00:00
2011-07-05 03:34:39 +00:00
2011-09-06 05:20:45 +00:00
2011-09-06 05:20:45 +00:00
2011-07-05 03:34:39 +00:00
2011-09-13 06:46:03 +00:00
2011-08-23 03:50:57 +00:00
2011-09-13 06:46:03 +00:00
2011-08-16 03:26:40 +00:00
2011-05-10 04:12:28 +00:00
2011-07-05 03:34:39 +00:00
2011-08-16 03:26:40 +00:00
2011-09-26 04:30:48 +00:00
2011-07-22 03:31:41 +00:00
2011-05-16 05:03:43 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-09-06 05:20:45 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-08-16 03:26:40 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-07-21 06:58:34 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-08-09 05:34:35 +00:00
2011-08-09 05:34:35 +00:00
2011-08-16 03:26:40 +00:00
2011-08-31 07:59:35 +00:00
2011-06-16 06:42:19 +00:00
2011-08-16 03:26:40 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-06-15 17:30:09 +00:00
2011-06-16 06:42:19 +00:00
2011-08-31 07:59:35 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-03 01:44:15 +00:00
2011-06-15 01:05:34 +00:00
2011-09-26 07:08:58 +00:00
2011-09-26 04:30:48 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-09-26 07:08:58 +00:00
2011-05-23 05:08:24 +00:00
2011-08-22 04:23:14 +00:00
2011-07-05 03:34:39 +00:00
2011-09-06 05:20:45 +00:00
2011-08-22 04:23:14 +00:00
2011-05-23 05:08:24 +00:00
2011-09-13 06:07:15 +00:00
2011-09-16 07:03:36 +00:00
2011-08-16 03:26:40 +00:00
2011-09-13 06:07:15 +00:00
2011-09-26 07:08:58 +00:00
2011-08-31 07:59:35 +00:00
2011-08-31 07:59:35 +00:00
2011-06-16 06:42:19 +00:00
2011-05-25 08:04:27 +00:00
2011-09-16 07:03:36 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-05-23 05:08:24 +00:00
2011-07-05 03:34:39 +00:00