[m-rev.] diff: split up three big modules
Zoltan Somogyi
zs at csse.unimelb.edu.au
Wed Nov 4 14:36:34 AEDT 2009
This diff only moves code around; it does not change the code. The diff
is too big to post; it is in ~zs/tmp/DIFF.split.
Zoltan.
Split up three big compiler modules: llds_out.m, hlds_out.m (5000+ lines each)
and deep_profiling.m (3000+ lines). Put the predicates in the resulting
smaller modules into cohesive groups where possible. A few of the predicates
in the original modules were unused; this diff deletes them.
There are no algorithmic changes.
compiler/llds_out_code_addr.m:
New module containing the part of llds_out.m that outputs
code addresses and labels.
compiler/llds_out_data.m:
New module containing the part of llds_out.m that outputs
lvals, rvals and their components.
compiler/llds_out_global.m:
New module containing the part of llds_out.m that generates
global static C data structures.
compiler/llds_out_instr.m:
New module containing the part of llds_out.m that outputs
instructions
compiler/llds_out_file.m:
New module containing the top level part of llds_out.m,
which coordinates the generation of a whole C source file.
compiler/llds_out_util.m:
New module containing the utility parts of llds_out.m.
compiler/llds_out.m:
Replace everything in this file with just the includes of the
submodules that now have all its previous contents.
compiler/hlds_llds.m:
Move a predicate here from llds_out.m, since it is a utility
predicate operating on a type defined here.
compiler/rtti_out.m:
Move a predicate here from llds_out.m, since it is a predicate
generating output from a rtti type.
compiler/hlds_out_mode.m:
The part of hlds_out.m that deals with writing out insts and modes.
compiler/hlds_out_goal.m:
The part of hlds_out.m that deals with writing out goals.
compiler/hlds_out_pred.m:
The part of hlds_out.m that deals with writing out predicates and
procedures.
compiler/hlds_out_module.m:
The part of hlds_out.m that deals with writing out module-wide tables.
compiler/hlds_out_util.m:
Parts of hlds_out.m that don't fit in anywhere else.
compiler/hlds_out.m:
Replace everything in this file with just the includes of the
submodules that now have all its previous contents.
compiler/simplify.m:
compiler/hlds_goal.m:
Move some insts from simplify.m to hlds_goal.m to allow
hlds_out_goal.m to use them also.
compiler/coverage_profiling.m:
The part of deep_profiling.m that deals with coverage profiling.
compiler/deep_profiling.m:
Remove the code moved to coverage_profiling.m, and export the utility
predicates needed by coverage_profiling.m.
Remove the things moved to prog_data.m and hlds_goal.m.
Put the predicates into a more logical order.
compiler/hlds_goal.m:
Move some predicates here from deep_profiling.m, since they
belong here.
compiler/prog_data.m:
Move a type from deep_profiling.m here, since it belongs here.
compiler/add_pragma.m:
Add a predicate from llds_out.m that is used only here.
compiler/*.m:
Conform to the changes above.
--------------------------------------------------------------------------
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