Changes between Initial Version and Version 2 of Ticket #934


Ignore:
Timestamp:
Jan 23, 2007 11:18:10 PM (8 years ago)
Author:
igloo
Comment:

Legend:

Unmodified
Added
Removed
Modified
  • Ticket #934

    • Property Milestone changed from to 6.8
  • Ticket #934 – Description

    initial v2  
    1 In GHC.hs, there is a comment that says that module stability is not important for BatchCompile. However, isn't that only true when there is only one load per Session? For example, if I do: 
     1In GHC.hs, there is a comment that says that module stability is not important for !BatchCompile. However, isn't that only true when there is only one load per Session? For example, if I do: 
    22 
     3{{{ 
    34session <- newSession BatchCompile Nothing 
    45load session LoadAllTargets 
    56load session LoadAllTargets 
     7}}} 
    68 
    79Wouldn't checking the module stability be useful or even required for the second load? The problem I encountered is that, if I do not check stability, then when I execute any load after the first, GHC does not do dependency analysis correctly--things are getting recompiled during the second load even though the first load already compiled everything. It seems like this might only be the case for programs with mutually recursive modules, since most programs I tested with seem to get compiled okay. 
    810 
    9 There are other cases in the code where it is assumed that GHC.load will be executed only once per session. For example, MkIface.check_old_iface. 
     11There are other cases in the code where it is assumed that GHC.load will be executed only once per session. For example, !MkIface.check_old_iface. 
    1012 
    1113I hastily made some modifications to GHC.load2 so that the stability check is always made, and then changd GHC.upsweep_mod to make use of the stability information. Once that was done, then my program works correctly. Could somebody please let me know if this would be an acceptable type of change to make to the API?