simonm [Fri, 26 Feb 1999 16:44:14 +0000 (16:44 +0000)]
[project @ 1999-02-26 16:44:13 by simonm]
Fix small stats bug in the -G1 case.
simonm [Fri, 26 Feb 1999 13:36:14 +0000 (13:36 +0000)]
[project @ 1999-02-26 13:36:12 by simonm]
Change the semantics of weak pointers - now weak pointer objects
aren't automatically considered reachable, so a weak pointer to a weak
pointer object is now meaningful.
simonm [Fri, 26 Feb 1999 12:46:48 +0000 (12:46 +0000)]
[project @ 1999-02-26 12:46:45 by simonm]
Fix stable pointer bug:
- the 'keep' flag is now a pointer to the stable name object.
- makeStableName always returns an existing stable name object
if one exists.
- re-use stable name table entries iff the stable name object
becomes unreachable (takes into account generational GC now),
and the reference count is 0.
simonm [Fri, 26 Feb 1999 12:43:58 +0000 (12:43 +0000)]
[project @ 1999-02-26 12:43:58 by simonm]
Fix bug in finalizeWeakPointersNow - some weak ptrs could be missed.
simonm [Fri, 26 Feb 1999 12:42:07 +0000 (12:42 +0000)]
[project @ 1999-02-26 12:42:06 by simonm]
Add memo table test.
simonm [Fri, 26 Feb 1999 12:32:51 +0000 (12:32 +0000)]
[project @ 1999-02-26 12:32:51 by simonm]
Fix run queue corruption bug.
simonm [Fri, 26 Feb 1999 09:28:43 +0000 (09:28 +0000)]
[project @ 1999-02-26 09:28:43 by simonm]
Remove bogus TICK_ALLOC_HEAP.
simonm [Thu, 25 Feb 1999 17:52:33 +0000 (17:52 +0000)]
[project @ 1999-02-25 17:52:33 by simonm]
- clean up a little
- add some code to avoid promoting thunks (#ifdefed out)
sof [Thu, 25 Feb 1999 10:18:28 +0000 (10:18 +0000)]
[project @ 1999-02-25 10:18:28 by sof]
hClose: don't raise an exception when passed a handle that's already closed,
i.e.,
h <- openFile "a" ReadMode >> hClose h >> hClose h
will now succeed (provided 'a' exists and is readable, of course.)
Repeated hClose's are just redundant.
simonm [Thu, 25 Feb 1999 10:10:31 +0000 (10:10 +0000)]
[project @ 1999-02-25 10:10:31 by simonm]
Include GC bytes copied in stats string.
simonm [Wed, 24 Feb 1999 17:24:07 +0000 (17:24 +0000)]
[project @ 1999-02-24 17:24:07 by simonm]
Allow eager promotion to be turned off by a compile-time option.
simonm [Wed, 24 Feb 1999 16:30:45 +0000 (16:30 +0000)]
[project @ 1999-02-24 16:30:45 by simonm]
Don't promote blackholes from generation 0 if possible.
simonm [Wed, 24 Feb 1999 16:25:40 +0000 (16:25 +0000)]
[project @ 1999-02-24 16:25:40 by simonm]
- Fix a couple of uninitialized variables
- Fill the nursery with junk after GC if sanity checking is on
sof [Tue, 23 Feb 1999 17:20:34 +0000 (17:20 +0000)]
[project @ 1999-02-23 17:20:34 by sof]
Updates on the Win32 front
simonm [Tue, 23 Feb 1999 17:18:01 +0000 (17:18 +0000)]
[project @ 1999-02-23 17:18:01 by simonm]
- If -H is larger than -M, set -M to -H
- Fix a couple of bugs in calcLive().
simonm [Tue, 23 Feb 1999 15:45:08 +0000 (15:45 +0000)]
[project @ 1999-02-23 15:45:06 by simonm]
- Fix a bug in 2-space (-G1) collection
- Calculate an estimate of the number of bytes copied during GC
for GC stats.
simonm [Tue, 23 Feb 1999 12:02:57 +0000 (12:02 +0000)]
[project @ 1999-02-23 12:02:57 by simonm]
Print time spent collecting each generation.
simonm [Tue, 23 Feb 1999 10:09:49 +0000 (10:09 +0000)]
[project @ 1999-02-23 10:09:49 by simonm]
Integer fixes.
simonm [Mon, 22 Feb 1999 11:47:17 +0000 (11:47 +0000)]
[project @ 1999-02-22 11:47:17 by simonm]
Couple of Integer fixes.
simonm [Mon, 22 Feb 1999 10:51:18 +0000 (10:51 +0000)]
[project @ 1999-02-22 10:51:18 by simonm]
- Fix off-by-one in __encodeFloat;
- Tidy up __encodeDouble a bit.
sof [Mon, 22 Feb 1999 10:22:36 +0000 (10:22 +0000)]
[project @ 1999-02-22 10:22:34 by sof]
Tweaks to make docs build cleanly
sof [Sat, 20 Feb 1999 13:41:27 +0000 (13:41 +0000)]
[project @ 1999-02-20 13:41:27 by sof]
Fixed waitQSemN bug
sewardj [Fri, 19 Feb 1999 18:26:04 +0000 (18:26 +0000)]
[project @ 1999-02-19 18:26:04 by sewardj]
Added field 'StgWord stgexpr' to struct StgBCO, to help with debugging
the interpreter. This field (if nonzero) points into the Hugs heap, at
the STG tree from which the BCO was derived.
simonm [Fri, 19 Feb 1999 17:12:07 +0000 (17:12 +0000)]
[project @ 1999-02-19 17:11:59 by simonm]
Some test updates.
simonm [Fri, 19 Feb 1999 10:48:58 +0000 (10:48 +0000)]
[project @ 1999-02-19 10:48:58 by simonm]
Fix negate (toInteger (minBound :: Int)).
simonm [Fri, 19 Feb 1999 10:48:27 +0000 (10:48 +0000)]
[project @ 1999-02-19 10:48:27 by simonm]
Hack around a couple of explicit uses of the Integer rep.
simonm [Thu, 18 Feb 1999 17:55:40 +0000 (17:55 +0000)]
[project @ 1999-02-18 17:55:40 by simonm]
Eliminate an unnecessary pattern match on J#.
simonpj [Thu, 18 Feb 1999 17:13:55 +0000 (17:13 +0000)]
[project @ 1999-02-18 17:13:54 by simonpj]
Allow completely unbound tyvars of non-type kind
sof [Thu, 18 Feb 1999 16:37:56 +0000 (16:37 +0000)]
[project @ 1999-02-18 16:37:55 by sof]
Added test that caused 3.03 and 4.01 to enter a blackhole
simonm [Thu, 18 Feb 1999 16:33:09 +0000 (16:33 +0000)]
[project @ 1999-02-18 16:33:09 by simonm]
Allow -f flag to override existing symlink tree.
sewardj [Thu, 18 Feb 1999 13:00:28 +0000 (13:00 +0000)]
[project @ 1999-02-18 13:00:27 by sewardj]
Make decoding of RtsFlags.DebugFlags work on big-endian architectures.
simonm [Thu, 18 Feb 1999 12:26:17 +0000 (12:26 +0000)]
[project @ 1999-02-18 12:26:11 by simonm]
Add two new operations to StgPrimFloat.c:
__int_encodeFloat
__int_encodeDouble
for encoding floats/doubles from small integers. This avoids having
to convert small integers to large ones before an encodeFloat
operation, and fixes the two cases of slowdown in nofib after the
small integer changes.
Also:
- remove encodeFloat and decodeFloat as primops
- use foreign import for encode{Float,Double} and
the various isNaN etc. ccalls in PrelNumExtra.
simonm [Thu, 18 Feb 1999 12:21:07 +0000 (12:21 +0000)]
[project @ 1999-02-18 12:21:07 by simonm]
- Fix typo in description of -M
- Add doc line for -H
simonpj [Wed, 17 Feb 1999 21:54:48 +0000 (21:54 +0000)]
[project @ 1999-02-17 21:54:48 by simonpj]
Reinstate specialisations for fromIntegral and realToFrac
simonpj [Wed, 17 Feb 1999 21:53:27 +0000 (21:53 +0000)]
[project @ 1999-02-17 21:53:27 by simonpj]
Add z-encodings for ^ and %
simonm [Wed, 17 Feb 1999 17:47:09 +0000 (17:47 +0000)]
[project @ 1999-02-17 17:47:09 by simonm]
typo
simonm [Wed, 17 Feb 1999 17:35:32 +0000 (17:35 +0000)]
[project @ 1999-02-17 17:35:31 by simonm]
Fix a couple of uninitialized data reads.
simonm [Wed, 17 Feb 1999 15:57:39 +0000 (15:57 +0000)]
[project @ 1999-02-17 15:57:20 by simonm]
Fast Integers. The rep. of Integers is now
data Integer = S# Int#
| J# Int# ByteArray#
- several new primops added for overflow-detecting arithmetic
- negateInteger# removed; it can be done directly
- integer_0, integer_1 etc. removed.
- the compiler now uses S# where it previously used int2Integer.
- the compiler generates small integers for -2^32 .. 2^32-1, instead
of -2^29 .. -2^29-1.
- PrelST.State datatype moved to LazyST (its only use).
- some library code (in Time.lhs) still needs cleaning up, it depends
on the Integer rep.
simonm [Wed, 17 Feb 1999 15:04:40 +0000 (15:04 +0000)]
[project @ 1999-02-17 15:04:40 by simonm]
Be slightly more conservative about allocation area sizing with -H.
sof [Wed, 17 Feb 1999 10:51:42 +0000 (10:51 +0000)]
[project @ 1999-02-17 10:51:42 by sof]
Document __HASKELL98__
sof [Wed, 17 Feb 1999 10:48:06 +0000 (10:48 +0000)]
[project @ 1999-02-17 10:48:06 by sof]
Define __HASKELL98__
sof [Wed, 17 Feb 1999 09:43:32 +0000 (09:43 +0000)]
[project @ 1999-02-17 09:43:32 by sof]
Perl regex tweak, take 55
simonm [Tue, 16 Feb 1999 12:52:32 +0000 (12:52 +0000)]
[project @ 1999-02-16 12:52:32 by simonm]
Reinstate finalizer changes.
simonm [Tue, 16 Feb 1999 12:49:45 +0000 (12:49 +0000)]
[project @ 1999-02-16 12:49:45 by simonm]
Sigh, backout finalizer changes for 4.02 pl1.
sof [Mon, 15 Feb 1999 17:57:30 +0000 (17:57 +0000)]
[project @ 1999-02-15 17:57:29 by sof]
Empty export list regression test
sof [Mon, 15 Feb 1999 17:50:20 +0000 (17:50 +0000)]
[project @ 1999-02-15 17:50:20 by sof]
warnUnusedGroup: be friendlier to -fwarn-unused-matches users
sof [Mon, 15 Feb 1999 14:45:01 +0000 (14:45 +0000)]
[project @ 1999-02-15 14:45:01 by sof]
findAndReadIface: use decoded module name
simonm [Mon, 15 Feb 1999 14:44:02 +0000 (14:44 +0000)]
[project @ 1999-02-15 14:44:02 by simonm]
wibble^2
simonm [Mon, 15 Feb 1999 14:43:19 +0000 (14:43 +0000)]
[project @ 1999-02-15 14:43:19 by simonm]
wibble
sof [Mon, 15 Feb 1999 14:38:42 +0000 (14:38 +0000)]
[project @ 1999-02-15 14:38:42 by sof]
Allow empty export lists again
simonm [Mon, 15 Feb 1999 14:38:23 +0000 (14:38 +0000)]
[project @ 1999-02-15 14:38:23 by simonm]
Add pointer to docs on scoped type variables.
Slide tag for 4.02 patchlevel 1.
simonm [Mon, 15 Feb 1999 14:36:00 +0000 (14:36 +0000)]
[project @ 1999-02-15 14:36:00 by simonm]
we're at patchlevel 1.
simonm [Mon, 15 Feb 1999 14:30:57 +0000 (14:30 +0000)]
[project @ 1999-02-15 14:30:56 by simonm]
eliminate warnings about nested comments.
simonm [Mon, 15 Feb 1999 14:28:19 +0000 (14:28 +0000)]
[project @ 1999-02-15 14:28:19 by simonm]
4.02 tag slid forward to include GC bug fix in rev 1.31.
simonm [Mon, 15 Feb 1999 14:27:19 +0000 (14:27 +0000)]
[project @ 1999-02-15 14:27:19 by simonm]
Fix another bug in scavenge_mutable_list: mutable objects promoted during
scavenging of the mutable list itself could get dropped.
simonm [Mon, 15 Feb 1999 12:12:55 +0000 (12:12 +0000)]
[project @ 1999-02-15 12:12:55 by simonm]
Add a few more flag test macros.
simonm [Fri, 12 Feb 1999 10:36:05 +0000 (10:36 +0000)]
[project @ 1999-02-12 10:36:05 by simonm]
finalise/finalize changes.
simonm [Thu, 11 Feb 1999 17:56:49 +0000 (17:56 +0000)]
[project @ 1999-02-11 17:56:49 by simonm]
Weak library updates.
simonm [Thu, 11 Feb 1999 17:54:36 +0000 (17:54 +0000)]
[project @ 1999-02-11 17:54:36 by simonm]
finalise/finalize changes.
simonm [Thu, 11 Feb 1999 17:40:28 +0000 (17:40 +0000)]
[project @ 1999-02-11 17:40:23 by simonm]
finalise/finalize changes.
simonm [Thu, 11 Feb 1999 17:15:23 +0000 (17:15 +0000)]
[project @ 1999-02-11 17:15:20 by simonm]
More finalise/finalize updates.
simonpj [Thu, 11 Feb 1999 16:33:44 +0000 (16:33 +0000)]
[project @ 1999-02-11 16:33:44 by simonpj]
Fix yet another specialiser dict-floating bug; showed up in nofib/spectral/typech98
simonm [Thu, 11 Feb 1999 14:35:26 +0000 (14:35 +0000)]
[project @ 1999-02-11 14:35:23 by simonm]
More weak pointer changes.
simonm [Thu, 11 Feb 1999 14:22:58 +0000 (14:22 +0000)]
[project @ 1999-02-11 14:22:53 by simonm]
- s/finalise/finalize/g
- make finalize run the finalizer immediately, and wait for its completion
- make mkWeak take a (Maybe (IO ())) for the finalizer argument
- remove mkWeakNoFinalizer
simonm [Thu, 11 Feb 1999 14:20:12 +0000 (14:20 +0000)]
[project @ 1999-02-11 14:20:11 by simonm]
Add release notes for 4.03.
simonm [Thu, 11 Feb 1999 14:19:07 +0000 (14:19 +0000)]
[project @ 1999-02-11 14:18:50 by simonm]
Bump version to 4.03.
simonm [Thu, 11 Feb 1999 12:30:38 +0000 (12:30 +0000)]
[project @ 1999-02-11 12:30:38 by simonm]
- add scoped type variables documentation.
simonm [Wed, 10 Feb 1999 17:36:53 +0000 (17:36 +0000)]
[project @ 1999-02-10 17:36:53 by simonm]
more 4.02 updates.
simonpj [Wed, 10 Feb 1999 16:01:22 +0000 (16:01 +0000)]
[project @ 1999-02-10 16:01:17 by simonpj]
Tiny error-message hacks
simonpj [Wed, 10 Feb 1999 15:46:06 +0000 (15:46 +0000)]
[project @ 1999-02-10 15:45:52 by simonpj]
Misc tests fixes, and activate the programs directory
simonpj [Wed, 10 Feb 1999 14:39:19 +0000 (14:39 +0000)]
[project @ 1999-02-10 14:39:19 by simonpj]
Import instance involving (->)... Paul Callaghan bug report
simonm [Tue, 9 Feb 1999 14:36:11 +0000 (14:36 +0000)]
[project @ 1999-02-09 14:36:11 by simonm]
remove a couple of 'sec:'s.
simonm [Tue, 9 Feb 1999 12:50:38 +0000 (12:50 +0000)]
[project @ 1999-02-09 12:50:38 by simonm]
Bugfix for generation resizing in the single-generation case.
simonm [Tue, 9 Feb 1999 12:49:23 +0000 (12:49 +0000)]
[project @ 1999-02-09 12:49:23 by simonm]
Count live data properly in the single-generation case.
sof [Tue, 9 Feb 1999 10:13:20 +0000 (10:13 +0000)]
[project @ 1999-02-09 10:12:24 by sof]
Updated + added Main.main regression test.
simonm [Tue, 9 Feb 1999 09:43:08 +0000 (09:43 +0000)]
[project @ 1999-02-09 09:43:08 by simonm]
Hack around timezone problems. Completely fail to do the right thing
in favour of getting 4.02 out of the door.
simonpj [Tue, 9 Feb 1999 09:17:00 +0000 (09:17 +0000)]
[project @ 1999-02-09 09:17:00 by simonpj]
Add -fdo-case-elim to the first simplifier pass; I forget exactly why
simonpj [Tue, 9 Feb 1999 08:53:05 +0000 (08:53 +0000)]
[project @ 1999-02-09 08:53:05 by simonpj]
Fix typechecker bug so that
main :: a
main = error "Urk"
gives a sensible error message rather than crashing the compiler
sof [Mon, 8 Feb 1999 11:16:20 +0000 (11:16 +0000)]
[project @ 1999-02-08 11:16:17 by sof]
Added `timezone' config test.
simonm [Mon, 8 Feb 1999 10:41:17 +0000 (10:41 +0000)]
[project @ 1999-02-08 10:41:17 by simonm]
Fix bug in scavenge_mutable_list that meant mutable objects sometimes
got dropped from the mutable list.
sof [Sat, 6 Feb 1999 18:05:45 +0000 (18:05 +0000)]
[project @ 1999-02-06 18:05:45 by sof]
CC_DECLARE ppr bugfix
sof [Sat, 6 Feb 1999 18:05:05 +0000 (18:05 +0000)]
[project @ 1999-02-06 18:05:05 by sof]
The StablePtr dataCon is now a 'known' name
sof [Sat, 6 Feb 1999 17:12:03 +0000 (17:12 +0000)]
[project @ 1999-02-06 17:12:03 by sof]
H98ified
sof [Sat, 6 Feb 1999 16:10:25 +0000 (16:10 +0000)]
[project @ 1999-02-06 16:10:18 by sof]
New regression test - overlapped patterns involving labelled fields.
sof [Sat, 6 Feb 1999 16:00:47 +0000 (16:00 +0000)]
[project @ 1999-02-06 16:00:43 by sof]
Added two new (read.show) regression tests for derived Read&Show instances.
sof [Sat, 6 Feb 1999 15:54:21 +0000 (15:54 +0000)]
[project @ 1999-02-06 15:54:21 by sof]
simplify_pat: When simplifying a RecPat to a ConPat, expand out the missing
fields with WildPats.
sof [Fri, 5 Feb 1999 16:37:24 +0000 (16:37 +0000)]
[project @ 1999-02-05 16:37:13 by sof]
-fwarn-type-defaults is your friend; misc changes to avoid H98's
'default default' of Integer to kick when what we really want is Int.
simonm [Fri, 5 Feb 1999 16:03:04 +0000 (16:03 +0000)]
[project @ 1999-02-05 16:02:18 by simonm]
Copyright police.
simonm [Fri, 5 Feb 1999 15:25:09 +0000 (15:25 +0000)]
[project @ 1999-02-05 15:25:01 by simonm]
Remove MUT_ARR_WORDS. I'm not sure why we had it in the first place.
simonm [Fri, 5 Feb 1999 14:49:22 +0000 (14:49 +0000)]
[project @ 1999-02-05 14:49:22 by simonm]
[ repeating commit, message got lost last time ]
- Scavenge each older generation immediately after traversing its
mutable list.
- Make the first GC a major one: it doesn't cost much, and we get
to garbage collection 'main' straight away.
- Change the order of scavenging to try to minimise the size of
the mutable lists.
simonm [Fri, 5 Feb 1999 14:48:01 +0000 (14:48 +0000)]
[project @ 1999-02-05 14:48:01 by simonm]
[ repeating commit, message got lost last time ]
- Scavenge each older generation immediately after traversing its
mutable list.
- Make the first GC a major one: it doesn't cost much, and we get
to garbage collection 'main' straight away.
- Change the order of scavenging to try to minimise the size of
the mutable lists.
simonm [Fri, 5 Feb 1999 14:45:43 +0000 (14:45 +0000)]
[project @ 1999-02-05 14:45:42 by simonm]
simonm [Fri, 5 Feb 1999 14:44:43 +0000 (14:44 +0000)]
[project @ 1999-02-05 14:44:43 by simonm]
Make it work.
sof [Fri, 5 Feb 1999 14:38:05 +0000 (14:38 +0000)]
[project @ 1999-02-05 14:38:03 by sof]
Updates
sof [Fri, 5 Feb 1999 14:34:05 +0000 (14:34 +0000)]
[project @ 1999-02-05 14:34:02 by sof]
'errors' caught by -fwarn-type-defaults
sof [Fri, 5 Feb 1999 14:28:34 +0000 (14:28 +0000)]
[project @ 1999-02-05 14:28:34 by sof]
Add initial empty line to a block of errors/warnings
sof [Fri, 5 Feb 1999 13:45:29 +0000 (13:45 +0000)]
[project @ 1999-02-05 13:45:29 by sof]
sigh, too hasty with dropping -monly-3-regs on Int and Word
sof [Fri, 5 Feb 1999 12:48:23 +0000 (12:48 +0000)]
[project @ 1999-02-05 12:48:23 by sof]
Added oblique egcs-1.1.1 remark
sof [Fri, 5 Feb 1999 12:41:32 +0000 (12:41 +0000)]
[project @ 1999-02-05 12:41:31 by sof]
don't include structs that are known to be empty within StgInfoTable and
StgHeader. Shouldn't be a problem - but egcs-1.1.1 doesn't handle them
correctly.
sof [Fri, 5 Feb 1999 12:35:43 +0000 (12:35 +0000)]
[project @ 1999-02-05 12:35:42 by sof]
deriving Enum bugfixes