1. 17 May, 1999 1 commit
  2. 13 May, 1999 1 commit
    • simonm's avatar
      [project @ 1999-05-13 17:30:50 by simonm] · 589b7946
      simonm authored
      Support for "unregisterised" builds.  An unregisterised build doesn't
      use the assembly mangler, doesn't do tail jumping (uses the
      mini-interpreter), and doesn't use global register variables.
      
      Plenty of cleanups and bugfixes in the process.
      
      Add way 'u' to GhcLibWays to get unregisterised libs & RTS.
      
      [ note: not *quite* working fully yet... there's still a bug or two
        lurking ]
      589b7946
  3. 11 May, 1999 1 commit
    • keithw's avatar
      [project @ 1999-05-11 16:42:29 by keithw] · 1e23fb08
      keithw authored
      (this is number 5b of 9 commits to be applied together)
      
        The major purpose of this commit is to introduce usage information
        and usage analysis into the compiler, per the paper _Once Upon a
        Polymorphic Type_ (Keith Wansbrough and Simon Peyton Jones, POPL'99,
        and Glasgow TR-1998-19).
      
        An analysis is provided that annotates a Core program with optimal
        usage annotations.  This analysis is performed by -fusagesp
        (=CoreDoUSPInf), and requires -fusagesp-on (=opt_UsageSPOn).  This
        latter performs an analysis in tidyCorePgm, immediately before
        CoreToStg is done.  The driver flag -fusagesp currently provides hsc
        with -fusagesp-on, and if -O is on does a single -fusagesp early on
        in the Core-to-Core sequence.  Please change this as desired.
      
        *NB*: For now, -fusagesp with -O requires -fno-specialise.  Sorry.
      
        The flags -ddump-usagesp (=opt_D_dump_usagesp) and -dusagesp-lint
        (=opt_DoUSPLinting) (also -dnousagesp-lint to the driver) have been
        added and are documented in the User Guide.
      1e23fb08
  4. 06 May, 1999 1 commit
  5. 04 May, 1999 1 commit
    • sof's avatar
      [project @ 1999-05-04 08:47:32 by sof] · 0936dcc4
      sof authored
      * Added option --mk-dll (and -optdll<foo>) to ease the creation of DLLs containing
        ghc-compiled code (see docs for details).
      * Fixed bug which caused non-std ways to pick up the std way's interface files
        when compiling the prelude.
      0936dcc4
  6. 13 Apr, 1999 1 commit
    • kglynn's avatar
      [project @ 1999-04-13 08:55:33 by kglynn] · 30b5b5cc
      kglynn authored
      (keving)
      
      Big Bang introduction of CPR Analysis Pass.  Note that now
      -fstrictness only does the strictness analysis phase,  it is necessary
      to follow this with -fworker-wrapper to actually do the required Core
      transformations. The -O option in the ghc driver script has been
      modified appropriately.
      
      For now,  CPR analysis is turned off.  To try it,  insert a
      -fcpr_analyse between the -fstrictness and the -fworker-wrapper
      options.
      
      Misc. comments:
      
      - The worker flag has been removed from an ID's StrictnessInfo field.
      Now the worker info is an extra field in the Id's prag info.
      
      - We do a nested CPR analysis,  but worker-wrapper only looks at the
      info for the outermost constructor,  else laziness can be lost.
      
      - Id's CPR Info in traces and interfaces file follows __M
      
      - Worker-wrappery transformation now accounts for both strictness and
      CPR analysis results.
      30b5b5cc
  7. 06 Apr, 1999 1 commit
  8. 30 Mar, 1999 1 commit
  9. 25 Mar, 1999 2 commits
  10. 18 Mar, 1999 1 commit
  11. 17 Mar, 1999 1 commit
    • simonm's avatar
      [project @ 1999-03-17 13:19:19 by simonm] · d9eb68cf
      simonm authored
      - Stack overflow now generates an (AsyncException StackOverflow)
        exception, which can be caught as normal.
      
      - Add a stack overflow handler to the top-level mainIO handler, with
        the standard behaviour (i.e. call the stack overflow hook and then
        exit).
      
      - Add a test for stack overflow catching.
      
      - Fix a couple of bugs in async exception support.
      d9eb68cf
  12. 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
  13. 11 Mar, 1999 1 commit
  14. 10 Mar, 1999 1 commit
  15. 03 Mar, 1999 1 commit
  16. 02 Mar, 1999 2 commits
    • sof's avatar
      [project @ 1999-03-02 19:15:27 by sof] · a496d068
      sof authored
      Partial support for working with DLLs. On mingw32, unless you supply
      the -static command line option, the default is now to assume
      that you're using DLLs when compiling and linking.
      
      ToDo: support the construction of DLLs via the driver.
      a496d068
    • 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
  17. 01 Mar, 1999 1 commit
  18. 17 Feb, 1999 2 commits
  19. 09 Feb, 1999 1 commit
  20. 04 Feb, 1999 3 commits
  21. 01 Feb, 1999 1 commit
  22. 29 Jan, 1999 1 commit
  23. 27 Jan, 1999 1 commit
  24. 19 Jan, 1999 1 commit
    • sof's avatar
      [project @ 1999-01-19 08:33:14 by sof] · af5d6df3
      sof authored
      constructNewHiFile: regular expressions which substituted new
      module filename for old in hifile_target, didn't quite work.
      af5d6df3
  25. 15 Jan, 1999 2 commits
    • sof's avatar
      [project @ 1999-01-15 17:59:26 by sof] · 207e5dfd
      sof authored
      Added options that 3.xx supported for dumping out selected
      chunks of the .hi file to stdout, i.e.,
      
         -hi-with-imports      = prints out the import 'section' of the .hi file
         -hi-with-declarations = print  out just decls
      
      (Only) useful when working with runstdtest, where we just want
      to look at selected portions of the generated interface file.
      207e5dfd
    • simonm's avatar
      [project @ 1999-01-15 17:36:31 by simonm] · fc3a5e13
      simonm authored
      - __HASKELL1__ is now 5 (was 4).  Surely not the last word in
        Haskell98 CPP symbols.
      
      - Fix stats munging for new RTS.
      fc3a5e13
  26. 14 Jan, 1999 2 commits
  27. 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
  28. 08 Jan, 1999 1 commit
  29. 21 Dec, 1998 1 commit
  30. 02 Dec, 1998 1 commit
  31. 08 Nov, 1998 1 commit
  32. 24 Aug, 1998 1 commit
  33. 21 Aug, 1998 1 commit