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


Ignore:
Timestamp:
Dec 5, 2007 4:41:49 PM (7 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