1. 18 Apr, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-04-18 16:44:46 by simonmar] · f5c54ab3
      simonmar authored
      Push directives over literal chunks when attempting to move them to
      the following chunk on x86.  Occasionally gcc generates a .glob
      directive some distance before the symbol it refers to, and we were
      ending up with a whole load of .glob directives attached to strings,
      and duplicated in each .o file when splitting.
      
      This change reduces the size of my libHSstd_p.a from 43M (!!!) to 9M.
      I think this problem must have appeared with gcc 2.95.2, but it's a
      little strange that I didn't notice it until now.
      f5c54ab3
  2. 30 Mar, 2000 1 commit
  3. 08 Mar, 2000 1 commit
    • simonmar's avatar
      [project @ 2000-03-08 17:48:24 by simonmar] · de896403
      simonmar authored
      - generalise the per-module initialisation stubs so that we use it
        in normal (non-profiled) code too.  The initialisation stubs are
        now called '__init_<module>' rather than '_reg<module>'.
      
      - Register foreign exported functions as stable pointers in the
        initialisation code for the module.  This fixes the foreign export
        problems reported by several people.
      
      - remove the concept of "module groups" from the profiling subsystem.
      
      - change the profiling semantics slightly; it should be unnecessary
        to use '-caf-all' to get reasonable profiles now.
      de896403
  4. 18 Feb, 2000 1 commit
  5. 22 Jan, 2000 1 commit
  6. 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
  7. 15 Dec, 1999 1 commit
  8. 02 Dec, 1999 1 commit
    • simonmar's avatar
      [project @ 1999-12-02 17:57:13 by simonmar] · 0e9a9af9
      simonmar authored
      Change the convention for cost-centre labels to be <name>_cc and
      cost-centre stacks to be <name>_ccs.  This makes cost-centre labels
      more consistent with our other naming conventions, and fixes some
      problems caused by cost-centre labels being misinterpreted by the
      mangler.
      
      This fixes one cause of profiled programs crashing; if you're seeing
      this symptom then this patch may help.
      0e9a9af9
  9. 13 Oct, 1999 1 commit
    • simonmar's avatar
      [project @ 1999-10-13 16:39:10 by simonmar] · 5c67176d
      simonmar authored
      Crude allocation-counting extension to ticky-ticky profiling.
      
      Allocations are counted against the closest lexically enclosing
      function closure, so you need to map the output back to the STG code.
      5c67176d
  10. 14 Sep, 1999 1 commit
  11. 02 Aug, 1999 1 commit
  12. 30 Jul, 1999 1 commit
  13. 18 May, 1999 1 commit
  14. 17 May, 1999 1 commit
  15. 18 Mar, 1999 1 commit
  16. 15 Mar, 1999 1 commit
    • simonm's avatar
      [project @ 1999-03-15 16:31:02 by simonm] · e18e743b
      simonm authored
      Reduce alignment for info tables on x86 to 1 word.  It was previously
      4 words, which meant that the entry code was wrongly aligned all the
      time (because info tables are either 2 or 3 words).  At least this way
      we've got a 1 in 4 chance of being properly aligned.
      e18e743b
  17. 03 Mar, 1999 1 commit
  18. 02 Mar, 1999 1 commit
    • sof's avatar
      [project @ 1999-03-02 19:10:07 by sof] · fc1b2092
      sof authored
      On mingw32, which is the only 'platform' where we support producing
      DLLs, prefix each static closure with a zero word. This is needed so
      that we can distinguish between pointers to (reversed!) info tables
      and static closures just by checking whether there's a zero word just
      above the pointed-to entity. Wish there was a better way..
      fc1b2092
  19. 01 Mar, 1999 1 commit
  20. 04 Feb, 1999 1 commit
  21. 02 Dec, 1998 1 commit
  22. 08 Nov, 1998 1 commit
  23. 14 Aug, 1998 1 commit
  24. 17 Apr, 1998 1 commit
  25. 16 Mar, 1998 1 commit
  26. 25 Feb, 1998 1 commit
  27. 17 Oct, 1997 1 commit
  28. 13 Oct, 1997 1 commit
    • simonm's avatar
      [project @ 1997-10-13 16:12:54 by simonm] · df10403c
      simonm authored
      Changes to unbox the state in the ST and IO monads.
      
      ST now has type
      
      	newtype ST s a = ST (State# s -> STret s a)
      	data STret s a = STret (State# s) a
      
      IO now has type
      
      	newtype IO a = IO (State# RealWorld -> IOResult a)
      	data IOResult a = IOok   (State# RealWorld) a
      	                | IOfail (State# RealWorld) IOError
      
      So ST should be slightly more efficient, and IO should be nearly as
      efficient as ST.
      df10403c
  29. 03 Sep, 1997 1 commit
  30. 21 Jul, 1997 1 commit
  31. 03 Jul, 1997 1 commit
  32. 30 May, 1997 1 commit
  33. 27 May, 1997 1 commit
  34. 26 May, 1997 1 commit
  35. 18 May, 1997 1 commit
  36. 25 Mar, 1997 1 commit
  37. 17 Mar, 1997 1 commit
  38. 21 Jan, 1997 1 commit
  39. 03 Jan, 1997 1 commit
  40. 25 Jul, 1996 1 commit