1. 20 Nov, 2001 4 commits
    • sof's avatar
      [project @ 2001-11-20 21:39:12 by sof] · 1d5ba9bb
      sof authored
      getTimes (win32): Win9x OSes don't provide per-process timing data, so
      GetProcessTimes() doesn't do anything interesting. So, resort to using
      system-time instead to measure user/process time iff running under Win9x.
      (the precision is not as good, deltas were ~6 millisecs when testing
      on a Win98 box, but it's better than nothing).
      
      This change should make profiling on Win9x boxes finally work.
      1d5ba9bb
    • sof's avatar
      [project @ 2001-11-20 16:43:18 by sof] · 17035366
      sof authored
      Nuke #include of MachDeps.h - nothing in there that cannot be
      (better) gotten from the in-tree config.h
      
      This is the only (last?) use of MachDeps.h, so if anyone won't argue
      for its continued existence, I'll nuke it sometime soon.
      17035366
    • simonmar's avatar
      [project @ 2001-11-20 16:17:23 by simonmar] · 62b639a5
      simonmar authored
      Print to stdout instead of stderr.  I'm pretty ambivalent about this,
      but Sungwoo Park made the changes as part of his retainer profiling
      work so he must have had a good reason for it at the time...
      62b639a5
    • simonpj's avatar
      [project @ 2001-11-20 14:12:48 by simonpj] · 1d8621c1
      simonpj authored
      Add constant-folding rules for Float# and Double#
      1d8621c1
  2. 19 Nov, 2001 5 commits
    • sof's avatar
      [project @ 2001-11-19 18:53:50 by sof] · 57d15e1c
      sof authored
      If the configure script determined that the build-tree version of happy
      is to be used, descend into happy/ and build it, if needs be.
      57d15e1c
    • sof's avatar
      [project @ 2001-11-19 18:47:43 by sof] · 5b4f91d4
      sof authored
      - change the interpretation of FPTOOLS_TOP_ABS, it is now the UNIXy path.
        For Win32, it is of the form <drive>:<path> where '/' is the directory
        separator. Prior to this commit, the directory separator was '\'.
      - for the (only) place we need to have a platform-native representation
        of FPTOOLS_TOP_ABS, use FPTOOLS_TOP_ABS_PLATFORM.
      5b4f91d4
    • simonpj's avatar
      [project @ 2001-11-19 16:34:12 by simonpj] · 53ce311e
      simonpj authored
      Tidy up imports
      53ce311e
    • simonpj's avatar
      [project @ 2001-11-19 16:33:17 by simonpj] · 615a5546
      simonpj authored
      Improve error msg
      615a5546
    • simonpj's avatar
      [project @ 2001-11-19 14:23:52 by simonpj] · d8af6b8c
      simonpj authored
      --------------------------------------
      	Yet another cut at the DmdAnal domains
      	--------------------------------------
      
      This version of the domain for demand analysis was developed
      in discussion with Peter Sestoft, so I think it might at last
      be more or less right!
      
      Our idea is mentally to separate
      	strictness analysis
      from
      	absence and boxity analysis
      
      Then we combine them back into a single domain.  The latter
      is all you see in the compiler (the Demand type, as before)
      but we understand it better now.
      d8af6b8c
  3. 18 Nov, 2001 1 commit
  4. 16 Nov, 2001 3 commits
    • sof's avatar
      [project @ 2001-11-16 16:58:41 by sof] · 116328b6
      sof authored
      if IS_CBITS_LIB is YES: Extend SRC_HS2HS_OPTS in the same way that SRC_CC_OPTS is
      116328b6
    • simonpj's avatar
      [project @ 2001-11-16 15:42:26 by simonpj] · 772ffb22
      simonpj authored
      ---------------------------------------
      	Add continuation splitting to Simplify
      	---------------------------------------
      
      When the simplifier finds a 'case', it calls mkDupableAlt
      to make the "continuation" (that is, the context of the
      case expression) duplicatable, so that it can push it into
      the case branches.  This is crucial for the case-of-case
      transformation.
      
      But it turns out that it's a bad idea to do that when
      the context is "I'm the argument of a strict function".  Consider
      
      	f (case x of { True -> False; False -> True }) arg2
      
      where f is a strict function.  Then we *could* (and were)
      transforming to
      
      	let $j a = f a arg2
      	in
      	case x of { True -> $j False; False -> $j True }
      
      But this is in general a terribly bad thing to do.
      See the example in comments with Simplify.mkDupableCont.
      772ffb22
    • simonpj's avatar
      [project @ 2001-11-16 15:33:53 by simonpj] · 2ce9f3af
      simonpj authored
      Correct docs about SPECIALIZE instance; MERGE TO STABLE
      2ce9f3af
  5. 15 Nov, 2001 1 commit
  6. 14 Nov, 2001 5 commits
    • simonmar's avatar
      [project @ 2001-11-14 16:34:22 by simonmar] · 9a558a75
      simonmar authored
      use SET_HDR rather than explicitly setting p->header.info.
      9a558a75
    • simonmar's avatar
      [project @ 2001-11-14 11:46:12 by simonmar] · 37ed96e4
      simonmar authored
      Fix up the interpreter following the recent modifications to
      suspendThread/resumeThread.  Someone should test that foreign imports
      in the interpreter still work.
      37ed96e4
    • simonmar's avatar
      [project @ 2001-11-14 11:39:29 by simonmar] · 9bd3b5f3
      simonmar authored
      Change the way we do finalization for duplex handles.  Previously, we
      arranged that the read side pointed to the right side via a special
      handle type (ReadSideHandle _), and the finalizer points to the write
      side.  This turned out to interact badly with hGetContents, which
      likes to explicitly close the read side of the handle after it reads
      EOF or gets an error, which resulted in double-closes for duplex
      handles.
      
      Now we store the pointer from the read side to the write side in the
      Handle structure itself, so it doesn't get lost when hGetContents
      changes the handle type to SemiClosedHandle.  Furthermore, in hClose
      we no longer close the file descriptor associated with the read side
      of a duplex handle - the actual close will have to wait until the
      finalizer runs, because someone might still be using the write side.
      
      Thanks to Volker Stolz for pointing out the problem.
      9bd3b5f3
    • simonmar's avatar
      [project @ 2001-11-14 11:35:23 by simonmar] · 01bd67ae
      simonmar authored
      remove an unnecessary duplicate binding
      01bd67ae
    • simonmar's avatar
      [project @ 2001-11-14 11:15:53 by simonmar] · 92b87035
      simonmar authored
      GC unused import
      92b87035
  7. 13 Nov, 2001 5 commits
  8. 12 Nov, 2001 4 commits
  9. 09 Nov, 2001 9 commits
    • sof's avatar
      [project @ 2001-11-09 21:25:56 by sof] · 124690e9
      sof authored
      GhcCanonVersion: leave out GhcPatchLevel, causes problems when
      the GhcPatchLevel isn't a patchlevel but a date.
      124690e9
    • sof's avatar
      [project @ 2001-11-09 20:58:40 by sof] · 914cc0f0
      sof authored
      prel_PrelHandle_read(): de-hebetudified.
      914cc0f0
    • sof's avatar
      [project @ 2001-11-09 20:30:11 by sof] · cb470321
      sof authored
      Make recent rts/ changes work by recognising symbols starting
      with __stg as being known-funny-things.
      
      Still recognise "^stg" as 'funny', not sure if that's still
      needed.
      cb470321
    • sof's avatar
      [project @ 2001-11-09 18:40:52 by sof] · 6a0b3f67
      sof authored
      lookupInstEnv: "#ifdef DEBUG"-protect trace code
      that got included in prev. commit.
      
      (I'm guessing it either should be removed or moved
      into the ASSERT, but I'll let the original committer
      decide which).
      6a0b3f67
    • sof's avatar
      [project @ 2001-11-09 18:17:48 by sof] · 579b46fe
      sof authored
      * Moved CANON_HC_VERSION out of ghc/compiler/Makefile and into mk/config.mk.in
        (and renamed it as GhcCanonVersion).
      * Have ghc/driver/Makefile use it; cheaper and more robust than the version
        testing it was already doing.
      579b46fe
    • sof's avatar
      [project @ 2001-11-09 17:39:45 by sof] · cd844a66
      sof authored
      Optimised defn of CANON_HC_VERSION, synthesise it from config.mk info,
      not via an expensive $(shell ...) call.
      cd844a66
    • sof's avatar
      [project @ 2001-11-09 17:02:09 by sof] · 666d7f6b
      sof authored
      Use -fvia-C when compiling rename/ParseIface.hs and parser/Parser.hs -
      Int16 primops aren't supported by the NCG on all plats.
      666d7f6b
    • simonpj's avatar
      [project @ 2001-11-09 16:41:15 by simonpj] · b1c75ab0
      simonpj authored
      ---------------------------------------
      	Fix an obscure overlapping-instance bug
      	---------------------------------------
      
      	MERGE TO STABLE BRANCH
      
      When searching for instances, we used bale out if the type
      we seek could be instantiated to match the instance (because
      it might be so instantiated later, in which case we don't
      want to miss the opportunity).
      
      The bug was that we used *matching* whereas we should use
      *unification*.
      
      Comments in the file InstEnv.
      b1c75ab0
    • sof's avatar
      [project @ 2001-11-09 16:29:06 by sof] · 41a551e3
      sof authored
      Auto-rule for INSTALL_DATAS and cbits/ header files:
      
      Nuke $(shell perl -e '...') use, i.e., don't load in and start up
      a 3M binary just to capitalise a word (which gets done twice per
      invocation of 'make').
      41a551e3
  10. 08 Nov, 2001 3 commits
    • sof's avatar
      [project @ 2001-11-08 19:34:23 by sof] · 629b8c60
      sof authored
      gen_Eq_binds: when comparing constructor tags, emit just
      
         a == b = case con2tag_Foo# a of
                    a# -> case con2tag_Foo# b of b# -> a# PrelGHC.==# b#
      
      and not
      
         a == b = case con2tag_Foo# a of
                    a# -> case con2tag_Foo# b of
                            b# -> if a# PrelGHC.==# b# then PrelBase.True else PrelBase.False
      
      (Not that this wouldn't get simplified, but still).
      629b8c60
    • sof's avatar
      [project @ 2001-11-08 19:20:55 by sof] · 56883a7f
      sof authored
      rnHsForeignDecl: 'foreign import's (incl 'f.e.d's) _define_ local toplevel
      names, so better use RnEnv.lookupTopBndrRn and not RnEnv.lookupOccRn to
      resolve the name.
      
      As was, declaring ForeignImports with the same name as an imported entity
      wasn't permitted.
      56883a7f
    • sof's avatar
      [project @ 2001-11-08 18:55:19 by sof] · 0377a8db
      sof authored
      gencode: for completeness sake only, handle CCallTypedefs
      0377a8db