[m-rev.] for review: unnecessary recompilations with intermodule analysis
Julien Fischer
juliensf at csse.unimelb.edu.au
Thu May 29 14:29:05 AEST 2008
On Thu, 29 May 2008, Peter Wang wrote:
> Branches: main
>
> The `--intermodule-analysis' option was broken in that touching a `.m' file
> would cause its `.analysis' file to be remade (correct) but then all the
> target code files which depend on that `.analysis' file would be remade,
> even if the `.analysis' file should be unchanged.
>
> Fix that by making analysis files work like other interface files: the
> timestamp on the `.analysis' file reflects the last time it was changed, and
> the `.analysis_date' file reflects the last time the module was analysed.
>
> To that end we need to move the module status out of the `.analysis' file into
> a corresponding `.analysis_status' file. Then analysing other modules will
> only touch the `.analysis_status' file. `.analysis_status' are not installed.
>
> compiler/analysis.m:
> compiler/analysis.file.m:
> Separate predicates for reading/writing the module status from the
> module analysis results proper.
>
> Use the usual technique of writing analysis results to `.analysis.tmp'
> and only updating the `.analysis' file if its changed.
>
> Write analysis results for a single function-id in sorted order to
> remove spurious differences.
>
> Make use some standard interface file handling predicates.
That sentence doesn't parse well.
> compiler/make.util.m:
> Simplify the special treatment of timestamps for `.analysis' files.
>
> compiler/make.module_target.m:
> compiler/make.program_target.m:
> Conform to interface changes.
That looks okay otherwise.
Julien.
--------------------------------------------------------------------------
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