1. 02 Nov, 1999 1 commit
    • simonmar's avatar
      [project @ 1999-11-02 15:05:38 by simonmar] · f6692611
      simonmar authored
      This commit adds in the current state of our SMP support.  Notably,
      this allows the new way 's' to be built, providing support for running
      multiple Haskell threads simultaneously on top of any pthreads
      implementation, the idea being to take advantage of commodity SMP
      boxes.
      
      Don't expect to get much of a speedup yet; due to the excessive
      locking required to synchronise access to mutable heap objects, you'll
      see a slowdown in most cases, even on a UP machine.  The best I've
      seen is a 1.6-1.7 speedup on an example that did no locking (two
      optimised nfibs in parallel).
      
      	- new RTS -N flag specifies how many pthreads to start.
      
      	- new driver -smp flag, tells the driver to use way 's'.
      
      	- new compiler -fsmp option (not for user comsumption)
      	  tells the compiler not to generate direct jumps to
      	  thunk entry code.
      
      	- largely rewritten scheduler
      
      	- _ccall_GC is now done by handing back a "token" to the
      	  RTS before executing the ccall; it should now be possible
      	  to execute blocking ccalls in the current thread while
      	  allowing the RTS to continue running Haskell threads as
      	  normal.
      
      	- you can only call thread-safe C libraries from a way 's'
      	  build, of course.
      
      Pthread support is still incomplete, and weird things (including
      deadlocks) are likely to happen.
      f6692611
  2. 16 Sep, 1999 1 commit
    • sof's avatar
      [project @ 1999-09-16 08:29:01 by sof] · 39d37a2c
      sof authored
      Move DllMain() into separate file + it doesn't call startupHaskell()
      any longer upon loading of the DLL. That is the task of clients of
      the RTS.
      39d37a2c
  3. 14 Jul, 1999 1 commit
  4. 06 Jul, 1999 1 commit
  5. 10 May, 1999 2 commits
  6. 03 Mar, 1999 1 commit
  7. 26 Feb, 1999 2 commits
  8. 21 Jan, 1999 1 commit
  9. 02 Dec, 1998 1 commit