1. 13 Dec, 2004 1 commit
  2. 10 Dec, 2004 1 commit
    • simonmar's avatar
      [project @ 2004-12-10 13:34:38 by simonmar] · ea453574
      simonmar authored
      stg_sel_##offset##_upd_entry: the ENTER() here is unnecessary, because
      we know the closure in R1 will evaluate to a constructor, so we can
      save some time by just entering it directly.
      ea453574
  3. 08 Dec, 2004 6 commits
    • simonpj's avatar
      [project @ 2004-12-08 15:09:14 by simonpj] · 0e6454e6
      simonpj authored
      Undo bogus 1.4 commit
      0e6454e6
    • simonpj's avatar
      [project @ 2004-12-08 15:03:50 by simonpj] · 3599ea7a
      simonpj authored
      First commit for new Cmm code generation (branch)
      3599ea7a
    • simonpj's avatar
      [project @ 2004-12-08 14:32:28 by simonpj] · 7504acab
      simonpj authored
      Comments and asserts only
      7504acab
    • simonmar's avatar
      [project @ 2004-12-08 12:05:51 by simonmar] · c418e72f
      simonmar authored
      Fix bug #1073501: checkProddableBlock: invalid fixup in runtime linker
      
      The bug manifested when trying to load an object with debugging info
      (compiled with gcc -g) into GHCi.
      
      The problem was that the object loader was ignoring the sections
      containing debugging info, but then it was later trying to do
      relocations for those sections, and its own sanity checking code
      correctly detected that the relocations were in unknown parts of the
      object file.
      
      The fix is to ignore relocations whose target section isn't one of the
      sections that we're interested in, using the same test in both cases
      (the code to test section kind has been extracted).  The code could
      probably benefit from more refactoring: it looks like the list of
      sections we build up in the first phase isn't even used in the second
      phase, instead we traverse the section table in the image again.  This
      looks like cruft leftover from when the GC used to check whether an
      address was in text or data space.
      c418e72f
    • simonmar's avatar
      [project @ 2004-12-08 10:29:01 by simonmar] · 8d750a5c
      simonmar authored
      deleteThread: don't attempt to delete threads blocked in foreign calls.
      8d750a5c
    • simonmar's avatar
      [project @ 2004-12-08 09:28:57 by simonmar] · 5ece0e43
      simonmar authored
      Prevent any intermediate file deletion using
      
        .SECONDARY:
      
      and remove now-unnecessary .PRECIOUS and .SECONDARY targets.
      Suggestion from Ashley Yakeley.
      5ece0e43
  4. 06 Dec, 2004 3 commits
    • simonpj's avatar
      [project @ 2004-12-06 10:58:06 by simonpj] · bfb87645
      simonpj authored
      ---------------------
      	Bug in specialisation
      	---------------------
      
      Laszlo managed to get a function like this:
      
      	foo :: Enum a => (# a, Int #)
      
      The specialiser specialised it, resulting in an unboxed tuple
      binding, which Lint objected to.
      
      This commit adds a dummy argument to the specialised function, 
      very like the case for strictness analysis.  For example, at
      type Char we'd get
      
      	foo_char :: State# RealWorld -> (# Char, Int #)
       	foo_char = \_ -> ...
      
      We use a State# type because it generates no argument-passing code 
      at runtime.  (We should really have some other void type for this 
      purpose, because State# is misleading, but this way avoids extra
      types.)
      bfb87645
    • simonpj's avatar
      [project @ 2004-12-06 10:51:36 by simonpj] · f6f3819f
      simonpj authored
      ------------------------------------
      	Bug in loop detection in TcSimplify
      	------------------------------------
      
      The type-class context simplifier has been able to 
      build recursive dictionaries for some time: co-induction.
      That is, you can build a proof for constraint C by assuming
      that C holds when proving the preconditions of C.
      
      You need to be in -fallow-undecidable-instances land to 
      make use of this: see comments with [RECURSIVE DICTIONARIES]
      in TcSimplify.lhs.
      
      Anyway, this is all fine, but I'd implemented it wrong!  You need
      to be very careful with superclasses, or you can make a bogus
      loop by mistake.  This commit fixes it; tests LoopOfTheDay{1,2,3}
      will test it (thanks Ralf Laemmel).
      f6f3819f
    • simonmar's avatar
      [project @ 2004-12-06 10:47:22 by simonmar] · 23843129
      simonmar authored
      Error message fixup
      23843129
  5. 04 Dec, 2004 3 commits
  6. 03 Dec, 2004 8 commits
  7. 02 Dec, 2004 5 commits
  8. 01 Dec, 2004 1 commit
  9. 30 Nov, 2004 8 commits
  10. 29 Nov, 2004 4 commits
    • wolfgang's avatar
      [project @ 2004-11-29 23:28:58 by wolfgang] · 451c185c
      wolfgang authored
      Revert part of the previous commit.
      Something unrelated slipped in :-(.
      451c185c
    • wolfgang's avatar
      [project @ 2004-11-29 23:21:43 by wolfgang] · f9f374cf
      wolfgang authored
      Fix -dynamic compilation - don't use nameModule on names that might be
      local.
      f9f374cf
    • simonpj's avatar
      [project @ 2004-11-29 16:25:03 by simonpj] · b3fe66bb
      simonpj authored
      ---------------------
      	Simplify ImportAvails
      	---------------------
      
      Every Name has, for some while, contained its "parent";
      the type or class inside which it is defined.  But the rest
      of the renamer wasn't using this information as much as it 
      could do.  In particular, the ImportAvails type was more elaborate
      than necessary.
      
      This commit combines these two fields of ImportAvails:
      	imp_env :: AvailEnv
      	imp_qual :: ModuleEnv AvailEnv
      into one
      	imp_env :: ModuleEnv NameSet 
      
      This is quite a bit simpler.  Less redundancy and, I think, less
      code.
      b3fe66bb
    • simonpj's avatar
      [project @ 2004-11-29 16:24:16 by simonpj] · d1675fe0
      simonpj authored
      Trim imports
      d1675fe0