1. 10 Nov, 2005 1 commit
  2. 09 Nov, 2005 1 commit
  3. 08 Nov, 2005 7 commits
    • simonmar's avatar
      [project @ 2005-11-08 15:07:08 by simonmar] · cbc83989
      simonmar authored
      SMP bugfix: if the thread we were just running blocked, then we are in
      a delicate state - we don't necessarily have access to the TSO we were
      just running, because we relinquished it when we put it on whatever
      blocking queue it is on.  It might even be running already.
      
      Previously I made the scheduler quickly loop again in this case.
      However, I made it loop too quickly: we should be sure to set the
      blackholes_need_checking flag if necessary, otherwise we can miss some
      wakeups.
      cbc83989
    • simonmar's avatar
      [project @ 2005-11-08 14:20:28 by simonmar] · d3313aea
      simonmar authored
      more docs for GHC_PACKAGE_PATH
      d3313aea
    • simonmar's avatar
      [project @ 2005-11-08 14:18:35 by simonmar] · d76ab8dd
      simonmar authored
      when GHC_PACKAGE_PATH is set, treat the database at the bottom of the
      stack as the "global" one, ie. the one we modify by default.  This
      means that GHC_PACKAGE_PATH can be used to set up a virtual GHC
      package environment into which packages can be installed using Cabal,
      without setting anything other than GHC_PACKAGE_PATH.
      d76ab8dd
    • simonmar's avatar
      [project @ 2005-11-08 12:56:04 by simonmar] · 03341842
      simonmar authored
      gcc's -fstrict-aliasing is biting us when we use the stack to store
      different types of objects.  For example:
      
        *((StgDouble*)((W_)Sp-8)) = *((StgDouble*)((W_)Sp+8));
        Sp[1] = (W_)&s1Cx_info;
      
      gcc feels free to reorder these two lines, because they refer to
      differently typed objects, even though the assignment to Sp[1] clearly
      aliases the read from the same location.
      
      Trying to fix this by accessing locations using union types might be
      possible, but I took the sledgehammer approach of
      -fno-strict-aliasing.  This is justified to a certain extent because
      our generated C code is derived from a very weakly-typed internal
      language (C--).
      03341842
    • simonmar's avatar
      [project @ 2005-11-08 12:31:36 by simonmar] · 27249023
      simonmar authored
      unless I'm mistaken, only x86 needs -ffloat-store.  x86_64 certainly
      doesn't need it, because it uses SSE2 with the correct-sized floating
      point registers and doesn't store temporary results with more
      precision than results in memory.
      27249023
    • simonmar's avatar
      [project @ 2005-11-08 11:02:56 by simonmar] · fd8ddfb9
      simonmar authored
      Fix bug in an assertion
      fd8ddfb9
    • simonmar's avatar
      [project @ 2005-11-08 10:44:22 by simonmar] · 6e4e6a2a
      simonmar authored
      raiseAsync: fix bug that can cause a scavenge_stack panic for a thread
      that has just been killed.
      6e4e6a2a
  4. 07 Nov, 2005 2 commits
  5. 05 Nov, 2005 1 commit
  6. 04 Nov, 2005 5 commits
    • simonmar's avatar
      [project @ 2005-11-04 16:23:20 by simonmar] · c79b7216
      simonmar authored
      Document GHC_PACKAGE_PATH, and changes to the ghc-pkg command line interface.
      c79b7216
    • simonmar's avatar
      [project @ 2005-11-04 15:48:25 by simonmar] · be8b6cd5
      simonmar authored
      - Add support for the GHC_PACKAGE_PATH environment variable, which
        specifies a :-separated (;-separated on Windows) list of package
        database files.  If the list ends in : (; on Windows), then the
        normal user and global databases are added.
      
        GHC_PACKAGE_PATH is searched left-to-right for packages, like
        $PATH, but unlike -package-conf flags, which are searched
        right-to-left.  This isn't ideal, but it seemed the least worst to me
        (command line flags always override right-to-left (except -i),
        whereas the PATH environment variable overrides left-to-right, I chose
        to follow the environment variable convention).  I can always change
        it if there's an outcry.
      
      - Rationalise the interpretation of --user, --global, and -f on the
        ghc-pkg command line.  The story is now this: --user and --global
        say which package database to *act upon*, they do not change the
        shape of the database stack.  -f pushes a database on the stack, and
        also requests that the specified database be the one to act upon, for
        commands that modify the database.  If a database is already on the stack,
        then -f just selects it as the one to act upon.
      
        This means you can have a bunch of databases in GHC_PACKAGE_PATH, and
        use -f to select the one to modify.
      be8b6cd5
    • simonmar's avatar
      [project @ 2005-11-04 15:33:36 by simonmar] · de808d3b
      simonmar authored
      patch up forkProcess(): don't discard our own Task, and set
      cap->spare_workers to be empty in the child process.
      de808d3b
    • simonmar's avatar
      [project @ 2005-11-04 15:31:30 by simonmar] · 9e780871
      simonmar authored
      We shouldn't call closeCondition() on the condition in discardTask(),
      we're just freeing the Task for later use.
      9e780871
    • simonmar's avatar
      [project @ 2005-11-04 12:02:04 by simonmar] · 2846bc8a
      simonmar authored
      Win32: Use CriticalSections instead of Mutexes, they are *much* faster.
      2846bc8a
  7. 03 Nov, 2005 13 commits
  8. 02 Nov, 2005 9 commits
    • simonpj's avatar
      [project @ 2005-11-02 17:41:00 by simonpj] · d068f518
      simonpj authored
      Second correction to the TH fix of Oct 26, involving thFAKE
      
      Original message
        1) A bug in the renaming of [d| brackets |]. The problem was
        that when we renamed the bracket we messed up the name cache, because
        the module was still that of the parent module. Now we set a fake
        module before renaming it.
      
      This commit fixes the typecheker problem in a different way,
      in tcLookupGlobal.
      d068f518
    • simonpj's avatar
      [project @ 2005-11-02 17:39:57 by simonpj] · acc7346e
      simonpj authored
      Trace output only
      acc7346e
    • simonmar's avatar
      [project @ 2005-11-02 13:05:30 by simonmar] · 709d58c0
      simonmar authored
      release/acquire the SM lock around scheduleFinalizers(), because we
      need to call allocateLocal() in there, which acquires the SM lock.
      709d58c0
    • simonmar's avatar
      [project @ 2005-11-02 13:04:55 by simonmar] · db2468da
      simonmar authored
      when shutting down, don't allow a worker to exit until the run queue
      is empty, because the thread in exitScheduler() is waiting for this.
      db2468da
    • simonmar's avatar
      [project @ 2005-11-02 12:26:21 by simonmar] · d9dfeb2a
      simonmar authored
      scheduleHandleStackOverflow: fix bug in non-threaded RTS - if
      (task->tso != NULL), then (task->tso) is not necessarily the TSO we
      are running (in the threaded RTS it is).
      
      Also fix a few non-threaded warnings while I'm here.
      d9dfeb2a
    • simonmar's avatar
      [project @ 2005-11-02 12:23:58 by simonmar] · e30a37bc
      simonmar authored
      add an ASSERT
      e30a37bc
    • simonmar's avatar
      [project @ 2005-11-02 11:56:56 by simonmar] · 3348660b
      simonmar authored
      Fix warnings when assigning the result of a foreign call to BaseReg
      (as now happens in SMP mode with resumeThread()).
      3348660b
    • simonpj's avatar
      [project @ 2005-11-02 09:57:45 by simonpj] · f7e8044f
      simonpj authored
      Correct the TH fix of Oct 26, involving thFAKE
      		MERGE TO STABLE
      
      Original message
        1) A bug in the renaming of [d| brackets |]. The problem was
        that when we renamed the bracket we messed up the name cache, because
        the module was still that of the parent module. Now we set a fake
        module before renaming it.
      
      But we have to tell the *typechecker* too, not just the renamer.
      See comments with TcSplice.tc_bracket (DecBr case).
      
      Should fix TH failures in the STABLE branch
      f7e8044f
    • simonpj's avatar
      [project @ 2005-11-02 09:53:18 by simonpj] · ca49225c
      simonpj authored
      Export lists
      ca49225c
  9. 31 Oct, 2005 1 commit