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.
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.)