sof [Fri, 17 Sep 1999 09:38:35 +0000 (09:38 +0000)]
[project @ 1999-09-17 09:38:33 by sof]
Non-blocking I/O isn't supported on 'pure' Win32 platforms.
simonpj [Fri, 17 Sep 1999 09:16:57 +0000 (09:16 +0000)]
[project @ 1999-09-17 09:16:57 by simonpj]
[This is the commit message that should have gone with the
typechecker commit a few minutes ago, whose message said
~/tmp/msg1
]
Improve location and context information on Insts (notably Dicts),
and thereby improve error messages that relate to dictionaries.
This arose from Marc van Doguen's suggestion.
simonpj [Fri, 17 Sep 1999 09:15:44 +0000 (09:15 +0000)]
[project @ 1999-09-17 09:15:22 by simonpj]
This bunch of commits represents work in progress on inlining and
worker/wrapper stuff.
Currently, I think it makes the compiler slightly worse than 4.04, for
reasons I don't yet understand. But it means that Simon and I can
both peer at what is going on.
* Substantially improve handling of coerces in worker/wrapper
* exprIsDupable for an application (f e1 .. en) wasn't calling exprIsDupable
on the arguments!! So applications with few, but large, args were being dupliated.
* sizeExpr on an application wasn't doing a nukeScrutDiscount on the arg of
an application!! So bogus discounts could accumulate from arguments!
* Improve handling of INLINE pragmas in calcUnfoldingGuidance. It was really
wrong before
simonpj [Fri, 17 Sep 1999 09:13:17 +0000 (09:13 +0000)]
[project @ 1999-09-17 09:13:14 by simonpj]
/home/simonpj/tmp/msg1
simonpj [Fri, 17 Sep 1999 09:11:39 +0000 (09:11 +0000)]
[project @ 1999-09-17 09:11:20 by simonpj]
Remove SST.lhs
simonpj [Fri, 17 Sep 1999 09:09:55 +0000 (09:09 +0000)]
[project @ 1999-09-17 09:09:55 by simonpj]
Add drvrun007, a test that crashed Hugs
sof [Thu, 16 Sep 1999 19:54:37 +0000 (19:54 +0000)]
[project @ 1999-09-16 19:54:37 by sof]
toInt wibble
sof [Thu, 16 Sep 1999 19:37:58 +0000 (19:37 +0000)]
[project @ 1999-09-16 19:37:58 by sof]
Added expected stdout to reg. test for Float&Double exceptional IEEE values.
(the numbers were produced on a PII & with the MS C run-time -- don't be
surprised if you see slightly different numbers on your box.)
sof [Thu, 16 Sep 1999 19:26:01 +0000 (19:26 +0000)]
[project @ 1999-09-16 19:26:01 by sof]
checking Main.main's type + newtype def that caused a ghc-X (X<4.03, I think) TC crash
sof [Thu, 16 Sep 1999 18:40:05 +0000 (18:40 +0000)]
[project @ 1999-09-16 18:40:05 by sof]
Added Tree example from (older) versions of the Report
sof [Thu, 16 Sep 1999 18:37:50 +0000 (18:37 +0000)]
[project @ 1999-09-16 18:37:50 by sof]
Extended to show why changing the defn of ReadS (and read) is a good idea
sof [Thu, 16 Sep 1999 17:55:57 +0000 (17:55 +0000)]
[project @ 1999-09-16 17:55:57 by sof]
newtypes with a labelled field caused DS trouble sometime back
sof [Thu, 16 Sep 1999 17:38:12 +0000 (17:38 +0000)]
[project @ 1999-09-16 17:38:12 by sof]
Bunch of H98 tests I had lying about
sof [Thu, 16 Sep 1999 17:28:06 +0000 (17:28 +0000)]
[project @ 1999-09-16 17:28:06 by sof]
Don't insist that {-# OPTIONS ... #-} pragma is followed by \n
sof [Thu, 16 Sep 1999 17:23:38 +0000 (17:23 +0000)]
[project @ 1999-09-16 17:23:38 by sof]
Doc'ed the (retirement?) home of fromInt and toInt
sof [Thu, 16 Sep 1999 17:14:33 +0000 (17:14 +0000)]
[project @ 1999-09-16 17:14:33 by sof]
Handle -syslib com for non-installed builds ; dLL_ifs.hi is not a normal .hi file
sof [Thu, 16 Sep 1999 17:11:38 +0000 (17:11 +0000)]
[project @ 1999-09-16 17:11:38 by sof]
mkVanillaModule: sigh, special treatment for module Main.
sof [Thu, 16 Sep 1999 17:09:54 +0000 (17:09 +0000)]
[project @ 1999-09-16 17:09:54 by sof]
minor readIface tidyup
sof [Thu, 16 Sep 1999 14:32:02 +0000 (14:32 +0000)]
[project @ 1999-09-16 14:32:02 by sof]
Since 'gcc -E' is the CPP we're now using, make good use of its
support for directly generating dependencies.
simonmar [Thu, 16 Sep 1999 13:14:43 +0000 (13:14 +0000)]
[project @ 1999-09-16 13:14:38 by simonmar]
Cleanup of non-blocking I/O
- file descriptors are now always set to non-blocking mode.
- we don't do an inputReady operation on descriptors before
attempting to read from them any more.
- the non-blocking flag on Handles has gone.
- the {set,clear}[Conn]NonBlockingFlag() functions have gone.
- the socket operations have been made to work properly with threads:
accept is now non-blocking (it does a threadWaitRead instead of
blocking), and the file descriptors returned by accept are set to
non-blocking mode.
Win32 will need some adjustments, no doubt.
simonmar [Thu, 16 Sep 1999 12:29:55 +0000 (12:29 +0000)]
[project @ 1999-09-16 12:29:55 by simonmar]
Fix for DEBUG && !PROFILING
sof [Thu, 16 Sep 1999 10:25:31 +0000 (10:25 +0000)]
[project @ 1999-09-16 10:25:31 by sof]
mingw32 support
sof [Thu, 16 Sep 1999 09:17:25 +0000 (09:17 +0000)]
[project @ 1999-09-16 09:17:25 by sof]
NumExts.showListWith doc'ed
simonmar [Thu, 16 Sep 1999 08:53:34 +0000 (08:53 +0000)]
[project @ 1999-09-16 08:53:34 by simonmar]
Main trunk is now 4.05.
sof [Thu, 16 Sep 1999 08:40:16 +0000 (08:40 +0000)]
[project @ 1999-09-16 08:40:16 by sof]
Minor Win32 changes
sof [Thu, 16 Sep 1999 08:37:08 +0000 (08:37 +0000)]
[project @ 1999-09-16 08:37:08 by sof]
Magic Constant Removal
sof [Thu, 16 Sep 1999 08:35:38 +0000 (08:35 +0000)]
[project @ 1999-09-16 08:35:38 by sof]
Minor tweaks to do with DLL building
sof [Thu, 16 Sep 1999 08:33:54 +0000 (08:33 +0000)]
[project @ 1999-09-16 08:33:54 by sof]
Disable timer ticks on 'pure' Win32 platforms unless really needed
(for profiling) -- no reason to enable it elsewhere as the Win32 bits
doesn't currently support thread{Delay,Wait{Read,Write}}#
sof [Thu, 16 Sep 1999 08:29:01 +0000 (08:29 +0000)]
[project @ 1999-09-16 08:29:01 by sof]
Move DllMain() into separate file + it doesn't call startupHaskell()
any longer upon loading of the DLL. That is the task of clients of
the RTS.
sof [Wed, 15 Sep 1999 13:54:16 +0000 (13:54 +0000)]
[project @ 1999-09-15 13:54:16 by sof]
Add cmp_thread
sof [Wed, 15 Sep 1999 13:50:14 +0000 (13:50 +0000)]
[project @ 1999-09-15 13:50:14 by sof]
Code that trundles over stable_ptr_table need to start at index 1,
as index 0 is unused (and may contain garbage.)
sof [Wed, 15 Sep 1999 13:48:26 +0000 (13:48 +0000)]
[project @ 1999-09-15 13:48:25 by sof]
When constructing vanilla modules from ModuleNames, consult the HiMaps
to make sure we're using the 'right' kind of Module (i.e., it has got
the DLL flag correctly set.)
sof [Wed, 15 Sep 1999 13:46:38 +0000 (13:46 +0000)]
[project @ 1999-09-15 13:46:38 by sof]
mkVanillaModule: made DLL savvy
simonmar [Wed, 15 Sep 1999 13:46:29 +0000 (13:46 +0000)]
[project @ 1999-09-15 13:46:28 by simonmar]
Cost-centre heap profiling and symbol table heap profiling are now
merged into one file: ProfHeap.c.
simonmar [Wed, 15 Sep 1999 13:45:20 +0000 (13:45 +0000)]
[project @ 1999-09-15 13:45:14 by simonmar]
Heap Profiling
--------------
This commit adds simple hp2ps-style heap profiling. Just the '-h'
option is supported so far.
Heap profiles will show the top two cost centres on each cost centre
stack.
Time/Alloc profiles have been extended to aggregate the costs on a
per-cost-centre basis and show the table of highest consuming cost
centres before the full table of cost centre stacks.
Profiles work best if '-caf-all' is used, especially when using
one of the '-auto' flags.
simonpj [Wed, 15 Sep 1999 08:00:11 +0000 (08:00 +0000)]
[project @ 1999-09-15 08:00:11 by simonpj]
Extra words about unsafePerformIO
simonmar [Tue, 14 Sep 1999 12:16:39 +0000 (12:16 +0000)]
[project @ 1999-09-14 12:16:36 by simonmar]
A couple of fixes and cleanups to ticky-ticky profiling:
- remove UPD_EXISTING (doesn't make sense)
- add UPD_CON_IN_PLACE, now that we have in-place updates
- clean up the output a little.
simonmar [Tue, 14 Sep 1999 08:38:08 +0000 (08:38 +0000)]
[project @ 1999-09-14 08:38:08 by simonmar]
gcc 2.95 on Sparc changed the assembly output slightly. This should
fix it.
simonmar [Mon, 13 Sep 1999 13:48:02 +0000 (13:48 +0000)]
[project @ 1999-09-13 13:48:01 by simonmar]
GHC's web pages have moved to http://www.haskell.org/ghc/.
sof [Mon, 13 Sep 1999 11:02:22 +0000 (11:02 +0000)]
[project @ 1999-09-13 11:02:22 by sof]
updated
sof [Mon, 13 Sep 1999 11:02:08 +0000 (11:02 +0000)]
[project @ 1999-09-13 11:02:08 by sof]
Only use initUserSignals() if you've got it defined
sof [Mon, 13 Sep 1999 11:01:07 +0000 (11:01 +0000)]
[project @ 1999-09-13 11:01:05 by sof]
GMP only depends on libiberty for the implementation of random().
Avoid this dep. on a (pure) Win32 platform.
sof [Mon, 13 Sep 1999 08:28:45 +0000 (08:28 +0000)]
[project @ 1999-09-13 08:28:45 by sof]
Win32 version of awaitEvent(). Easy :)
simonmar [Mon, 13 Sep 1999 08:14:51 +0000 (08:14 +0000)]
[project @ 1999-09-13 08:14:51 by simonmar]
oops, back out last change. It was already there.
simonmar [Mon, 13 Sep 1999 08:14:00 +0000 (08:14 +0000)]
[project @ 1999-09-13 08:14:00 by simonmar]
Fix building with profiling.
sof [Sun, 12 Sep 1999 19:18:22 +0000 (19:18 +0000)]
[project @ 1999-09-12 19:18:22 by sof]
In case of a partial writes, buffer pointer wasn't being adjusted/used.
sof [Sun, 12 Sep 1999 16:30:34 +0000 (16:30 +0000)]
[project @ 1999-09-12 16:30:34 by sof]
DLL install support
sof [Sun, 12 Sep 1999 16:27:00 +0000 (16:27 +0000)]
[project @ 1999-09-12 16:27:00 by sof]
If DLL support enabled, add import libs to INSTALL_LIBS + DLL to INSTALL_PROGS
sof [Sun, 12 Sep 1999 16:24:46 +0000 (16:24 +0000)]
[project @ 1999-09-12 16:24:46 by sof]
inputReady() and mingw - always return 1, not 0
sof [Sun, 12 Sep 1999 15:02:43 +0000 (15:02 +0000)]
[project @ 1999-09-12 15:02:43 by sof]
Export toInt and fromInt from Int as well as from the (now uncool) rag-bag
that is GlaExts, since Hugs supports them too.
sof [Sun, 12 Sep 1999 14:39:50 +0000 (14:39 +0000)]
[project @ 1999-09-12 14:39:50 by sof]
s/ZONE/get_ZONE/g
sof [Sun, 12 Sep 1999 14:33:56 +0000 (14:33 +0000)]
[project @ 1999-09-12 14:33:56 by sof]
Re-ordered code so that the POSIX-blessed time() is used in preference
to the plethora of other clock reading calls. This *should* be an OK and
non-upsetting change, but idiosyncracies of OS-supplied header files may
just force me to rethink. We'll see..
sof [Sun, 12 Sep 1999 14:26:32 +0000 (14:26 +0000)]
[project @ 1999-09-12 14:26:32 by sof]
Let's try again - added get_ZONE(), which retrieves current
timezone string. Need to do this since cygwin doesn't initialise
its tzname[] properly (=> need to call tzset() explicitly.)
sof [Sun, 12 Sep 1999 14:23:52 +0000 (14:23 +0000)]
[project @ 1999-09-12 14:23:52 by sof]
timezone.h
sof [Sat, 11 Sep 1999 18:30:49 +0000 (18:30 +0000)]
[project @ 1999-09-11 18:30:49 by sof]
Experimental support for re-routeing I/O on a Handle to that of another
for the duration of an IO action. Used to provide the following three
(exported) actions
withStdin, withStdout, withStderr :: Handle -> IO a -> IO a
which 'replaces' one of the standard handles with that of the supplied
handle while performing the second action.
sof [Sat, 11 Sep 1999 16:50:38 +0000 (16:50 +0000)]
[project @ 1999-09-11 16:50:38 by sof]
Documented Select interface ; removed old Pretty doc
sof [Sat, 11 Sep 1999 16:49:03 +0000 (16:49 +0000)]
[project @ 1999-09-11 16:49:02 by sof]
Added hSelect
simonmar [Fri, 10 Sep 1999 11:11:52 +0000 (11:11 +0000)]
[project @ 1999-09-10 11:11:51 by simonmar]
Fix run queue corruption bug, introduced in recent threadWait commit.
This fixes the "memo002 goes off into outer space" bug.
simonmar [Mon, 6 Sep 1999 14:59:09 +0000 (14:59 +0000)]
[project @ 1999-09-06 14:57:30 by simonmar]
fromInt stuff
simonmar [Mon, 6 Sep 1999 14:38:41 +0000 (14:38 +0000)]
[project @ 1999-09-06 14:36:03 by simonmar]
fromInt stuff
simonmar [Mon, 6 Sep 1999 12:42:29 +0000 (12:42 +0000)]
[project @ 1999-09-06 12:42:29 by simonmar]
Add parse error/layout test.
simonmar [Mon, 6 Sep 1999 12:35:11 +0000 (12:35 +0000)]
[project @ 1999-09-06 12:35:11 by simonmar]
Report layout parse errors as
File.hs:10: parse error (possibly incorrect indentation)
simonmar [Mon, 6 Sep 1999 12:32:48 +0000 (12:32 +0000)]
[project @ 1999-09-06 12:32:48 by simonmar]
Add test for line numbers/string gaps.
simonmar [Mon, 6 Sep 1999 11:53:18 +0000 (11:53 +0000)]
[project @ 1999-09-06 11:53:18 by simonmar]
fix line number discrepancy w/ string gaps.
simonmar [Mon, 6 Sep 1999 11:36:13 +0000 (11:36 +0000)]
[project @ 1999-09-06 11:36:13 by simonmar]
fromInt update.
simonmar [Mon, 6 Sep 1999 11:30:14 +0000 (11:30 +0000)]
[project @ 1999-09-06 11:30:14 by simonmar]
get fromInt from the right place.
sof [Wed, 1 Sep 1999 14:24:27 +0000 (14:24 +0000)]
[project @ 1999-09-01 14:24:27 by sof]
qualified import reg. test
sof [Wed, 1 Sep 1999 14:23:11 +0000 (14:23 +0000)]
[project @ 1999-09-01 14:23:11 by sof]
updated
sof [Wed, 1 Sep 1999 14:22:29 +0000 (14:22 +0000)]
[project @ 1999-09-01 14:22:29 by sof]
Verify that 'as' clause without 'qualified' brings both qual and unqual'ed name into scope
sof [Wed, 1 Sep 1999 14:21:41 +0000 (14:21 +0000)]
[project @ 1999-09-01 14:21:41 by sof]
Test which verifies that special ids are correctly handled by the front-end
sof [Wed, 1 Sep 1999 14:18:55 +0000 (14:18 +0000)]
[project @ 1999-09-01 14:18:54 by sof]
FFI decl tests
sof [Wed, 1 Sep 1999 14:17:14 +0000 (14:17 +0000)]
[project @ 1999-09-01 14:17:14 by sof]
If -noC is used, don't compile the foreign-export C stubs
sof [Wed, 1 Sep 1999 14:08:19 +0000 (14:08 +0000)]
[project @ 1999-09-01 14:08:19 by sof]
* On foreign decls, "ext_name"s are now optional. If missing, the ext_name
is made equal to the Haskell name.
* Half a dozen special-ids were incorrectly handled when occurring as tyvars.
simonpj [Tue, 31 Aug 1999 15:29:00 +0000 (15:29 +0000)]
[project @ 1999-08-31 15:29:00 by simonpj]
Fix default Enum methods
simonpj [Tue, 31 Aug 1999 14:16:16 +0000 (14:16 +0000)]
[project @ 1999-08-31 14:16:16 by simonpj]
Fix preInlineUnconditionally and postInlineUnconditionally, so they respect the black list
simonpj [Tue, 31 Aug 1999 08:49:00 +0000 (08:49 +0000)]
[project @ 1999-08-31 08:49:00 by simonpj]
Small changes to concurrency documentation
simonpj [Mon, 30 Aug 1999 18:23:40 +0000 (18:23 +0000)]
[project @ 1999-08-30 18:19:39 by simonpj]
Adjust library imports to get fromInt/toInt from PrelNum
simonpj [Mon, 30 Aug 1999 09:16:47 +0000 (09:16 +0000)]
[project @ 1999-08-30 09:16:47 by simonpj]
Num( fromInt ) and Integral( toInt ) are not Haskell 98, and so they
should be exposed only by GlaExts, not by Prelude.
simonpj [Fri, 27 Aug 1999 17:32:42 +0000 (17:32 +0000)]
[project @ 1999-08-27 17:32:42 by simonpj]
Fix typo
simonmar [Fri, 27 Aug 1999 14:57:11 +0000 (14:57 +0000)]
[project @ 1999-08-27 14:57:07 by simonmar]
synch output.
simonmar [Fri, 27 Aug 1999 14:43:34 +0000 (14:43 +0000)]
[project @ 1999-08-27 14:43:34 by simonmar]
typo
simonmar [Fri, 27 Aug 1999 14:41:53 +0000 (14:41 +0000)]
[project @ 1999-08-27 14:41:53 by simonmar]
update sample output
simonmar [Fri, 27 Aug 1999 14:38:38 +0000 (14:38 +0000)]
[project @ 1999-08-27 14:38:38 by simonmar]
missing stdout file.
simonmar [Fri, 27 Aug 1999 14:35:56 +0000 (14:35 +0000)]
[project @ 1999-08-27 14:35:56 by simonmar]
syslib misc now depends on syslib concurrent because of Memo.hs.
simonpj [Fri, 27 Aug 1999 11:48:10 +0000 (11:48 +0000)]
[project @ 1999-08-27 11:48:08 by simonpj]
When deciding if a module is a "library" module, allow
C:/
C:\
as prefixes of the path, not just
/
We need to improve this hack, but this fix makes things
work on Windoze.
simonmar [Fri, 27 Aug 1999 08:34:15 +0000 (08:34 +0000)]
[project @ 1999-08-27 08:34:15 by simonmar]
wibble
simonmar [Fri, 27 Aug 1999 08:33:06 +0000 (08:33 +0000)]
[project @ 1999-08-27 08:33:06 by simonmar]
Fix imports.
simonmar [Fri, 27 Aug 1999 08:20:34 +0000 (08:20 +0000)]
[project @ 1999-08-27 08:20:34 by simonmar]
oops, export threadWaitRead etc.
simonmar [Thu, 26 Aug 1999 15:59:08 +0000 (15:59 +0000)]
[project @ 1999-08-26 15:59:06 by simonmar]
Move the rest of the Concurrent Haskell documentation into the
GHC/Hugs libraries document, so it now all lives in one place. Also
update and tidy it up somewhat.
simonmar [Thu, 26 Aug 1999 13:34:36 +0000 (13:34 +0000)]
[project @ 1999-08-26 13:34:36 by simonmar]
threadDelay etc. should be defined in PrelConc.
panne [Thu, 26 Aug 1999 08:31:41 +0000 (08:31 +0000)]
[project @ 1999-08-26 08:31:41 by panne]
Added missing #include.
panne [Thu, 26 Aug 1999 08:24:16 +0000 (08:24 +0000)]
[project @ 1999-08-26 08:23:44 by panne]
Fixed typo UNUSED => STG_UNUSED
simonmar [Wed, 25 Aug 1999 16:39:14 +0000 (16:39 +0000)]
[project @ 1999-08-25 16:39:14 by simonmar]
enable non-blocking I/O.
simonmar [Wed, 25 Aug 1999 16:37:42 +0000 (16:37 +0000)]
[project @ 1999-08-25 16:37:42 by simonmar]
Add select code for thread{WaitRead,WaitWrite,Delay}.
simonmar [Wed, 25 Aug 1999 16:11:56 +0000 (16:11 +0000)]
[project @ 1999-08-25 16:11:43 by simonmar]
Support for thread{WaitRead,WaitWrite,Delay}. These should behave
identically to the 3.02 implementations.
We now have the virtual timer on during all program runs, which ticks
at 50Hz by default. This is used to implement threadDelay, so you
won't get any better granularity than the tick frequency
unfortunately. It remains to be seen whether using the virtual timer
will have a measurable impact on performance for non-threadDelaying
programs.
All operations in the I/O subsystem should now be non-blocking with
respect to other running Haskell threads. It remains to be seen
whether this will have a measurable performance impact on
non-concurrent programs (probably not).
simonmar [Wed, 25 Aug 1999 10:30:36 +0000 (10:30 +0000)]
[project @ 1999-08-25 10:30:36 by simonmar]
Little test for Eq and Ord instances of ThreadId.
simonmar [Wed, 25 Aug 1999 10:23:54 +0000 (10:23 +0000)]
[project @ 1999-08-25 10:23:51 by simonmar]
Eq and Ord instances for ThreadId.
simonmar [Tue, 24 Aug 1999 15:33:12 +0000 (15:33 +0000)]
[project @ 1999-08-24 15:33:09 by simonmar]
Add -D__HASKELL__=98
simonpj [Tue, 24 Aug 1999 09:37:11 +0000 (09:37 +0000)]
[project @ 1999-08-24 09:37:11 by simonpj]
IdInfo.copyIdInfo was wrong. It didn't copy a NOINLINE pragma
when the occurrenc analyser "shorted out" a binding; as a result
the following program didn't respect the NOINLINE pragma:
plus :: Int -> Int -> Int
{-# NOINLINE plus #-}
plus = (+)
f x = plus x (plus x x)
simonmar [Tue, 24 Aug 1999 09:36:41 +0000 (09:36 +0000)]
[project @ 1999-08-24 09:36:41 by simonmar]
oops, back out some other changes that made it in by mistake.