[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