> Hi guys.
> 
> The compiler told me to report a bug so that's what I'm doing. I ran the
> following command:
> 
> ghc-4.04 -o ghcnewperms3 -O2 -fvia-C -O2-for-C -fusagesp Newperms3.hs
> 
> (NB it's not patchlevel 1)
> from that I got the following:
> 
> panic! (the `impossible' happened):
>         pessimise: missing annot:
>     PrelIOBase.IO{-3T,i-} PrelBase.Z0T{-40,s-}
> 
> Please report it as a compiler bug to [EMAIL PROTECTED]
> 
> I hope you can fix this. The haskellfile (Newperms3.hs) is included as an
> attachment.

Thanks Josef... I am the one responsible for the UsageSP analysis, and I'm afraid to 
tell you that the version in ghc-4.04 is *very* experimental.  I am currently working 
on an infinitely-improved version, but I can't tell you yet when it will be released.

There are various possible reasons; I note from the commit message (below) that you 
need -fno-specialise; also it's probably a good idea to build the libraries with the 
-fusagesp flag, not just the source file.  But I warn you that it's not at all worth 
it yet!

Sorry about this; hope the explanation helps.

Regards,

--KW 8-)


Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:31:48 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFRb-0001Oe-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:31:47 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:31:38 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29606;  Tue, 11 May 1999 17:31:35 +0100 (BST)
Date: Tue, 11 May 1999 17:31:35 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/types PprType.lhs

keithw      1999/05/11 17:31:35 BST

  Modified files:
    ghc/compiler/types   PprType.lhs 
  Log:
    (this is number 1 of 9 commits to be applied together)
  
    Dictionaries now appear in interface files explicitly, rather than
    as contexts: __forall [a] => {Show a} -> ... rather than __forall
    [a] {Show a} => ... .
  
  Revision  Changes    Path
  1.34      +17 -10    fptools/ghc/compiler/types/PprType.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:33:27 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFTD-00008e-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:33:27 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:33:17 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29637;  Tue, 11 May 1999 17:33:13 +0100 (BST)
Date: Tue, 11 May 1999 17:33:13 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/prelude TysPrim.lhs TysWiredIn.lhs   
         fptools/ghc/compiler/types TyCon.lhs fptools/ghc/compiler/typecheck       
         TcTyClsDecls.lhs TcTyDecls.lhs

keithw      1999/05/11 17:33:12 BST

  Modified files:
    ghc/compiler/prelude TysPrim.lhs TysWiredIn.lhs 
    ghc/compiler/types   TyCon.lhs 
    ghc/compiler/typecheck TcTyClsDecls.lhs TcTyDecls.lhs 
  Log:
    (this is number 2 of 9 commits to be applied together)
  
    Type constructors now carry information on the variance (positive
    and/or negative) of each of their type arguments (tyConArgVrcs).
    This information is provided for primitive types and computed for
    others.  If a tycon has been imported abstractly and this variance
    information is subsequently demanded, we make a pessimistic
    assumption and warn that -fno-prune-tydecls should be used.
  
  Revision  Changes    Path
  1.23      +40 -25    fptools/ghc/compiler/prelude/TysPrim.lhs
  1.37      +18 -16    fptools/ghc/compiler/prelude/TysWiredIn.lhs
  1.31      +38 -10    fptools/ghc/compiler/types/TyCon.lhs
  1.33      +175 -13   fptools/ghc/compiler/typecheck/TcTyClsDecls.lhs
  1.38      +13 -7     fptools/ghc/compiler/typecheck/TcTyDecls.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:33:52 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFTc-0000tD-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:33:52 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:33:41 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29652;  Tue, 11 May 1999 17:33:38 +0100 (BST)
Date: Tue, 11 May 1999 17:33:38 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/rename RnNames.lhs

keithw      1999/05/11 17:33:37 BST

  Modified files:
    ghc/compiler/rename  RnNames.lhs 
  Log:
    (this is number 3 of 9 commits to be applied together)
  
    Following Haskell 98, if the module declaration is omitted it now
    defaults to "module Main(main) where", rather than the previous
    default of exporting everything.
  
    Furthermore, "module Main where" also defaults to exporting just
    Main.main rather than everything in the module (modules other than
    Main behave as normal).  This permits the usage inference to give
    better results for the Main module, since exported functions get
    worse types than nonexported functions.
  
  Revision  Changes    Path
  1.62      +8 -2      fptools/ghc/compiler/rename/RnNames.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:38:14 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFXq-0004e6-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:38:14 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:38:08 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29771;  Tue, 11 May 1999 17:38:06 +0100 (BST)
Date: Tue, 11 May 1999 17:38:06 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler Makefile 
         fptools/ghc/compiler/basicTypes         MkId.lhs UniqSupply.lhs 
         Var.lhs VarEnv.lhs         fptools/ghc/compiler/coreSyn CoreSyn.lhs 
         CoreUtils.lhs PprCore.lhs         fptools/ghc/compiler/deSugar 
         DsExpr.lhs DsMonad.lhs DsUtils.lhs ...

keithw      1999/05/11 17:38:05 BST

  Modified files:
    ghc/compiler         Makefile 
    ghc/compiler/basicTypes MkId.lhs UniqSupply.lhs Var.lhs 
                            VarEnv.lhs 
    ghc/compiler/coreSyn CoreSyn.lhs CoreUtils.lhs PprCore.lhs 
    ghc/compiler/deSugar DsExpr.lhs DsMonad.lhs DsUtils.lhs 
    ghc/compiler/hsSyn   HsTypes.lhs 
    ghc/compiler/prelude PrelInfo.lhs PrelVals.lhs PrimOp.lhs 
    ghc/compiler/reader  Lex.lhs RdrHsSyn.lhs 
    ghc/compiler/rename  ParseIface.y RnSource.lhs 
    ghc/compiler/simplCore FloatIn.lhs SetLevels.lhs SimplCore.lhs 
    ghc/compiler/specialise Specialise.lhs 
    ghc/compiler/stranal WorkWrap.lhs 
    ghc/compiler/typecheck TcClassDcl.lhs TcEnv.lhs TcExpr.lhs 
                           TcInstDcls.lhs TcMonad.lhs 
                           TcMonoType.lhs TcType.lhs TcUnify.lhs 
    ghc/compiler/types   Type.lhs 
  Log:
    (this is number 4 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).
  
    Usage information has been added to types, in the form of a new kind
    of NoteTy: (UsgNote UsageAnn(UsOnce|UsMany|UsVar UVar)).  Usages
    print as __o (once), __m (many, usually omitted), or (not in
    interface files) __uvxxxx.  Usage annotations should only appear at
    certain places in a type (see the paper).  The `default' annotation
    is __m, and so an omitted annotation implies __m.  Utility functions
    for handling usage annotations are provided in Type.
  
    If the compiler is built with -DUSMANY (a flag intended for use in
    debugging by KSW only), __m are *required* and may not be omitted.
  
    The major constraint is that type arguments (eg to mkAppTy) must be
    unannotated on top.  To maintain this invariant, many functions
    required the insertion of Type.unUsgTy (removing annot from top of a
    type) or UsageSPUtils.unannotTy (removing all annotations from a
    type).  A function returning usage-annotated types for primops has
    been added to PrimOp.
  
    A new kind of Note, (TermUsg UsageAnn), has been added to annotate
    Terms.  This note is *not* printed in interface files, and for the
    present does not escape the internals of the usage inference engine.
  
  Revision  Changes    Path
  1.55      +3 -3      fptools/ghc/compiler/Makefile
  1.12      +7 -9      fptools/ghc/compiler/basicTypes/MkId.lhs
  1.23      +6 -5      fptools/ghc/compiler/basicTypes/UniqSupply.lhs
  1.6       +33 -4     fptools/ghc/compiler/basicTypes/Var.lhs
  1.4       +3 -1      fptools/ghc/compiler/basicTypes/VarEnv.lhs
  1.23      +4 -1      fptools/ghc/compiler/coreSyn/CoreSyn.lhs
  1.33      +10 -4     fptools/ghc/compiler/coreSyn/CoreUtils.lhs
  1.40      +7 -0      fptools/ghc/compiler/coreSyn/PprCore.lhs
  1.41      +11 -5     fptools/ghc/compiler/deSugar/DsExpr.lhs
  1.25      +2 -2      fptools/ghc/compiler/deSugar/DsMonad.lhs
  1.34      +6 -4      fptools/ghc/compiler/deSugar/DsUtils.lhs
  1.23      +21 -2     fptools/ghc/compiler/hsSyn/HsTypes.lhs
  1.55      +2 -0      fptools/ghc/compiler/prelude/PrelInfo.lhs
  1.43      +3 -1      fptools/ghc/compiler/prelude/PrelVals.lhs
  1.54      +156 -18   fptools/ghc/compiler/prelude/PrimOp.lhs
  1.42      +4 -0      fptools/ghc/compiler/reader/Lex.lhs
  1.30      +1 -0      fptools/ghc/compiler/reader/RdrHsSyn.lhs
  1.48      +6 -1      fptools/ghc/compiler/rename/ParseIface.y
  1.54      +4 -0      fptools/ghc/compiler/rename/RnSource.lhs
  1.17      +5 -0      fptools/ghc/compiler/simplCore/FloatIn.lhs
  1.21      +2 -2      fptools/ghc/compiler/simplCore/SetLevels.lhs
  1.47      +26 -9     fptools/ghc/compiler/simplCore/SimplCore.lhs
  1.51      +2 -2      fptools/ghc/compiler/specialise/Specialise.lhs
  1.25      +2 -2      fptools/ghc/compiler/stranal/WorkWrap.lhs
  1.45      +7 -1      fptools/ghc/compiler/typecheck/TcClassDcl.lhs
  1.35      +16 -4     fptools/ghc/compiler/typecheck/TcEnv.lhs
  1.57      +12 -4     fptools/ghc/compiler/typecheck/TcExpr.lhs
  1.62      +2 -2      fptools/ghc/compiler/typecheck/TcInstDcls.lhs
  1.31      +2 -2      fptools/ghc/compiler/typecheck/TcMonad.lhs
  1.31      +5 -1      fptools/ghc/compiler/typecheck/TcMonoType.lhs
  1.30      +7 -3      fptools/ghc/compiler/typecheck/TcType.lhs
  1.7       +5 -1      fptools/ghc/compiler/typecheck/TcUnify.lhs
  1.39      +140 -24   fptools/ghc/compiler/types/Type.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:42:12 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFbg-0008Do-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:42:12 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:42:04 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29796;  Tue, 11 May 1999 17:42:00 +0100 (BST)
Date: Tue, 11 May 1999 17:42:00 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/main CmdLineOpts.lhs 
         fptools/ghc/compiler/usageSP         UConSet.lhs UsageSPInf.lhs 
         UsageSPLint.lhs UsageSPUtils.lhs

keithw      1999/05/11 17:42:00 BST

  Modified files:
    ghc/compiler/main    CmdLineOpts.lhs 
  Added files:
    ghc/compiler/usageSP UConSet.lhs UsageSPInf.lhs 
                         UsageSPLint.lhs UsageSPUtils.lhs 
  Log:
    (this is number 5a 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.
  
  Revision  Changes    Path
  1.59      +9 -1      fptools/ghc/compiler/main/CmdLineOpts.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:42:45 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFcD-0008Sw-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:42:45 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:42:36 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29820;  Tue, 11 May 1999 17:42:33 +0100 (BST)
Date: Tue, 11 May 1999 17:42:33 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/driver ghc.lprl fptools/ghc/docs/users_guide 
         debugging.vsgml profiling.vsgml runtime_control.vsgml

keithw      1999/05/11 17:42:33 BST

  Modified files:
    ghc/driver           ghc.lprl 
    ghc/docs/users_guide debugging.vsgml profiling.vsgml 
                         runtime_control.vsgml 
  Log:
    (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.
  
  Revision  Changes    Path
  1.97      +15 -3     fptools/ghc/driver/ghc.lprl
  1.5       +28 -0     fptools/ghc/docs/users_guide/debugging.vsgml
  1.5       +108 -1    fptools/ghc/docs/users_guide/profiling.vsgml
  1.11      +7 -3      fptools/ghc/docs/users_guide/runtime_control.vsgml

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:43:06 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFcX-0004Ve-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:43:05 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:42:58 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29835;  Tue, 11 May 1999 17:42:56 +0100 (BST)
Date: Tue, 11 May 1999 17:42:56 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/basicTypes IdInfo.lhs

keithw      1999/05/11 17:42:55 BST

  Modified files:
    ghc/compiler/basicTypes IdInfo.lhs 
  Log:
    (this is number 6 of 9 commits to be applied together)
  
    It is useful to know the usage of a lambda outside the usage
    inference (specifically, in the simplifier); thus as a temporary
    hack to make this information available without undue modification
    to the rest of the compiler, the information is copied into the
    IdInfo field of the binder.
  
    The new information is LBVarInfo, which can be either NoLBVarInfo or
    IsOneShotLambda, corresponding to __m/no info and __o respectively.
    LBVarInfo is not intended to be printed in interface files; to
    enforce this ppLBVarInfo is defined to print nothing.
  
  Revision  Changes    Path
  1.37      +49 -2     fptools/ghc/compiler/basicTypes/IdInfo.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:44:22 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFdk-0004ou-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:44:20 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:44:11 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29872;  Tue, 11 May 1999 17:44:08 +0100 (BST)
Date: Tue, 11 May 1999 17:44:08 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/compiler/codeGen CgClosure.lhs 
         ClosureInfo.lhs         fptools/ghc/compiler/absCSyn CLabel.lhs 
         fptools/ghc/compiler/nativeGen         AsmCodeGen.lhs 
         fptools/ghc/compiler/stgSyn CoreToStg.lhs         
         fptools/ghc/compiler/profiling SCCfinal.lhs

keithw      1999/05/11 17:44:08 BST

  Modified files:
    ghc/compiler/codeGen CgClosure.lhs ClosureInfo.lhs 
    ghc/compiler/absCSyn CLabel.lhs 
    ghc/compiler/nativeGen AsmCodeGen.lhs 
    ghc/compiler/stgSyn  CoreToStg.lhs 
    ghc/compiler/profiling SCCfinal.lhs 
  Log:
    (this is number 7 of 9 commits to be applied together)
  
    The code generator now incorporates the update avoidance
    optimisation: a thunk of __o type is now made SingleEntry rather
    than Updatable.
  
    We want to verify that SingleEntry thunks are indeed entered at most
    once.  In order to do this, -ticky turns on eager blackholing.
    Ordinary thunks will be dealt with by the RTS, but CAFs are
    blackholed by the code generator.  We blackhole with new blackholes:
    SE_CAF_BLACKHOLE.  We will enter one of these if we attempt to enter
    a SingleEntry thunk twice.
  
  Revision  Changes    Path
  1.29      +53 -32    fptools/ghc/compiler/codeGen/CgClosure.lhs
  1.37      +35 -26    fptools/ghc/compiler/codeGen/ClosureInfo.lhs
  1.26      +12 -7     fptools/ghc/compiler/absCSyn/CLabel.lhs
  1.19      +3 -3      fptools/ghc/compiler/nativeGen/AsmCodeGen.lhs
  1.34      +146 -96   fptools/ghc/compiler/stgSyn/CoreToStg.lhs
  1.20      +1 -1      fptools/ghc/compiler/profiling/SCCfinal.lhs

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:46:36 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFfv-00041v-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:46:35 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:46:24 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29892;  Tue, 11 May 1999 17:46:21 +0100 (BST)
Date: Tue, 11 May 1999 17:46:21 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/includes Stg.h options.h

keithw      1999/05/11 17:46:21 BST

  Modified files:
    ghc/includes         Stg.h options.h 
  Log:
    (this is number 8 of 9 commits to be applied together)
  
    The CPP flag LAZY_BLACKHOLING has been moved up from options.h into
    Stg.h, so GHC can see it as well as the interpreter, and
    EAGER_BLACKHOLING has been added.  The default is still
    LAZY_BLACKHOLING && !EAGER_BLACKHOLING.
  
  Revision  Changes    Path
  1.12      +18 -1     fptools/ghc/includes/Stg.h
  1.8       +4 -8      fptools/ghc/includes/options.h

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:48:23 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFhe-00032J-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:48:22 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:48:08 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29981;  Tue, 11 May 1999 17:48:02 +0100 (BST)
Date: Tue, 11 May 1999 17:48:02 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/includes ClosureMacros.h ClosureTypes.h       
         Closures.h StgMacros.h StgMiscClosures.h StgTicky.h TSO.h         
         Updates.h fptools/ghc/interpreter adr.mk fptools/ghc/lib/exts         
         Makefile fptools/ghc/lib/misc Makefile fptools/ghc/lib/posix ...

keithw      1999/05/11 17:48:02 BST

  Modified files:
    ghc/includes         ClosureMacros.h ClosureTypes.h Closures.h 
                         StgMacros.h StgMiscClosures.h StgTicky.h 
                         TSO.h Updates.h 
    ghc/interpreter      adr.mk 
    ghc/lib/exts         Makefile 
    ghc/lib/misc         Makefile 
    ghc/lib/posix        Makefile 
    ghc/lib/std          Main.hi-boot Makefile 
                         PrelException.hi-boot PrelGHC.hi-boot 
                         PrelPack.hi-boot 
    ghc/rts              ClosureFlags.c Evaluator.c GC.c Printer.c 
                         RtsFlags.c RtsFlags.h Sanity.c Schedule.c 
                         StgMiscClosures.hc Storage.h Ticky.c 
                         Updates.hc 
  Log:
    (this is number 9 of 9 commits to be applied together)
  
    Usage verification changes / ticky-ticky changes:
  
    We want to verify that SingleEntry thunks are indeed entered at most
    once.  In order to do this, -ticky / -DTICKY_TICKY turns on eager
    blackholing.  We blackhole with new blackholes: SE_BLACKHOLE and
    SE_CAF_BLACKHOLE.  We will enter one of these if we attempt to enter
    a SingleEntry thunk twice.  Note that CAFs are dealt with in by
    codeGen, and ordinary thunks by the RTS.
  
    We also want to see how many times we enter each Updatable thunk.
    To this end, we have modified -ticky.  When -ticky is on, we update
    with a permanent indirection, and arrange that when we enter a
    permanent indirection we count the entry and then convert the
    indirection to a normal indirection.  This gives us a means of
    counting the number of thunks entered again after the first entry.
    Obviously this screws up profiling, and so you can't build a ticky
    and profiling compiler any more.
  
    Also a few other changes that didn't make it into the previous 8
    commits, but form a part of this set.
  
  Revision  Changes    Path
  1.15      +4 -4      fptools/ghc/includes/ClosureMacros.h
  1.11      +16 -14    fptools/ghc/includes/ClosureTypes.h
  1.13      +6 -6      fptools/ghc/includes/Closures.h
  1.10      +12 -5     fptools/ghc/includes/StgMacros.h
  1.12      +48 -1     fptools/ghc/includes/StgMiscClosures.h
  1.4       +48 -7     fptools/ghc/includes/StgTicky.h
  1.7       +4 -4      fptools/ghc/includes/TSO.h
  1.10      +13 -4     fptools/ghc/includes/Updates.h
  1.3       +1 -1      fptools/ghc/interpreter/adr.mk
  1.11      +4 -2      fptools/ghc/lib/exts/Makefile
  1.14      +8 -3      fptools/ghc/lib/misc/Makefile
  1.6       +5 -1      fptools/ghc/lib/posix/Makefile
  1.5       +1 -1      fptools/ghc/lib/std/Main.hi-boot
  1.12      +11 -6     fptools/ghc/lib/std/Makefile
  1.7       +2 -1      fptools/ghc/lib/std/PrelException.hi-boot
  1.24      +1 -1      fptools/ghc/lib/std/PrelGHC.hi-boot
  1.4       +0 -1      fptools/ghc/lib/std/PrelPack.hi-boot
  1.2       +3 -1      fptools/ghc/rts/ClosureFlags.c
  1.16      +10 -7     fptools/ghc/rts/Evaluator.c
  1.59      +26 -2     fptools/ghc/rts/GC.c
  1.13      +9 -1      fptools/ghc/rts/Printer.c
  1.13      +3 -3      fptools/ghc/rts/RtsFlags.c
  1.13      +1 -3      fptools/ghc/rts/RtsFlags.h
  1.13      +5 -1      fptools/ghc/rts/Sanity.c
  1.21      +5 -5      fptools/ghc/rts/Schedule.c
  1.22      +64 -7     fptools/ghc/rts/StgMiscClosures.hc
  1.9       +8 -6      fptools/ghc/rts/Storage.h
  1.6       +46 -10    fptools/ghc/rts/Ticky.c
  1.16      +3 -2      fptools/ghc/rts/Updates.hc

Return-path: <[EMAIL PROTECTED]>
Delivery-date: Tue, 11 May 1999 17:49:58 +0100
Received: from vanuata.dcs.gla.ac.uk ([130.209.240.50])
        by heaton.cl.cam.ac.uk with smtp (Exim 2.12 #1)
        id 10hFjC-0001Ot-00
        for [EMAIL PROTECTED]; Tue, 11 May 1999 17:49:58 +0100
Received: from solander.dcs.gla.ac.uk (actually host solander) 
          by vanuata.dcs.gla.ac.uk with SMTP DCS (MMTA) with ESMTP;
          Tue, 11 May 1999 17:49:49 +0100
Received: (from keithw@localhost)       by solander.dcs.gla.ac.uk (8.8.8/8.8.7) 
          id RAA29996;  Tue, 11 May 1999 17:49:45 +0100 (BST)
Date: Tue, 11 May 1999 17:49:45 +0100 (BST)
From: keithw <[EMAIL PROTECTED]>
Message-Id: <[EMAIL PROTECTED]>
To: [EMAIL PROTECTED]
Subject: cvs commit: fptools/ghc/rts Ticky.c

keithw      1999/05/11 17:49:45 BST

  Modified files:
    ghc/rts              Ticky.c 
  Log:
    Whoops, forgot to mention the following change:
  
    Various ticky counters have changed:
      - TICK_ALLOC_THK is now TICK_ALLOC_{UP,SE}_THK (updatable versus
        single-entry).
      - TICK_UPD_{NEW,OLD}_IND is now TICK_UPD_{NEW,OLD}_{,PERM_}IND.
      - UPD_{CAF_,}BH_{UPDATABLE,SINGLE_ENTRY}_ctr added, counting the
        creation of various flavours of black holes.
      - ENT_PERM_IND, UPD_{NEW,OLD}_PERM_IND are only dumped if update
        squeezing is off; see comment in Ticky.c
  
    Some documentation for ticky-ticky has been added to the user guide.
  
  Revision  Changes    Path
  1.7       +2 -1      fptools/ghc/rts/Ticky.c

: Keith Wansbrough, MSc, BSc(Hons) (Auckland) ------------------------:
: PhD Student, Computer Laboratory, University of Cambridge, England. :
:  (and recently of the University of Glasgow, Scotland. [><] )       :
: Native of Antipodean Auckland, New Zealand: 174d47' E, 36d55' S.    :
: http://www.cl.cam.ac.uk/users/kw217/  mailto:[EMAIL PROTECTED]     :
:---------------------------------------------------------------------:

Reply via email to