1. 02 Mar, 1999 1 commit
  2. 01 Mar, 1999 3 commits
  3. 26 Feb, 1999 3 commits
    • 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
    • simonm's avatar
      [project @ 1999-02-26 12:46:45 by simonm] · a59148d1
      simonm authored
      Fix stable pointer bug:
      
         - the 'keep' flag is now a pointer to the stable name object.
      
         - makeStableName always returns an existing stable name object
           if one exists.
      
         - re-use stable name table entries iff the stable name object
           becomes unreachable (takes into account generational GC now),
           and the reference count is 0.
      a59148d1
    • simonm's avatar
      [project @ 1999-02-26 09:28:43 by simonm] · 4d699d41
      simonm authored
      Remove bogus TICK_ALLOC_HEAP.
      4d699d41
  4. 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
  5. 18 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-18 12:26:11 by simonm] · e58d0e9b
      simonm authored
      Add two new operations to StgPrimFloat.c:
      
      	__int_encodeFloat
      	__int_encodeDouble
      
      for encoding floats/doubles from small integers.  This avoids having
      to convert small integers to large ones before an encodeFloat
      operation, and fixes the two cases of slowdown in nofib after the
      small integer changes.
      
      Also:
      	- remove encodeFloat and decodeFloat as primops
      	- use foreign import for encode{Float,Double} and
      	  the various isNaN etc. ccalls in PrelNumExtra.
      e58d0e9b
  6. 17 Feb, 1999 1 commit
    • simonm's avatar
      [project @ 1999-02-17 15:57:20 by simonm] · 449deb80
      simonm authored
      Fast Integers.  The rep. of Integers is now
      
      	data Integer = S# Int#
      		     | J# Int# ByteArray#
      
      - several new primops added for overflow-detecting arithmetic
      - negateInteger# removed; it can be done directly
      - integer_0, integer_1 etc. removed.
      - the compiler now uses S# where it previously used int2Integer.
      - the compiler generates small integers for -2^32 .. 2^32-1, instead
        of -2^29 .. -2^29-1.
      
      - PrelST.State datatype moved to LazyST (its only use).
      - some library code (in Time.lhs) still needs cleaning up, it depends
        on the Integer rep.
      449deb80
  7. 15 Feb, 1999 1 commit
  8. 11 Feb, 1999 3 commits
  9. 05 Feb, 1999 3 commits
  10. 02 Feb, 1999 2 commits
    • simonm's avatar
      [project @ 1999-02-02 14:21:28 by simonm] · bf739c10
      simonm authored
      - Add ticky counter for total bytes copied during GC.
      - Separate mutable list into two lists, a "mut once" list for
        old generation indirections and MUT_CONS cells, and a "mut many"
        list for mutable arrays, TSOs etc.  Objects on the "mut once" list
        will be eagerly promoted.
      bf739c10
    • simonm's avatar
      [project @ 1999-02-02 14:19:49 by simonm] · 85b5aeed
      simonm authored
      Remove warnings in deRefWeakzh.
      85b5aeed
  11. 01 Feb, 1999 1 commit
  12. 29 Jan, 1999 1 commit
  13. 27 Jan, 1999 1 commit
    • simonpj's avatar
      [project @ 1999-01-27 14:51:14 by simonpj] · 18976e61
      simonpj authored
      Finally!  This commits the ongoing saga of Simon's hygiene sweep
      
      FUNCTIONALITY
      ~~~~~~~~~~~~~
      a) The 'unused variable' warnings from the renamer work.  
      b) Better error messages here and there, esp type checker
      c) Fixities for Haskell 98 (maybe I'd done that before)
      d) Lazy reporting of name clashes for Haskell 98 (ditto)
      
      HYGIENE
      ~~~~~~~
      a) type OccName has its own module.  OccNames are represented
         by a single FastString, not three as in the last round.  This
         string is held in Z-encoded form; a decoding function decodes
         for printing in user error messages.  There's a nice tight
         encoding for (,,,,,,,,,,,,,,,,,,,,,,,,,,,,,)
      
      b) type Module is a proper ADT, in module OccName
      
      c) type RdrName is a proper ADT, in its own module
      
      d) type Name has a new, somwhat tidier, representation
      
      e) much grunting in the renamer to get Provenances right.
         This makes error messages look better (no spurious qualifiers)
      18976e61
  14. 26 Jan, 1999 3 commits
  15. 23 Jan, 1999 2 commits
  16. 21 Jan, 1999 1 commit
  17. 19 Jan, 1999 1 commit
  18. 18 Jan, 1999 5 commits
    • sewardj's avatar
      [project @ 1999-01-18 15:23:30 by sewardj] · 3877b99d
      sewardj authored
      Completed support for GAMMA_VAR.
      3877b99d
    • 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
    • sof's avatar
      [project @ 1999-01-18 14:37:43 by sof] · 8846a7d8
      sof authored
      Added protos for freeHaskellFunctionPtr() and createAdjustor()
      (suggestions as to what might be a more appropriate home for these
      are welcome.)
      8846a7d8
    • sof's avatar
      [project @ 1999-01-18 14:36:13 by sof] · 2d784a4e
      sof authored
      Added debugging code to freeStablePtr macro
      2d784a4e
    • sof's avatar
      [project @ 1999-01-18 14:31:50 by sof] · 9eca3c26
      sof authored
      long long support: cleared up Real vs. virtual regs. confusion (I hope!)
      9eca3c26
  19. 15 Jan, 1999 2 commits
    • simonm's avatar
      [project @ 1999-01-15 17:57:03 by simonm] · 4ec89230
      simonm authored
      - Add new object BLACKHOLE_BQ: now a BLACKHOLE is defined as having an
        empty blocking queue, and the first time a thread blocks on a BLACKHOLE
        it is changed into a BLACKHOLE_BQ.
      
      - Remove UPD_INPLACE1 and replace it with UPD_IND in the two places it
        was used.  UPD_INPLACE1 wouldn't have worked in a generational setting.
      4ec89230
    • sewardj's avatar
      [project @ 1999-01-15 12:47:19 by sewardj] · f77b5a62
      sewardj authored
      Remove 'const' modifier from static closure declarations.  Static
      closures are meant to live in R/W data space.
      f77b5a62
  20. 14 Jan, 1999 3 commits
  21. 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