ghc-hetmet.git
25 years ago[project @ 1999-05-11 14:38:47 by sof]
sof [Tue, 11 May 1999 14:38:47 +0000 (14:38 +0000)]
[project @ 1999-05-11 14:38:47 by sof]
myThreadId doc'ed

25 years ago[project @ 1999-05-11 09:15:19 by sof]
sof [Tue, 11 May 1999 09:15:19 +0000 (09:15 +0000)]
[project @ 1999-05-11 09:15:19 by sof]
couple of fixes (courtesy of MPJ)

25 years ago[project @ 1999-05-10 19:49:15 by sof]
sof [Mon, 10 May 1999 19:49:16 +0000 (19:49 +0000)]
[project @ 1999-05-10 19:49:15 by sof]
minor updates

25 years ago[project @ 1999-05-10 17:53:59 by sof]
sof [Mon, 10 May 1999 17:54:00 +0000 (17:54 +0000)]
[project @ 1999-05-10 17:53:59 by sof]
Assuming that the TC sometime in the future will want to start looking
at infix decls (right, Simon?), the renamer currently passes them on
rather than filter.

Couple of TC tweaks to have it non-burpingly handle such FixSigs
inside class decls.

25 years ago[project @ 1999-05-10 16:55:43 by sof]
sof [Mon, 10 May 1999 16:55:43 +0000 (16:55 +0000)]
[project @ 1999-05-10 16:55:43 by sof]
The implementation of hGetLine, as given in the report, doesn't handle
partial lines on unbuffered handles that well (not at all, as it turns
out). Fixed.

25 years ago[project @ 1999-05-10 16:52:10 by sof]
sof [Mon, 10 May 1999 16:52:11 +0000 (16:52 +0000)]
[project @ 1999-05-10 16:52:10 by sof]
PrelHandle.withHandle: don't catch IO exceptions.

25 years ago[project @ 1999-05-10 13:13:18 by sof]
sof [Mon, 10 May 1999 13:13:18 +0000 (13:13 +0000)]
[project @ 1999-05-10 13:13:18 by sof]
yet another bugfix to the 'deriving Read' code

25 years ago[project @ 1999-05-10 10:12:25 by simonm]
simonm [Mon, 10 May 1999 10:12:28 +0000 (10:12 +0000)]
[project @ 1999-05-10 10:12:25 by simonm]
Test fixes.

25 years ago[project @ 1999-05-10 10:06:24 by sof]
sof [Mon, 10 May 1999 10:06:24 +0000 (10:06 +0000)]
[project @ 1999-05-10 10:06:24 by sof]
oops, args to startupHaskell() wrong way around

25 years ago[project @ 1999-05-10 09:56:50 by sof]
sof [Mon, 10 May 1999 09:56:50 +0000 (09:56 +0000)]
[project @ 1999-05-10 09:56:50 by sof]
extend cleanup to integer2Word#

25 years ago[project @ 1999-05-10 09:50:49 by simonm]
simonm [Mon, 10 May 1999 09:50:49 +0000 (09:50 +0000)]
[project @ 1999-05-10 09:50:49 by simonm]
integer2Int# take 4: cleaned up a little.

25 years ago[project @ 1999-05-10 09:26:41 by sof]
sof [Mon, 10 May 1999 09:26:41 +0000 (09:26 +0000)]
[project @ 1999-05-10 09:26:41 by sof]
integer2Int#, take 3

25 years ago[project @ 1999-05-10 08:23:55 by sof]
sof [Mon, 10 May 1999 08:23:57 +0000 (08:23 +0000)]
[project @ 1999-05-10 08:23:55 by sof]
Added a DllMain() which starts up RTS upon DLL load.

25 years ago[project @ 1999-05-07 15:42:49 by sof]
sof [Fri, 7 May 1999 15:42:49 +0000 (15:42 +0000)]
[project @ 1999-05-07 15:42:49 by sof]
integer2Int# again: don't flip sign unless outside [minInt,maxInt]

25 years ago[project @ 1999-05-07 14:52:49 by simonm]
simonm [Fri, 7 May 1999 14:52:53 +0000 (14:52 +0000)]
[project @ 1999-05-07 14:52:49 by simonm]
some test updates

25 years ago[project @ 1999-05-07 13:44:00 by simonm]
simonm [Fri, 7 May 1999 13:44:00 +0000 (13:44 +0000)]
[project @ 1999-05-07 13:44:00 by simonm]
Fix bug in tagToEnum#: if the amode of the tag overlapped with node,
bogus code would be generated.  Now load the tag into a temporary
before doing the table lookup.

25 years ago[project @ 1999-05-07 13:41:14 by sof]
sof [Fri, 7 May 1999 13:41:14 +0000 (13:41 +0000)]
[project @ 1999-05-07 13:41:14 by sof]
Fixed two showstopping bugs in 'deriving Read' code (mea culpa).

25 years ago[project @ 1999-05-07 11:31:12 by simonm]
simonm [Fri, 7 May 1999 11:31:12 +0000 (11:31 +0000)]
[project @ 1999-05-07 11:31:12 by simonm]
Don't try to make a tag2con function if we're deriving Ix on a
single-constructor datatype (it isn't needed, and will probably be
type-incorrect anyway).

25 years ago[project @ 1999-05-07 11:16:37 by simonm]
simonm [Fri, 7 May 1999 11:16:37 +0000 (11:16 +0000)]
[project @ 1999-05-07 11:16:37 by simonm]
Ignore exceptions in the spawned threads.

25 years ago[project @ 1999-05-07 11:10:45 by simonm]
simonm [Fri, 7 May 1999 11:10:45 +0000 (11:10 +0000)]
[project @ 1999-05-07 11:10:45 by simonm]
Don't test for CLOSURE_SHOULD_SPARK in forkzh, because forkzh's argument
is an IO action and we're about to apply it to the state anyway.

25 years ago[project @ 1999-05-06 08:41:10 by simonm]
simonm [Thu, 6 May 1999 08:41:10 +0000 (08:41 +0000)]
[project @ 1999-05-06 08:41:10 by simonm]
s/finalis/finaliz/g

25 years ago[project @ 1999-05-06 08:32:51 by sof]
sof [Thu, 6 May 1999 08:32:51 +0000 (08:32 +0000)]
[project @ 1999-05-06 08:32:51 by sof]
Add -lwsock32 to linker command line, if needs be

25 years ago[project @ 1999-05-05 11:39:09 by keithw]
keithw [Wed, 5 May 1999 11:39:09 +0000 (11:39 +0000)]
[project @ 1999-05-05 11:39:09 by keithw]
Add a space to panic message from zipWith*Equal.

25 years ago[project @ 1999-05-05 10:48:03 by sof]
sof [Wed, 5 May 1999 10:48:06 +0000 (10:48 +0000)]
[project @ 1999-05-05 10:48:03 by sof]
DLL config added

25 years ago[project @ 1999-05-05 10:39:25 by sof]
sof [Wed, 5 May 1999 10:39:25 +0000 (10:39 +0000)]
[project @ 1999-05-05 10:39:25 by sof]
Improved the splitting of the std. generator

25 years ago[project @ 1999-05-05 10:36:29 by sof]
sof [Wed, 5 May 1999 10:36:31 +0000 (10:36 +0000)]
[project @ 1999-05-05 10:36:29 by sof]
switch over to using Winsock on the _WIN32 side

25 years ago[project @ 1999-05-05 10:34:53 by sof]
sof [Wed, 5 May 1999 10:34:55 +0000 (10:34 +0000)]
[project @ 1999-05-05 10:34:53 by sof]
stubs for starting & stopping Winsock

25 years ago[project @ 1999-05-05 10:33:13 by sof]
sof [Wed, 5 May 1999 10:33:17 +0000 (10:33 +0000)]
[project @ 1999-05-05 10:33:13 by sof]
Winsock support

25 years ago[project @ 1999-05-05 08:35:02 by sof]
sof [Wed, 5 May 1999 08:35:02 +0000 (08:35 +0000)]
[project @ 1999-05-05 08:35:02 by sof]
Empty rec pattern test

25 years ago[project @ 1999-05-05 08:31:00 by sof]
sof [Wed, 5 May 1999 08:31:00 +0000 (08:31 +0000)]
[project @ 1999-05-05 08:31:00 by sof]
Allow record pattern "F{}" on any old constructor, not just with those
that have labelled fields.

25 years ago[project @ 1999-05-04 19:31:51 by sof]
sof [Tue, 4 May 1999 19:31:53 +0000 (19:31 +0000)]
[project @ 1999-05-04 19:31:51 by sof]
Check for presence of winsock.h

25 years ago[project @ 1999-05-04 10:19:14 by sof]
sof [Tue, 4 May 1999 10:19:19 +0000 (10:19 +0000)]
[project @ 1999-05-04 10:19:14 by sof]
Misc tweaks to Win32 DLL setup

25 years ago[project @ 1999-05-04 10:16:51 by sof]
sof [Tue, 4 May 1999 10:16:51 +0000 (10:16 +0000)]
[project @ 1999-05-04 10:16:51 by sof]
Module defn files for RTS + the bits that the RTS need from the Prelude

25 years ago[project @ 1999-05-04 08:58:18 by sof]
sof [Tue, 4 May 1999 08:58:18 +0000 (08:58 +0000)]
[project @ 1999-05-04 08:58:18 by sof]
integer2Int# isn't sign preserving any longer, but modulo maxBound

25 years ago[project @ 1999-05-04 08:52:22 by sof]
sof [Tue, 4 May 1999 08:52:23 +0000 (08:52 +0000)]
[project @ 1999-05-04 08:52:22 by sof]
Moved DLL-related macros out of Stg.h and into separate .h file

25 years ago[project @ 1999-05-04 08:50:43 by sof]
sof [Tue, 4 May 1999 08:50:43 +0000 (08:50 +0000)]
[project @ 1999-05-04 08:50:43 by sof]
Removed last vestiges of PrelBase_Bool_closure_tbl (yes\!)

25 years ago[project @ 1999-05-04 08:47:32 by sof]
sof [Tue, 4 May 1999 08:47:32 +0000 (08:47 +0000)]
[project @ 1999-05-04 08:47:32 by sof]
* 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.

25 years ago[project @ 1999-05-04 08:40:07 by sof]
sof [Tue, 4 May 1999 08:40:07 +0000 (08:40 +0000)]
[project @ 1999-05-04 08:40:07 by sof]
a rule or two for building DLLs

25 years ago[project @ 1999-05-04 08:38:53 by sof]
sof [Tue, 4 May 1999 08:38:53 +0000 (08:38 +0000)]
[project @ 1999-05-04 08:38:53 by sof]
Added support for dllwrap options

25 years ago[project @ 1999-05-04 08:37:55 by sof]
sof [Tue, 4 May 1999 08:37:55 +0000 (08:37 +0000)]
[project @ 1999-05-04 08:37:55 by sof]
added a new way (dll) to use when building Prelude DLLs

25 years ago[project @ 1999-05-04 08:36:29 by sof]
sof [Tue, 4 May 1999 08:36:30 +0000 (08:36 +0000)]
[project @ 1999-05-04 08:36:29 by sof]
added HAVE_WIN32_DLL_SUPPORT

25 years ago[project @ 1999-05-04 08:35:12 by sof]
sof [Tue, 4 May 1999 08:35:12 +0000 (08:35 +0000)]
[project @ 1999-05-04 08:35:12 by sof]
New option: --enable-win32-dlls

25 years ago[project @ 1999-05-04 08:31:51 by sof]
sof [Tue, 4 May 1999 08:31:53 +0000 (08:31 +0000)]
[project @ 1999-05-04 08:31:51 by sof]
Updated _casm_ example

25 years ago[project @ 1999-05-04 08:30:44 by sof]
sof [Tue, 4 May 1999 08:30:44 +0000 (08:30 +0000)]
[project @ 1999-05-04 08:30:44 by sof]
a howto on Win32 DLLs

25 years ago[project @ 1999-05-03 13:22:29 by sof]
sof [Mon, 3 May 1999 13:22:29 +0000 (13:22 +0000)]
[project @ 1999-05-03 13:22:29 by sof]
Win32'ified

25 years ago[project @ 1999-04-29 12:21:50 by simonpj]
simonpj [Thu, 29 Apr 1999 12:21:50 +0000 (12:21 +0000)]
[project @ 1999-04-29 12:21:50 by simonpj]
Document Olaf Chitils point about pattern matching against a polymoprhic argument

25 years ago[project @ 1999-04-29 11:53:12 by simonpj]
simonpj [Thu, 29 Apr 1999 11:53:34 +0000 (11:53 +0000)]
[project @ 1999-04-29 11:53:12 by simonpj]
Minor fixes to tests

25 years ago[project @ 1999-04-29 10:38:33 by simonm]
simonm [Thu, 29 Apr 1999 10:38:33 +0000 (10:38 +0000)]
[project @ 1999-04-29 10:38:33 by simonm]
indexArray# fix.

25 years ago[project @ 1999-04-28 12:59:51 by sewardj]
sewardj [Wed, 28 Apr 1999 12:59:51 +0000 (12:59 +0000)]
[project @ 1999-04-28 12:59:51 by sewardj]
Nano-fixes to make it work on sparc-solaris.

25 years ago[project @ 1999-04-28 12:42:45 by sewardj]
sewardj [Wed, 28 Apr 1999 12:42:45 +0000 (12:42 +0000)]
[project @ 1999-04-28 12:42:45 by sewardj]
Change PK_DBL and ASSIGN_DBL macros for sparc so they only reference their
arguments once.

25 years ago[project @ 1999-04-28 08:30:58 by simonm]
simonm [Wed, 28 Apr 1999 08:30:58 +0000 (08:30 +0000)]
[project @ 1999-04-28 08:30:58 by simonm]
merge --> mergeIO

25 years ago[project @ 1999-04-27 18:30:26 by sof]
sof [Tue, 27 Apr 1999 18:30:26 +0000 (18:30 +0000)]
[project @ 1999-04-27 18:30:26 by sof]
When installing, append  to entries in PACKAGE_BINS list

25 years ago[project @ 1999-04-27 17:44:26 by sof]
sof [Tue, 27 Apr 1999 17:44:27 +0000 (17:44 +0000)]
[project @ 1999-04-27 17:44:26 by sof]
For a forkIO'ed process, report uncaught exceptions on stderr.

25 years ago[project @ 1999-04-27 17:41:17 by sof]
sof [Tue, 27 Apr 1999 17:41:20 +0000 (17:41 +0000)]
[project @ 1999-04-27 17:41:17 by sof]
* Added toplevel exception handler:

    topHandler :: Bool -- bomb on exception caught
               -> Exception
       -> IO ()

   for PrelMain.mainIO and Concurrent.forkIO to use

 * moved forkIO out of PrelConc and into Concurrent.

25 years ago[project @ 1999-04-27 17:33:49 by sof]
sof [Tue, 27 Apr 1999 17:34:00 +0000 (17:34 +0000)]
[project @ 1999-04-27 17:33:49 by sof]
Renamer changes:

 - for a toplevel type signature

f :: ty

   the name 'f' refers to a local definition of 'f' - i.e., don't
   report 'f' as clashing with any imported 'f's.

 - tidied up the handling of fixity declarations - misplaced fixity
   declarations inside class decls, e.g.,

      class F a where
       infix 9 `f`
       g :: a -> Int

   are now caught and reported as errors. Robustified the renaming
   of class decls.

25 years ago[project @ 1999-04-27 17:26:09 by keithw]
keithw [Tue, 27 Apr 1999 17:26:15 +0000 (17:26 +0000)]
[project @ 1999-04-27 17:26:09 by keithw]
glasgow-haskell-{bugs,users} has moved.

25 years ago[project @ 1999-04-27 15:50:07 by simonm]
simonm [Tue, 27 Apr 1999 15:50:07 +0000 (15:50 +0000)]
[project @ 1999-04-27 15:50:07 by simonm]
unboxed 1-tuples are legal.

25 years ago[project @ 1999-04-27 15:23:29 by simonm]
simonm [Tue, 27 Apr 1999 15:23:29 +0000 (15:23 +0000)]
[project @ 1999-04-27 15:23:29 by simonm]
Mark PrimOp arguments as lazy.  This stops the simplifier throwing
away cases, and is consistent with the way applications work.  We
could probably do better by using the information from
primOpStrictness.

25 years ago[project @ 1999-04-27 15:21:32 by simonm]
simonm [Tue, 27 Apr 1999 15:21:32 +0000 (15:21 +0000)]
[project @ 1999-04-27 15:21:32 by simonm]
off-by-one in folding of tagToEnum#.

25 years ago[project @ 1999-04-27 15:20:20 by simonm]
simonm [Tue, 27 Apr 1999 15:20:22 +0000 (15:20 +0000)]
[project @ 1999-04-27 15:20:20 by simonm]
deriving fixes.

25 years ago[project @ 1999-04-27 15:03:20 by simonm]
simonm [Tue, 27 Apr 1999 15:03:20 +0000 (15:03 +0000)]
[project @ 1999-04-27 15:03:20 by simonm]
indexArray# changes.

25 years ago[project @ 1999-04-27 14:35:25 by simonm]
simonm [Tue, 27 Apr 1999 14:35:25 +0000 (14:35 +0000)]
[project @ 1999-04-27 14:35:25 by simonm]
indexArray# now returns an unboxed 1-tuple.

25 years ago[project @ 1999-04-27 14:13:01 by sewardj]
sewardj [Tue, 27 Apr 1999 14:13:01 +0000 (14:13 +0000)]
[project @ 1999-04-27 14:13:01 by sewardj]
Firstified a few common fns for a modest performance gain,
ie,   elem = any . (==)     ===>    directly recursive version.

25 years ago[project @ 1999-04-27 14:07:53 by sewardj]
sewardj [Tue, 27 Apr 1999 14:07:55 +0000 (14:07 +0000)]
[project @ 1999-04-27 14:07:53 by sewardj]
Further fixes to make -DDEBUG work right from mk/build.mk.

25 years ago[project @ 1999-04-27 12:34:49 by simonm]
simonm [Tue, 27 Apr 1999 12:34:59 +0000 (12:34 +0000)]
[project @ 1999-04-27 12:34:49 by simonm]
- Fix the tagToEnum# support in the code generator

- Make isDeadBinder work on case binders

- Fix compiling of

case x `op` y of z {
True  -> ... z ...
False -> ... z ...

- Clean up CgCase a little.

- Don't generate specialised tag2con functions for derived Enum/Ix
  instances; use tagToEnum# instead.

25 years ago[project @ 1999-04-27 12:32:15 by simonm]
simonm [Tue, 27 Apr 1999 12:32:15 +0000 (12:32 +0000)]
[project @ 1999-04-27 12:32:15 by simonm]
Remove declaration of PrelBase_Bool_closure_tbl.

25 years ago[project @ 1999-04-27 12:31:40 by simonm]
simonm [Tue, 27 Apr 1999 12:31:40 +0000 (12:31 +0000)]
[project @ 1999-04-27 12:31:40 by simonm]
Add macros for declaring closure tables.

25 years ago[project @ 1999-04-27 12:30:26 by simonm]
simonm [Tue, 27 Apr 1999 12:30:26 +0000 (12:30 +0000)]
[project @ 1999-04-27 12:30:26 by simonm]
Remove PrelBase_Bool_closure_tbl; this is now generated automatically.

25 years ago[project @ 1999-04-27 12:27:49 by sewardj]
sewardj [Tue, 27 Apr 1999 12:27:56 +0000 (12:27 +0000)]
[project @ 1999-04-27 12:27:49 by sewardj]
Correctify usage of -DDEBUG and -DDEBUG_EXTRA.

25 years ago[project @ 1999-04-27 12:25:58 by keithw]
keithw [Tue, 27 Apr 1999 12:25:58 +0000 (12:25 +0000)]
[project @ 1999-04-27 12:25:58 by keithw]
Documentation added for RegexString.

25 years ago[project @ 1999-04-27 12:25:23 by simonm]
simonm [Tue, 27 Apr 1999 12:25:23 +0000 (12:25 +0000)]
[project @ 1999-04-27 12:25:23 by simonm]
Add CLOSURE_TBL() macro for building closure tables.

25 years ago[project @ 1999-04-27 10:59:29 by sewardj]
sewardj [Tue, 27 Apr 1999 10:59:31 +0000 (10:59 +0000)]
[project @ 1999-04-27 10:59:29 by sewardj]
Minor mods to make STG Hugs compile out-of-the-box.

25 years ago[project @ 1999-04-27 10:06:47 by sewardj]
sewardj [Tue, 27 Apr 1999 10:07:25 +0000 (10:07 +0000)]
[project @ 1999-04-27 10:06:47 by sewardj]
Changes to improve runtime performance of STG Hugs.
-- Reorganisation of the evaluator (Evaluator.c).
-- Changes to code emission (Assembler.c) to support peephole opts
-- An experimental simplifier (optimise.c).
-- Many supporting bug fixes and minor changes.
-- Experimental implementation of integer for standalone hugs (sainteger.c).

25 years ago[project @ 1999-04-27 09:37:04 by simonm]
simonm [Tue, 27 Apr 1999 09:37:04 +0000 (09:37 +0000)]
[project @ 1999-04-27 09:37:04 by simonm]
- Don't add -DCOMPILING_RTS twice

- *set* SRC_CC_OPTS rather than appending to it: we're using ghc as
  the C compiler, so normal gcc flags probably won't work.  eg. if
  you put SRC_CC_OPTS += -g in your build.mk, it'll fall over here.

25 years ago[project @ 1999-04-26 16:08:12 by simonm]
simonm [Mon, 26 Apr 1999 16:08:12 +0000 (16:08 +0000)]
[project @ 1999-04-26 16:08:12 by simonm]
add getTag#

25 years ago[project @ 1999-04-26 16:06:27 by simonm]
simonm [Mon, 26 Apr 1999 16:06:37 +0000 (16:06 +0000)]
[project @ 1999-04-26 16:06:27 by simonm]
- New Wired-in Id: getTag# :: a -> Int#
for a data type, returns the tag of the constructor.
for a function, returns a spurious number probably.
dataToTag# is the name of the underlying primitive which
pulls out the tag (its argument is assumed to be
evaluated).

- Generate constructor tables for enumerated types, so we
  can do tagToEnum#.

- Remove hacks in CoreToStg for dataToTag#.

25 years ago[project @ 1999-04-26 15:19:28 by simonm]
simonm [Mon, 26 Apr 1999 15:19:28 +0000 (15:19 +0000)]
[project @ 1999-04-26 15:19:28 by simonm]
Add simple high-level interface to Regex (snaffled from my nofib log
analyser).

25 years ago[project @ 1999-04-26 11:09:48 by simonm]
simonm [Mon, 26 Apr 1999 11:09:48 +0000 (11:09 +0000)]
[project @ 1999-04-26 11:09:48 by simonm]
oops, forgot to add dataToTag#.

25 years ago[project @ 1999-04-26 10:16:25 by simonm]
simonm [Mon, 26 Apr 1999 10:16:25 +0000 (10:16 +0000)]
[project @ 1999-04-26 10:16:25 by simonm]
Reduce (dataToTag# x) where x is bound to a known constructor.

25 years ago[project @ 1999-04-26 09:39:21 by simonm]
simonm [Mon, 26 Apr 1999 09:39:21 +0000 (09:39 +0000)]
[project @ 1999-04-26 09:39:21 by simonm]
Add note about needing -optCrts before RTS options for the compiler itself.

25 years ago[project @ 1999-04-23 13:54:12 by simonm]
simonm [Fri, 23 Apr 1999 13:54:12 +0000 (13:54 +0000)]
[project @ 1999-04-23 13:54:12 by simonm]
dataToTag# support.

25 years ago[project @ 1999-04-23 13:53:28 by simonm]
simonm [Fri, 23 Apr 1999 13:53:35 +0000 (13:53 +0000)]
[project @ 1999-04-23 13:53:28 by simonm]
Support for

dataToTag# :: a -> Int#  (if a is a data type)

and (partial) support for

tagToEnum# :: Int# -> a  (if a is an enumerated type)

The con2tag functions generated by derived Eq,Ord and Enum instances
are now replaced by dataToTag# for data types with a large number of
constructors.

25 years ago[project @ 1999-04-23 13:33:23 by sof]
sof [Fri, 23 Apr 1999 13:33:23 +0000 (13:33 +0000)]
[project @ 1999-04-23 13:33:23 by sof]
createPipe docfix

25 years ago[project @ 1999-04-23 09:51:24 by simonm]
simonm [Fri, 23 Apr 1999 09:51:26 +0000 (09:51 +0000)]
[project @ 1999-04-23 09:51:24 by simonm]
Remove hack to force setting the CCCS when we enter a function closure
defined inside a lambda.  We use a more general solution now.

25 years ago[project @ 1999-04-23 09:47:30 by simonm]
simonm [Fri, 23 Apr 1999 09:47:33 +0000 (09:47 +0000)]
[project @ 1999-04-23 09:47:30 by simonm]
More profiling fixes.  Profiles looking more reasonable, but for best
results add the -caf-all switch to GHC.

25 years ago[project @ 1999-04-23 09:45:27 by simonm]
simonm [Fri, 23 Apr 1999 09:45:27 +0000 (09:45 +0000)]
[project @ 1999-04-23 09:45:27 by simonm]
Don't forget to set the CCCS from the thunk when entering std thunks.

25 years ago[project @ 1999-04-20 12:59:51 by simonpj]
simonpj [Tue, 20 Apr 1999 12:59:54 +0000 (12:59 +0000)]
[project @ 1999-04-20 12:59:51 by simonpj]
Better typechecker error message when a type-signature variable is unified with a type

25 years ago[project @ 1999-04-19 16:30:51 by simonm]
simonm [Mon, 19 Apr 1999 16:30:55 +0000 (16:30 +0000)]
[project @ 1999-04-19 16:30:51 by simonm]
Allow a worker to be present for functions with no strictness info in
an interface file.  This is useful for functions which get hit by CPR
but not the strictness analyser.

25 years ago[project @ 1999-04-19 13:57:21 by simonm]
simonm [Mon, 19 Apr 1999 13:57:23 +0000 (13:57 +0000)]
[project @ 1999-04-19 13:57:21 by simonm]
Fixes to the unbox-strict-fields stuff for existential constructors.

25 years ago[project @ 1999-04-14 04:07:57 by kglynn]
kglynn [Wed, 14 Apr 1999 04:07:57 +0000 (04:07 +0000)]
[project @ 1999-04-14 04:07:57 by kglynn]
(keving)

Sigh,  No point w/w pass storing the worker id in wrapper's info
field,  because later simplifications may change the worker id. I've
restored the original code which looks in the wrapper function and
guesses the worker id.  With the addition of CPR transf. this looks a
bit fragile. thinks, thinks, ....

25 years ago[project @ 1999-04-13 15:50:29 by sof]
sof [Tue, 13 Apr 1999 15:50:35 +0000 (15:50 +0000)]
[project @ 1999-04-13 15:50:29 by sof]
The {Int,Word}{8,16,32,64} types are no longer 'wired-in', just names
with a known key.

25 years ago[project @ 1999-04-13 15:46:49 by sof]
sof [Tue, 13 Apr 1999 15:46:49 +0000 (15:46 +0000)]
[project @ 1999-04-13 15:46:49 by sof]
Adjusted Id import to avoid module cycle; removed some unused helpers

25 years ago[project @ 1999-04-13 08:55:33 by kglynn]
kglynn [Tue, 13 Apr 1999 08:55:54 +0000 (08:55 +0000)]
[project @ 1999-04-13 08:55:33 by kglynn]
(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.

25 years ago[project @ 1999-04-13 06:57:28 by kglynn]
kglynn [Tue, 13 Apr 1999 06:57:28 +0000 (06:57 +0000)]
[project @ 1999-04-13 06:57:28 by kglynn]
(keving) The CPR Analysis Pass Module

25 years ago[project @ 1999-04-12 18:32:17 by sof]
sof [Mon, 12 Apr 1999 18:32:17 +0000 (18:32 +0000)]
[project @ 1999-04-12 18:32:17 by sof]
Added Haskell wrapper for freeHaskellFunctionPtr()

25 years ago[project @ 1999-04-12 18:29:05 by sof]
sof [Mon, 12 Apr 1999 18:29:05 +0000 (18:29 +0000)]
[project @ 1999-04-12 18:29:05 by sof]
changed to generate tail-jumping code for ccall thunks

25 years ago[project @ 1999-04-09 01:55:15 by kglynn]
kglynn [Fri, 9 Apr 1999 01:55:15 +0000 (01:55 +0000)]
[project @ 1999-04-09 01:55:15 by kglynn]
(keving)

Test Update: Re-instate support for -fprint-core

25 years ago[project @ 1999-04-08 15:46:12 by simonm]
simonm [Thu, 8 Apr 1999 15:46:17 +0000 (15:46 +0000)]
[project @ 1999-04-08 15:46:12 by simonm]
Profiling fixes:

Function closures which are inside a lambda now *set* the CCCS,
instead of possibly appending to it.

In Simplify.lhs: allow inlining imported functions when profiling.
What we really want to do is allow any top-level binding to be
inlined, but there doesn't seem to be an easy way to tell whether a
binding is top-level or not.

25 years ago[project @ 1999-04-08 15:43:44 by simonm]
simonm [Thu, 8 Apr 1999 15:43:46 +0000 (15:43 +0000)]
[project @ 1999-04-08 15:43:44 by simonm]
Don't set the cost centre when entering a PAP.  Either:

-  it's fully applied, in which case we're about to
   set the CCS in the function anyway, or

-  we're about to build another PAP in which case the
   costs get attributed to the current CCS.

This avoids appending CCSs twice in some cases.

25 years ago[project @ 1999-04-07 09:23:51 by simonm]
simonm [Wed, 7 Apr 1999 09:23:51 +0000 (09:23 +0000)]
[project @ 1999-04-07 09:23:51 by simonm]
GHC 3.02 doesn't have Maybe.isNothing; switch to using isJust instead.