1. 19 Dec, 2000 1 commit
  2. 15 Dec, 2000 1 commit
  3. 11 Dec, 2000 2 commits
  4. 07 Nov, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-11-07 17:05:47 by simonmar] · 2de8104d
      simonmar authored
      Clean ups:
      
         - reduce the namespace pollution of StgTypes.h, it doesn't define
           the shorthand versions any more (W_, I_ etc.).  These are moved into
           Stg.h.  StgTypes.h also defines StgClosure as an "opaque" struct.
      
         - RtsAPI.h is now standalone, and includes HsFFI.h and thereby
           config.h & StgTypes.h.  Now we don't need to #include "Stg.h" in
           *_stub.c.
      
         - all the rts_mkXXXX and rts_getXXXX functions are defined in terms
           of the HsXXXX types rather than random C types (this fixes some
           potential bugs in our foreign export support).
      
         - added HsWord type, to match StgWord.  The Haskell version of this
           type isn't "documented", but perhaps it should be.
      2de8104d
  5. 15 Aug, 2000 1 commit
  6. 31 Mar, 2000 1 commit
    • hwloidl's avatar
      [project @ 2000-03-31 03:09:35 by hwloidl] · dd4c28a9
      hwloidl authored
      Numerous changes in the RTS to get GUM-4.06 working (currently works with
      parfib-ish programs). Most changes are isolated in the rts/parallel dir.
      
      rts/parallel/:
        The most important changes are a rewrite of the (un-)packing code (Pack.c)
        and changes in LAGA, GALA table operations (Global.c) expecially in
        rebuilding the tables during GC.
      
      rts/:
        Minor changes in Schedule.c, GC.c (interface to par specific root marking
        and evacuation), and lots of additions to Sanity.c (surprise ;-)
        Main.c change for startup: I use a new function rts_evalNothing to
        start non-main-PEs in a PAR || SMP setup (RtsAPI.c)
      
      includes/:
        Updated GranSim macros in PrimOps.h.
      
      lib/std:
        Few changes in PrelHandle.c etc replacing ForeignObj by Addr in a PAR
        setup (we still don't support ForeignObjs or WeakPtrs in GUM).
        Typically use
          #define FILE_OBJECT	    Addr
        when dealing with files.
      
      hslibs/lang/:
        Same as above (in Foreign(Obj).lhs, Weak.lhs, IOExts.lhs etc).
      
      -- HWL
      dd4c28a9
  7. 18 Jan, 2000 1 commit
  8. 13 Jan, 2000 1 commit
    • hwloidl's avatar
      [project @ 2000-01-13 14:33:57 by hwloidl] · 1b28d4e1
      hwloidl authored
      Merged GUM-4-04 branch into the main trunk. In particular merged GUM and
      SMP code. Most of the GranSim code in GUM-4-04 still has to be carried over.
      1b28d4e1
  9. 01 Dec, 1999 1 commit
    • simonmar's avatar
      [project @ 1999-12-01 14:34:38 by simonmar] · e1dc924b
      simonmar authored
      Support for blocking & unblocking asynchronous exceptions.
      
        - new primops:
      
      	blockAsyncExceptions#, unblockAsyncExceptions# :: IO a -> IO a
      
        - raiseInThread will block if the target thread is currently
          blocking async exceptions.
      
        - async exceptions are currently implicitly blocked inside
          an exception handler.  This decision might be reversed when
          we have more experience with this stuff.
      
        - Move exception-related stuff in the RTS into its own file,
          Exception.{h,hc}.
      e1dc924b
  10. 11 May, 1999 1 commit
    • keithw's avatar
      [project @ 1999-05-11 16:47:39 by keithw] · eb407ca1
      keithw authored
      (this is number 9 of 9 commits to be applied together)
      
        Usage verification changes / ticky-ticky changes:
      
        We want to verify that SingleEntry thunks are indeed entered at most
        once.  In order to do this, -ticky / -DTICKY_TICKY turns on eager
        blackholing.  We blackhole with new blackholes: SE_BLACKHOLE and
        SE_CAF_BLACKHOLE.  We will enter one of these if we attempt to enter
        a SingleEntry thunk twice.  Note that CAFs are dealt with in by
        codeGen, and ordinary thunks by the RTS.
      
        We also want to see how many times we enter each Updatable thunk.
        To this end, we have modified -ticky.  When -ticky is on, we update
        with a permanent indirection, and arrange that when we enter a
        permanent indirection we count the entry and then convert the
        indirection to a normal indirection.  This gives us a means of
        counting the number of thunks entered again after the first entry.
        Obviously this screws up profiling, and so you can't build a ticky
        and profiling compiler any more.
      
        Also a few other changes that didn't make it into the previous 8
        commits, but form a part of this set.
      eb407ca1
  11. 25 Mar, 1999 1 commit
  12. 09 Mar, 1999 1 commit
  13. 26 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-26 17:46:04 by simonm] · 10b81c59
      simonm authored
      Fix a bug in weak pointer support: if finalize is called on a weak
      pointer, then a DEAD_WEAK object could appear on the weak pointer
      list.
      
      To avoid needing to double-link this list, add a link field to
      DEAD_WEAK objects, and remove them from the list at garbage collection
      time.
      10b81c59
  14. 19 Feb, 1999 1 commit
    • sewardj's avatar
      [project @ 1999-02-19 18:26:04 by sewardj] · 2e3269fd
      sewardj authored
      Added field 'StgWord stgexpr' to struct StgBCO, to help with debugging
      the interpreter.  This field (if nonzero) points into the Hugs heap, at
      the STG tree from which the BCO was derived.
      2e3269fd
  15. 11 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-11 14:22:53 by simonm] · b41f38a4
      simonm authored
      - s/finalise/finalize/g
      - make finalize run the finalizer immediately, and wait for its completion
      - make mkWeak take a (Maybe (IO ())) for the finalizer argument
      - remove mkWeakNoFinalizer
      b41f38a4
  16. 05 Feb, 1999 2 commits
  17. 26 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-26 11:12:41 by simonm] · ed4cd6d4
      simonm authored
      - Add Stable Names
      
      - Stable pointers and stable names are now both provided by the
        "Stable" module in ghc/lib/exts.  Documentation is updated, and Foriegn
        still exports the stable pointer operations for backwards compatibility.
      ed4cd6d4
  18. 18 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-18 15:21:37 by simonm] · c5a9b776
      simonm authored
      - BLACKHOLE_BQ is a mutable object, because new threads get added to
        its blocking_queue field.  Hence add a mut_link field and treat it
        as mutable in the garbage collector.
      
      - Change StgBlackHole to StgBlockingQueue while I'm at it.
      
      - Optimise evacuation of black holes: don't copy the padding
        words, just skip over them.
      
      - Several garbage collection fixes.
      
      - Improve sanity checking: now the older generations are fully checked
        at each GC.
      c5a9b776
  19. 13 Jan, 1999 1 commit
    • simonm's avatar
      [project @ 1999-01-13 17:25:37 by simonm] · 4391e44f
      simonm authored
      Added a generational garbage collector.
      
      The collector is reliable but fairly untuned as yet.  It works with an
      arbitrary number of generations: use +RTS -G<gens> to change the
      number of generations used (default 2).
      
      Stats: +RTS -Sstderr is quite useful, but to really see what's going
      on compile the RTS with -DDEBUG and use +RTS -D32.
      
      ARR_PTRS removed - it wasn't used anywhere.
      
      Sanity checking improved:
      	- free blocks are now spammed when sanity checking is turned on
      	- a check for leaking blocks is performed after each GC.
      4391e44f
  20. 02 Dec, 1998 1 commit