Commit 6c06a48b authored by simonmar's avatar simonmar
Browse files

[project @ 2004-08-12 11:19:39 by simonmar]

Take the timestamp of an interpreted linkable from the timestamp of
the source file.  This works better when the local clock is out of
sync with the filesystem, and it's just as accurate.
parent af621730
......@@ -948,7 +948,8 @@ upsweep_mod hsc_env oldUI summary1 reachable_inc_me
| otherwise = False
compresult <- compile hsc_env_strictDC this_mod location
source_unchanged have_object mb_old_iface
(ms_hs_date summary1)
source_unchanged have_object mb_old_iface
case compresult of
......
......@@ -52,9 +52,7 @@ import ParserCoreUtils ( getCoreModuleName )
import EXCEPTION
import DATA_IOREF ( readIORef, writeIORef )
#ifdef GHCI
import Time ( getClockTime )
#endif
import Time ( ClockTime )
import Directory
import System
import IO
......@@ -99,6 +97,7 @@ preprocess filename =
compile :: HscEnv
-> Module
-> ModLocation
-> ClockTime -- timestamp of original source file
-> Bool -- True <=> source unchanged
-> Bool -- True <=> have object
-> Maybe ModIface -- old interface, if available
......@@ -116,7 +115,7 @@ data CompResult
| CompErrs
compile hsc_env this_mod location
compile hsc_env this_mod location src_timestamp
source_unchanged have_object
old_iface = do
......@@ -182,8 +181,13 @@ compile hsc_env this_mod location
HscInterpreted ->
case maybe_interpreted_code of
#ifdef GHCI
Just comp_bc -> do tm <- getClockTime
return ([BCOs comp_bc], tm)
Just comp_bc -> return ([BCOs comp_bc], src_timestamp)
-- Why do we use the timestamp of the source file here,
-- rather than the current time? This works better in
-- the case where the local clock is out of sync
-- with the filesystem's clock. It's just as accurate:
-- if the source is modified, then the linkable will
-- be out of date.
#endif
Nothing -> panic "compile: no interpreted code"
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment