simonmar [Tue, 5 Oct 1999 10:22:42 +0000 (10:22 +0000)]
[project @ 1999-10-05 10:22:40 by simonmar]
--with-ghc-hc is now --with-hc (to be used as the "locally installed
Haskell compiler" for all projects).
simonmar [Tue, 5 Oct 1999 09:58:13 +0000 (09:58 +0000)]
[project @ 1999-10-05 09:58:13 by simonmar]
Remove hstags for now.
kglynn [Tue, 5 Oct 1999 09:04:30 +0000 (09:04 +0000)]
[project @ 1999-10-05 09:04:30 by kglynn]
(keving)
Much simplified and beautified CPR analysis code. (And also much
shorter, we'd better write this up before it disappears).
Added (constant) functions to the abstract domain. Note that
Fun^n Bot (n >= 1) == Bot and likewise for Top
Treats divergent computations as Bot (rather than Top as previous) so
non-divergent paths dominate which allows us to generate more accurate
CPR info (see e.g. chr).
We use the result of strictness analysis to tell us if an Id is
divergent (when applied to sufficient args), therefore we should run
after the strictness analysis pass.
simonmar [Tue, 5 Oct 1999 09:02:39 +0000 (09:02 +0000)]
[project @ 1999-10-05 09:02:30 by simonmar]
Flatten out the tuple of bounds in the Array, MutableArray and
ByteArray datatypes. This improves performance of heavy array
manipulations quite significantly.
simonmar [Mon, 4 Oct 1999 16:14:34 +0000 (16:14 +0000)]
[project @ 1999-10-04 16:14:34 by simonmar]
Service signal handlers if we get an EINTR from select(2).
simonmar [Mon, 4 Oct 1999 16:13:18 +0000 (16:13 +0000)]
[project @ 1999-10-04 16:13:18 by simonmar]
allow raising exceptions in threads blocked on I/O or time delays
simonmar [Mon, 4 Oct 1999 15:00:49 +0000 (15:00 +0000)]
[project @ 1999-10-04 15:00:49 by simonmar]
typo
simonmar [Mon, 4 Oct 1999 14:03:50 +0000 (14:03 +0000)]
[project @ 1999-10-04 14:03:47 by simonmar]
cleanup
simonmar [Mon, 4 Oct 1999 13:57:41 +0000 (13:57 +0000)]
[project @ 1999-10-04 13:57:41 by simonmar]
hstags doesn't work any more - disconnect it
sof [Fri, 1 Oct 1999 08:41:06 +0000 (08:41 +0000)]
[project @ 1999-10-01 08:41:06 by sof]
avoid giving 'sub's empty parameter lists
sof [Thu, 30 Sep 1999 16:20:14 +0000 (16:20 +0000)]
[project @ 1999-09-30 16:20:14 by sof]
For strftime()'s format string, stay within the bounds of ISO/ANSI C
sof [Thu, 30 Sep 1999 15:50:04 +0000 (15:50 +0000)]
[project @ 1999-09-30 15:50:02 by sof]
Simplified the interface between CPUTime.getCPUTime and getCPUTime()
sof [Thu, 30 Sep 1999 14:25:47 +0000 (14:25 +0000)]
[project @ 1999-09-30 14:25:46 by sof]
Common up Hugs&ghc implementation of addToClockTime, clearing up some potential signed vs. unsigned problems in the process
sof [Thu, 30 Sep 1999 12:42:26 +0000 (12:42 +0000)]
[project @ 1999-09-30 12:42:25 by sof]
primGetClockTime was incorrectly calling prim_getClockTime; fixed dormant bug in Show instance for ClockTime
sof [Thu, 30 Sep 1999 12:38:44 +0000 (12:38 +0000)]
[project @ 1999-09-30 12:38:44 by sof]
removed prim_getClockTime
sof [Thu, 30 Sep 1999 12:35:50 +0000 (12:35 +0000)]
[project @ 1999-09-30 12:35:50 by sof]
more of same
sof [Thu, 30 Sep 1999 12:35:04 +0000 (12:35 +0000)]
[project @ 1999-09-30 12:35:04 by sof]
don't re-define O_NOCTTY
sof [Sun, 26 Sep 1999 16:07:38 +0000 (16:07 +0000)]
[project @ 1999-09-26 16:07:38 by sof]
Doc'ed -fwarn-missing-fields
sof [Sun, 26 Sep 1999 16:05:35 +0000 (16:05 +0000)]
[project @ 1999-09-26 16:05:34 by sof]
Record construction tests
sof [Sun, 26 Sep 1999 16:01:12 +0000 (16:01 +0000)]
[project @ 1999-09-26 16:01:08 by sof]
Increased friendliness re: record construction a little:
* constructions that fail to mention one or more strict
fields are now flagged as an error, which the Report demands.
* Optionally warn about other missing fields. -fwarn-missing-fields
takes you there, and it is in currently in the '-W' set of
warnings.
sof [Wed, 22 Sep 1999 11:53:33 +0000 (11:53 +0000)]
[project @ 1999-09-22 11:53:33 by sof]
At startup time, install a SIGINT termination handler which calls
shutdownHaskellAndExit(), if invoked.
sof [Tue, 21 Sep 1999 14:28:14 +0000 (14:28 +0000)]
[project @ 1999-09-21 14:28:14 by sof]
Addr is now a _casm_ free zone + added indexStablePtrOffAddr
sof [Tue, 21 Sep 1999 09:46:04 +0000 (09:46 +0000)]
[project @ 1999-09-21 09:46:04 by sof]
v1.2 of Show Addr instance, pad out to fixed length
sof [Tue, 21 Sep 1999 09:19:57 +0000 (09:19 +0000)]
[project @ 1999-09-21 09:19:57 by sof]
when mangling gcc output, make sure we distinguish between a \ at EOL and a \ in DOS paths
sof [Tue, 21 Sep 1999 09:02:05 +0000 (09:02 +0000)]
[project @ 1999-09-21 09:02:05 by sof]
updated
sof [Tue, 21 Sep 1999 09:01:38 +0000 (09:01 +0000)]
[project @ 1999-09-21 09:01:38 by sof]
Reg. tests for h{Set,Get}Posn + hSeek
sof [Tue, 21 Sep 1999 09:00:46 +0000 (09:00 +0000)]
[project @ 1999-09-21 09:00:46 by sof]
Testing the sanity of Show on Addr
sof [Tue, 21 Sep 1999 08:59:47 +0000 (08:59 +0000)]
[project @ 1999-09-21 08:59:46 by sof]
Moved Show instance for Addr from PrelAddr to Addr & made it display
the Addr in hex (+ have it cope with ptrs with MSB set.)
simonmar [Mon, 20 Sep 1999 11:18:05 +0000 (11:18 +0000)]
[project @ 1999-09-20 11:18:05 by simonmar]
Fix for compiling w/ ghc-2.10
sof [Mon, 20 Sep 1999 10:22:40 +0000 (10:22 +0000)]
[project @ 1999-09-20 10:22:40 by sof]
Added 'updateIORef :: IORef a -> (a->a) -> IO ()'
simonmar [Mon, 20 Sep 1999 10:18:30 +0000 (10:18 +0000)]
[project @ 1999-09-20 10:18:29 by simonmar]
- fix bug in setSocketOption__ which meant that trying to set
SO_REUSEADDR on Linux (and possibly other OS's) didn't work.
- add rudimentary non-blocking connect support.
panne [Mon, 20 Sep 1999 08:36:35 +0000 (08:36 +0000)]
[project @ 1999-09-20 08:36:35 by panne]
Need sys/types.h for off_t
sof [Sun, 19 Sep 1999 19:30:26 +0000 (19:30 +0000)]
[project @ 1999-09-19 19:30:26 by sof]
exts/ is now also a _ccall_ free zone.
sof [Sun, 19 Sep 1999 19:30:04 +0000 (19:30 +0000)]
[project @ 1999-09-19 19:30:04 by sof]
* Re-exported IO.HandlePosn, i.e.,
type HandlePosition = Integer
data HandlePosn = HandlePosn Handle HandlePosition
* Added hTell :: Handle -> HandlePosition
(merely a wrapper for IO.hGetPosn )
* Added hSetBinaryMode :: Handle -> Bool -> IO Bool
for dynamically changing the 'translation mode' of a Handle.
This stuff is only useful on platforms that make a distinction
between text and binary files (e.g., Win32)
sof [Sun, 19 Sep 1999 19:27:10 +0000 (19:27 +0000)]
[project @ 1999-09-19 19:27:10 by sof]
IOExts.hSetBinaryMode wrapper
sof [Sun, 19 Sep 1999 19:26:57 +0000 (19:26 +0000)]
[project @ 1999-09-19 19:26:57 by sof]
updates
sof [Sun, 19 Sep 1999 19:26:14 +0000 (19:26 +0000)]
[project @ 1999-09-19 19:26:14 by sof]
wibble
sof [Sun, 19 Sep 1999 19:25:24 +0000 (19:25 +0000)]
[project @ 1999-09-19 19:25:24 by sof]
Allow seeking on devices and beyond EOF
sof [Sun, 19 Sep 1999 19:22:14 +0000 (19:22 +0000)]
[project @ 1999-09-19 19:22:14 by sof]
Have sizeof_time_t report the size in *words*
sof [Sun, 19 Sep 1999 19:21:22 +0000 (19:21 +0000)]
[project @ 1999-09-19 19:21:22 by sof]
unify two near-identical impls of toClockSec()
sof [Sun, 19 Sep 1999 19:20:50 +0000 (19:20 +0000)]
[project @ 1999-09-19 19:20:50 by sof]
* drop the restriction that seeks cannot be made on devices & beyond
EOFs. If the underlying lseek() doesn't like us doing either, it'll
let us know.
* When asking for the current position under Win32, take into account
that lseek() reports the _untranslated_ position, so adjust the resulting
position by scanning input buffer looking for \n's (and treat them
as if \r\n.)
sof [Sun, 19 Sep 1999 19:15:26 +0000 (19:15 +0000)]
[project @ 1999-09-19 19:15:26 by sof]
re-organised the initialisation of the 'flags' a little; record whether a file handle is in 'binary' translation mode or not.
sof [Sun, 19 Sep 1999 19:12:42 +0000 (19:12 +0000)]
[project @ 1999-09-19 19:12:39 by sof]
Drop the use of _ccall_, _casm_ and lit-lits in std/, "foreign import" is
the future.
sof [Sun, 19 Sep 1999 19:10:54 +0000 (19:10 +0000)]
[project @ 1999-09-19 19:10:54 by sof]
nullAddr: avoid the use of a lit-lit
sof [Fri, 17 Sep 1999 11:38:18 +0000 (11:38 +0000)]
[project @ 1999-09-17 11:38:18 by sof]
Consistently use .dll_o for toplevel object files that are to be included with all DLL-based apps
sof [Fri, 17 Sep 1999 11:29:51 +0000 (11:29 +0000)]
[project @ 1999-09-17 11:29:51 by sof]
expected (std)output of show001
sof [Fri, 17 Sep 1999 11:23:33 +0000 (11:23 +0000)]
[project @ 1999-09-17 11:23:33 by sof]
Testing Show for Maybes and Eithers
sof [Fri, 17 Sep 1999 11:22:53 +0000 (11:22 +0000)]
[project @ 1999-09-17 11:22:53 by sof]
Fixed bogus Show instances for Maybe and Either
sof [Fri, 17 Sep 1999 10:43:54 +0000 (10:43 +0000)]
[project @ 1999-09-17 10:43:51 by sof]
DLL building tweaks, including terrible hack to compile PrelMain
sof [Fri, 17 Sep 1999 10:43:07 +0000 (10:43 +0000)]
[project @ 1999-09-17 10:43:07 by sof]
posix is not for Win32
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.