1. 22 Dec, 2003 1 commit
    • simonmar's avatar
      [project @ 2003-12-22 16:27:10 by simonmar] · 354a661d
      simonmar authored
      Fix threaded RTS problem that is currently causing the conc007 test to
      loop indefinitely.  Comment from the source regarding this change:
      
      /* Major bogosity:
       *
       * In the threaded RTS, we can't set the virtual timer because the
       * thread which has the virtual timer might be sitting waiting for a
       * capability, and the virtual timer only ticks in CPU time.
       *
       * So, possible solutions:
       *
       * (1) tick in realtime.  Not very good, because this ticker is used for
       *     profiling, and this will give us unreliable time profiling
       *     results.  Furthermore, this requires picking a single OS thread
       *     to be the timekeeper, which is a bad idea because the thread in
       *     question might just be making a temporary call into Haskell land.
       *
       * (2) save/restore the virtual timer around excursions into STG land.
       *     Sounds great, but I tried it and the resolution of the virtual timer
       *     isn't good enough (on Linux) - most of our excursions fall
       *     within the timer's resolution and we never make any progress.
       *
       * (3) have a virtual timer in every OS thread.  Might be reasonable,
       *     because most of the time there is only ever one of these
       *     threads running, so it approximates a single virtual timer.
       *     But still quite bogus (and I got crashes when I tried this).
       *
       * For now, we're using (1), but this needs a better solution. --SDM
       */
      354a661d
  2. 19 Dec, 2003 3 commits
    • simonmar's avatar
      [project @ 2003-12-19 10:41:14 by simonmar] · fdb2b1fd
      simonmar authored
      Fix DEBUG & !RTS_SUPPORTS_THREADS build (bogus assertion failure)
      fdb2b1fd
    • simonpj's avatar
      [project @ 2003-12-19 10:39:54 by simonpj] · fc13ed2f
      simonpj authored
      Accept unboxed tuples in type signatures
      fc13ed2f
    • simonpj's avatar
      [project @ 2003-12-19 10:34:51 by simonpj] · 3674a5cc
      simonpj authored
      ---------------------------------------
        Precise locations for duplicate imports
        ---------------------------------------
      
      As a displacment activity I added reporting for duplicate imports
      And more precise locations for the imports themselves.  For example:
      
        module T where
      
        import Maybe (isJust,isJust)
        import Maybe (isJust)
      
      gives
      
      Foo.hs:
          Warning: `isJust' is imported more than once:
      	       imported from Maybe at Foo.hs:4:16-21
      	       imported from Maybe at Foo.hs:3:23-28
      	       imported from Maybe at Foo.hs:3:16-21
      3674a5cc
  3. 18 Dec, 2003 8 commits
  4. 17 Dec, 2003 6 commits
    • sof's avatar
      [project @ 2003-12-17 17:29:28 by sof] · 911a9fad
      sof authored
      merge rev. 1.106.2.3
      911a9fad
    • sof's avatar
      [project @ 2003-12-17 17:18:27 by sof] · 920a3de7
      sof authored
      merge rev. 1.128.2.11
      920a3de7
    • simonmar's avatar
      [project @ 2003-12-17 12:17:18 by simonmar] · 39dbe3c2
      simonmar authored
      Fix up following changes to the Capability API.  (strange, I'm *sure*
      I tested this stuff...)
      39dbe3c2
    • simonpj's avatar
      [project @ 2003-12-17 11:43:13 by simonpj] · 9d458d01
      simonpj authored
      ---------------------------------
        Gate in a few more instance decls
        ---------------------------------
      
      When we have
      	instance T a where...
      
      we need to suck in the instance decl rather more aggressively than we
      were.  (A case I hadn't thought of because it only happens with
      undecideable instances.)
      9d458d01
    • simonpj's avatar
      [project @ 2003-12-17 11:29:40 by simonpj] · ca0b7c66
      simonpj authored
      -----------------------------------------------------
        Fix a subtle loop in the context-reduction machinery
        ----------------------------------------------------
      
      This bug was provoked by a recent change: when trying to prove
      a constraint C, TcSimplify.reduce now adds C to the database before
      trying to prove C, thus building recursive dictionaries.
      
      Two bugs
      a) If we add C's superclasses (which we were) we can now build a
         bogusly-recursive dictionary (see Note [SUPERCLASS-LOOP]).
         Solution: in reduce, add C only (via addIrred NoSCs) and then
         later use addWanted to add its definition plus SCs.
      
      b) Since we can have recursive definitions, the superclass-loop
         handling machinery (findAllDeps) must carry its visited-set
         with it (which it was not doing before)
      
      
      The main file is TcSimplify; but I modified a bunch of others to
      take advantage of new function extendVarSetList
      ca0b7c66
    • panne's avatar
      [project @ 2003-12-17 08:38:14 by panne] · 69e27f1d
      panne authored
      To get wglGetProcAddress on Windows, we have to link with
      opengl32.dll, too, even when we are using Cygwin with X11.
      69e27f1d
  5. 16 Dec, 2003 12 commits
  6. 15 Dec, 2003 5 commits
    • simonmar's avatar
      [project @ 2003-12-15 16:45:23 by simonmar] · 2ca13796
      simonmar authored
      Add assertion.
      2ca13796
    • simonmar's avatar
      [project @ 2003-12-15 16:43:45 by simonmar] · 410a99e4
      simonmar authored
      Debugging output wibble
      410a99e4
    • simonmar's avatar
      [project @ 2003-12-15 16:23:54 by simonmar] · 56a125f2
      simonmar authored
      Fix a deadlock: an OS thread returning from a C call could enter
      grabReturnCapability, grabbing the capability that was in the process
      of being passed to another thread via passCapability.  This leads to a
      deadlock shortly afterward, because the passCapability flag is still
      set, so a normal worker won't pick up the capability when it is
      released.
      
      Fix (not sure if this is the best fix, though): don't grab the
      capability in grabReturnCapability() if passCapabilty is set.
      56a125f2
    • simonmar's avatar
      [project @ 2003-12-15 14:31:48 by simonmar] · 622da085
      simonmar authored
      Fix locking bug in awaitEvent(): in one code path it could return with
      sched_lock unlocked.
      622da085
    • simonmar's avatar
      [project @ 2003-12-15 14:28:39 by simonmar] · ddbdee33
      simonmar authored
      Fix bogosity in implementation of ACQUIRE_LOCK/RELEASE_LOCK on Win32.
      These functions were essentially doing nothing, due to a missing
      dereference on the argument.
      
      I've rewritten them as inlines (to catch type errors) and added some
      checking of the return values, which should help catch errors like
      this in the future.
      ddbdee33
  7. 12 Dec, 2003 1 commit
  8. 11 Dec, 2003 3 commits
  9. 10 Dec, 2003 1 commit