Skip to content
Snippets Groups Projects
  1. Jul 14, 1999
  2. Jul 12, 1999
  3. Jul 08, 1999
  4. Jul 07, 1999
    • Simon Marlow's avatar
      [project @ 1999-07-07 15:28:19 by simonmar] · d8e3e531
      Simon Marlow authored
      Reduce ScrutConDiscount from 3 to 2.
      d8e3e531
    • Simon Marlow's avatar
      [project @ 1999-07-07 15:27:27 by simonmar] · 65284c96
      Simon Marlow authored
      - charge 1 for a case expression
      
      - give a discount of opt_UF_ScrutConDiscount each time a constructor
        is scrutinised
      
      (previously a case expression was not charged for at all, and the
      discount for a scrutinised constructor was (opt_UF_ScrutConDiscount *
      tyconFamilySize).  In 4.02, a case expression was also charged
      tyconFamilySize to balance the discount, but this had the disadvantage
      of charging for alternatives which may not be present in the actual
      case expression).
      65284c96
    • Simon Marlow's avatar
      [project @ 1999-07-07 11:22:13 by simonmar] · 69a603fb
      Simon Marlow authored
      Back out yesterday's change - needs more thought.
      69a603fb
  5. Jul 06, 1999
    • Simon Peyton Jones's avatar
      [project @ 1999-07-06 16:45:31 by simonpj] · 9d38678e
      Simon Peyton Jones authored
      All Simon's recent tuning changes.  Rough summary follows:
      
      * Fix Kevin Atkinson's cant-find-instance bug.  Turns out that Rename.slurpSourceRefs
        needs to repeatedly call getImportedInstDecls, and then go back to slurping
        source-refs.  Comments with Rename.slurpSourceRefs.
      
      * Add a case to Simplify.mkDupableAlt for the quite-common case where there's
        a very simple alternative, in which case there's no point in creating a
        join-point binding.
      
      * Fix CoreUtils.exprOkForSpeculation so that it returns True of (==# a# b#).
        This lack meant that
      	case ==# a# b# of { True -> x; False -> x }
        was not simplifying
      
      * Make float-out dump bindings at the top of a function argument, as
        at the top of a let(rec) rhs.  See notes with FloatOut.floatRhs
      
      * Make the ArgOf case of mkDupableAlt generate a OneShot lambda.
        This gave a noticeable boost to spectral/boyer2
      
      
      * Reduce the number of coerces, using worker/wrapper stuff.
        The main idea is in WwLib.mkWWcoerce.  The gloss is that we must do
        the w/w split even for small non-recursive things.  See notes with
        WorkWrap.tryWw.
      
      * This further complicated getWorkerId, so I finally bit the bullet and
        make the workerInfo field of the IdInfo work properly, including
        under substitutions.  Death to getWorkerId.  Kevin Glynn will be happy.
      
      * Make all lambdas over realWorldStatePrimTy
        into one-shot lambdas.  This is a GROSS HACK.
      
      * Also make the occurrence analyser aware of one-shot lambdas.
      
      * Make various Prelude things into INLINE, so that foldr doesn't
        get inlined in their body, so that the caller gets the benefit
        of fusion.  Notably in PrelArr.lhs.
      9d38678e
    • Julian Seward's avatar
      [project @ 1999-07-06 16:40:22 by sewardj] · 47a40c89
      Julian Seward authored
      Assembler/Disassembler: handle and print calls to compiled code
      Evaluator: return to scheduler when entering unknown closure
      StgCRun: debugging trace in miniinterpreter (temporary)
      Updates: fix normal and vectored returns to Hugs
      47a40c89
    • Julian Seward's avatar
      [project @ 1999-07-06 16:17:39 by sewardj] · 7635e89a
      Julian Seward authored
      Make vectored returns to Hugs work, and make IS_CODE_PTR etc work
      for dynamically loaded objects.
      7635e89a
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:33:23 by simonmar] · 99032744
      Simon Marlow authored
      Should really call OnExitHook() in shutdownHaskellAndExit().
      99032744
    • Julian Seward's avatar
      [project @ 1999-07-06 15:24:36 by sewardj] · ca6e1e45
      Julian Seward authored
      Mods to enable interworking with simple compiled code.  Supports fns and
      data decls.  Classes, instances, primops, don't work yet.
      Unregisterised, mininterpreted x86-ELF is the supported object format.
      GC appears to work correctly.
      ca6e1e45
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:24:35 by simonmar] · 17622819
      Simon Marlow authored
      we're on to 4.04 now.
      17622819
    • Julian Seward's avatar
      [project @ 1999-07-06 15:24:35 by sewardj] · 4c633843
      Julian Seward authored
      Mods to enable interworking with simple compiled code.  Supports fns and
      data decls.  Classes, instances, primops, don't work yet.
      Unregisterised, mininterpreted x86-ELF is the supported object format.
      GC appears to work correctly.
      4c633843
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:24:01 by simonmar] · c5b5811c
      Simon Marlow authored
      Add a note about @raiseInThread@.
      c5b5811c
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:23:17 by simonmar] · e8876154
      Simon Marlow authored
      -ddump-rdr is now -ddump-parsed
      e8876154
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:21:57 by simonmar] · e5a20346
      Simon Marlow authored
      only pop explicit layout contexts with '}'.
      e5a20346
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:21:01 by simonmar] · 3f2df52d
      Simon Marlow authored
      print the compiler version on the same line as the compilee version;
      looks a bit tidier.
      3f2df52d
    • Julian Seward's avatar
      [project @ 1999-07-06 15:20:59 by sewardj] · a4d7e186
      Julian Seward authored
      Header file for an alternative bignum implementation, which is in
      interpreter/sainteger.c.  Currently used by STGHugs.
      Temporary -- until we resolve GMP licensing issues.
      a4d7e186
    • Simon Marlow's avatar
      [project @ 1999-07-06 15:19:41 by simonmar] · a2769f31
      Simon Marlow authored
      Re-jig some stuff in here so it doesn't look like you need so many
      tools to build GHC.
      a2769f31
    • sof's avatar
      [project @ 1999-07-06 15:12:47 by sof] · cde3484c
      sof authored
      Added maxPrecedence
      cde3484c
    • sof's avatar
      [project @ 1999-07-06 15:05:49 by sof] · b18c5cdd
      sof authored
      Added needed includes of SchedAPI.h
      b18c5cdd
    • Keith Wansbrough's avatar
      [project @ 1999-07-06 13:26:38 by keithw] · 6d96c28c
      Keith Wansbrough authored
      Whoops, add index terms too.
      6d96c28c
    • Keith Wansbrough's avatar
      [project @ 1999-07-06 13:25:09 by keithw] · b6bc487e
      Keith Wansbrough authored
      Add -ddump-most and -ddump-all, with the obvious meanings.
      b6bc487e
    • sof's avatar
      [project @ 1999-07-06 09:42:38 by sof] · f86b9ce4
      sof authored
      Redo previous commit to cut down on the use of COMPILING_RTS where
      possible - SchedAPI.h is now an RTS internal header file which
      RtsAPI.h no longer includes.
      f86b9ce4
    • sof's avatar
      [project @ 1999-07-06 09:19:47 by sof] · 8cf6e22c
      sof authored
      Don't include RtsAPI.h when compiling RTS.
      8cf6e22c
  6. Jul 05, 1999
    • sof's avatar
      [project @ 1999-07-05 19:26:42 by sof] · 60e60f66
      sof authored
      Temporary workaround for problem which caused the following program
      
        main = putStrLn ("aa" ++ IOExts.trace "bb" "cc")
      
      to deadlock - when the (untouched) stderr is evaluated (which
      IOExts.trace forces), it will touch stdout (see code for details of
      why), but it has already been locked by putStrLn. Boom - game over.
      
      This temporary 'fix' is, to put it kindly, in the fancy-footwork
      category as it doesn't solve the problem, but merely turns it on its
      head. Instead of stderr depending on stdout, stdout now depends on
      stderr, so the following program will deadlock
      
        main = hPutStrLn stderr ("aa" ++ myTrace "bb" "cc")
      
        myTrace msg v = unsafePerformIO $ do
           putStrLn msg
           return v
      
      The 'theory' is that this is far less likely to occur in practice than
      the other way around.
      
      The next step / real solution would be to give up the lock on an
      output Handle while filling up its output buffer. However, that
      requires ripping out / re-org'ing a fair bit of buffer management
      code, which I'll delay doing.
      60e60f66
    • sof's avatar
      [project @ 1999-07-05 18:53:53 by sof] · 2455da3a
      sof authored
      Remove -#include "RtsAPI.h" - you now get it for free.
      2455da3a
    • sof's avatar
      [project @ 1999-07-05 17:25:23 by sof] · 45adecbe
      sof authored
      Stg.h contains all the defs and protos that are visible when compiling
      .hc code (==> .hs code). Augment this set with the externally visible
      RTS API.
      45adecbe
    • sof's avatar
      [project @ 1999-07-05 17:06:21 by sof] · 276f03b2
      sof authored
      Tidied up the handling of the code that emits the precedence level
      predicates that gets used in applications of showParen and readParen.
      276f03b2
Loading