1. 23 Mar, 2000 12 commits
  2. 22 Mar, 2000 7 commits
    • sewardj's avatar
      [project @ 2000-03-22 18:17:12 by sewardj] · 87b42906
      sewardj authored
      Zap outdated ifdeffery.
      87b42906
    • sewardj's avatar
      [project @ 2000-03-22 18:14:22 by sewardj] · 73be9570
      sewardj authored
      Initial commit of major changes to module chasing and storage management:
      
      * Total reimplementation of module chasing (see achieveTargetModules
        in hugs.c).  Build, maintain and use module dependency graphs
        to decide what needs reloading when.  The old mechanism with a
        stack of scripts, etc, is gone forever.  All the rest of these points
        are in support of the module-chasing change:
      
      * The result of parsing a module is now a parse tree, rather than a
        half-baked parse tree and a bunch of side-effects.  Hooray!
      
      * Redo symbol tables for Names, Tycons, Classes, Instances and
        Modules.  They are now dynamically expandable, doubling in size
        automatically when full, and use a freelist system to keep track
        of available slots.
      
      * Allow arbitrary modules to be deleted from the system.  The
        main honcho here is nukeModule().
      
      * Not strictly necessary, but ... unify the address space for all
        compile-time entities.  See revised whatIs().  Text is part of
        the unified address space.  This is very convenient for debugging.
        print() can now print practically anything.  Generally simplify
        storage management as much as possible, and zap the years of
        elaborate hacks needed to make Hugs work well in 16-bit systems.
        Added a load of sanity-checking support to storage.[ch].
      
      * We don't support project files any more.  They were useful for a
        while, but no longer seem relevant.
      
      * Nuked a large bunch of irrelevant options in rts/options.h.
      
      As of this commit, the system can load and chase modules, both in
      standalone and combined modes.  The :l (load), :a (also), :r (refresh),
      :i (info), :t (show type) and :m (set eval module) commands appear
      to work.  There are also several temporary limitations which will
      be fixed soon:
      
      * Anything to do with external editors, etc, doesn't work.
      
      * The downward-closure-of-object-code (if M is object, all
        modules below M must be too) is not enforced nor checked for.
        It needs to be.
      
      * Module M _must_ reside in M.hs/M.o (sigh).  To be fixed.
      
      * Error handling is probably flaky, and interrupt handling
        very likely is.
      
      * Error messages don't have line numbers.  (A 5-minute fix).
      
      * Progress messages are all at sea; needs re-thinking now that
        the order in which things are done is radically different.
      
      * Compile-time GC is temporarily disabled whilst I figure out how
        to stress-test the GC.
      
      * Freed-up symbol table entries are never re-entered on the free
        lists -- a debugging measure.
      
      * :% is given a bad type in combined mode.  To be investigated.
      73be9570
    • simonmar's avatar
      [project @ 2000-03-22 14:29:54 by simonmar] · 048117fe
      simonmar authored
      another -u: __init_PrelMain
      048117fe
    • simonpj's avatar
      [project @ 2000-03-22 13:45:54 by simonpj] · 96036961
      simonpj authored
      Make Enum for Ratio behave like the Report says
      96036961
    • rrt's avatar
      [project @ 2000-03-22 12:30:52 by rrt] · d10305d8
      rrt authored
      Removed obsolete comment.
      d10305d8
    • rrt's avatar
      [project @ 2000-03-22 12:15:46 by rrt] · a2360656
      rrt authored
      Changed __init_Main to __init_PrelMain in line with changes elsewhere.
      a2360656
    • rrt's avatar
      [project @ 2000-03-22 12:01:57 by rrt] · 712a982f
      rrt authored
      Stopped PrelMain.dll_o being built with -split-objs (filter this out from
      argument list)
      712a982f
  3. 21 Mar, 2000 11 commits
  4. 20 Mar, 2000 4 commits
    • panne's avatar
      [project @ 2000-03-20 15:49:56 by panne] · 8ad8c309
      panne authored
      ITimer.h is really called Itimer.h. Hmmm, let's guess on what
      brilliant OS this part of the RTS was developed...  :-))
      8ad8c309
    • panne's avatar
      [project @ 2000-03-20 15:32:10 by panne] · 9c068843
      panne authored
      Bootstrapping fix, this time for slurpFile
      9c068843
    • andy's avatar
      [project @ 2000-03-20 09:42:49 by andy] · 90a6918a
      andy authored
      Adding an alternative to the "delay" system used for
      threads that are waiting for time to pass.
      
      This works on a target time basis, eliminating the
      need to use the ticky style counter.
      
      It is only enabled under:
      
      #if defined(INTERPRETER) && !defined(HAVE_SETITIMER)
      90a6918a
    • andy's avatar
      [project @ 2000-03-20 04:26:23 by andy] · b32b2d43
      andy authored
      Second attack at supporting threads inside STG Hugs.
      We now support most of the concurrency primitives.
      
      Also a wibble in Evaluator.c, letting Hugs compile.
      b32b2d43
  5. 19 Mar, 2000 1 commit
  6. 18 Mar, 2000 2 commits
    • panne's avatar
      [project @ 2000-03-18 15:37:58 by panne] · 79b47efd
      panne authored
      Due to PrelException_PutFullMVar_static_closure there is a circular
      dependency between libHS and libHSrts, which is broken during the
      linking phase by mentioning -lHS again *after* -lHSrts. Hmmm, perhaps
      it would be better to mention the smaller -lHSrts twice instead? With
      this patch 4.06 can build 4.07, now let's see if it bootstraps...
      79b47efd
    • panne's avatar
      [project @ 2000-03-18 13:07:04 by panne] · 30365d65
      panne authored
      Re-enable soft failure while searching .hi files
      30365d65
  7. 17 Mar, 2000 3 commits