Changes between Version 10 and Version 11 of Commentary/Compiler/RecompilationAvoidance


Ignore:
Timestamp:
Dec 5, 2007 4:41:49 PM (8 years ago)
Author:
simonmar
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • Commentary/Compiler/RecompilationAvoidance

    v10 v11  
    343343'''Examples'''.
    344344
     345Suppose we change the definition of `T` in module D. 
     346
     347 * We recompile D, and D's version will change from 1 to 2, because its decls have changed. 
     348 * B will be recompiled, because its usages lists D (since it exports `D.f`).  Since its exports lists
     349   `D.f`, and D's version has changed, B's version will also increase to 2.
     350 * C will be recompiled, but its version stays the same, since it has no exports or decls.
     351 * A will be recompiled, because its usage list includes D, and D's version changed.  A's version will
     352   stay the same, however.
     353
     354So in this case modifying `D.T` has forced recompilation of B and A, although under the current scheme neither of these modules would be recompiled.
     355
     356
     357