rrt [Mon, 4 Sep 2000 16:33:12 +0000 (16:33 +0000)]
[project @ 2000-09-04 16:33:12 by rrt]
Removed spurious definition of GHC_INPLACE
simonmar [Mon, 4 Sep 2000 15:23:55 +0000 (15:23 +0000)]
[project @ 2000-09-04 15:23:55 by simonmar]
Test for freeing StablePtrs.
simonmar [Mon, 4 Sep 2000 15:17:03 +0000 (15:17 +0000)]
[project @ 2000-09-04 15:17:03 by simonmar]
- debugging: print weights as unsigned
- clean up getStablePtr a bit
- correct a comment
simonmar [Mon, 4 Sep 2000 15:09:49 +0000 (15:09 +0000)]
[project @ 2000-09-04 15:09:49 by simonmar]
Fix a bug in freeStablePtr, the weight being subtracted from the entry
in the stable pointer table was wrong.
simonmar [Mon, 4 Sep 2000 15:08:42 +0000 (15:08 +0000)]
[project @ 2000-09-04 15:08:42 by simonmar]
Fix a couple of bugs in the StablePtr weigthed reference counting.
simonmar [Mon, 4 Sep 2000 14:39:10 +0000 (14:39 +0000)]
[project @ 2000-09-04 14:39:10 by simonmar]
turn off -Wpointer-arith, it generates some warnings in the headers on RH6.2
simonmar [Mon, 4 Sep 2000 14:10:38 +0000 (14:10 +0000)]
[project @ 2000-09-04 14:10:38 by simonmar]
Convert one of the alternatives in an algebraic switch into the
default, if we don't already have a default. This generates better
code in particular for inline comparison primops.
Noticed by: Qrczak
simonmar [Mon, 4 Sep 2000 14:07:29 +0000 (14:07 +0000)]
[project @ 2000-09-04 14:07:29 by simonmar]
Use mkAbsCStmts rather than AbsCStmts directly.
simonmar [Mon, 4 Sep 2000 13:59:55 +0000 (13:59 +0000)]
[project @ 2000-09-04 13:59:55 by simonmar]
test for bogus parse caused by Happy bug
qrczak [Fri, 1 Sep 2000 18:28:41 +0000 (18:28 +0000)]
[project @ 2000-09-01 18:28:41 by qrczak]
ForeignObjs were incorrectly passed to foreign functions by the NCG.
Fixed.
simonpj [Thu, 31 Aug 2000 19:57:42 +0000 (19:57 +0000)]
[project @ 2000-08-31 19:57:42 by simonpj]
Make freeze and thaw top-level
simonpj [Thu, 31 Aug 2000 19:55:46 +0000 (19:55 +0000)]
[project @ 2000-08-31 19:55:46 by simonpj]
Put the max in a better place
simonpj [Thu, 31 Aug 2000 19:55:20 +0000 (19:55 +0000)]
[project @ 2000-08-31 19:55:20 by simonpj]
Add comment
simonpj [Thu, 31 Aug 2000 09:53:08 +0000 (09:53 +0000)]
[project @ 2000-08-31 09:53:08 by simonpj]
Document -ddump-minimal-imports
simonpj [Wed, 30 Aug 2000 07:36:47 +0000 (07:36 +0000)]
[project @ 2000-08-30 07:36:47 by simonpj]
Add test for selectors in data/newtype with contexts
kglynn [Wed, 30 Aug 2000 03:01:48 +0000 (03:01 +0000)]
[project @ 2000-08-30 03:01:48 by kglynn]
wrong2 wrongly referred to as wrong1 - righted
qrczak [Tue, 29 Aug 2000 17:42:17 +0000 (17:42 +0000)]
[project @ 2000-08-29 17:42:17 by qrczak]
Don't use Int# values larger than 2^31.
simonpj [Tue, 29 Aug 2000 16:56:26 +0000 (16:56 +0000)]
[project @ 2000-08-29 16:56:26 by simonpj]
Fix a bug reported by Jose Emilio Labra Gayo
newtype Foo a => T = MkT (out :: a)
The selector 'out' was being given an incorrect RHS.
(Core Lint spotted it.)
simonpj [Tue, 29 Aug 2000 16:38:04 +0000 (16:38 +0000)]
[project @ 2000-08-29 16:38:04 by simonpj]
Move prim_ZONE and prim_GMTOFF into Hugs-only code
simonpj [Tue, 29 Aug 2000 16:37:35 +0000 (16:37 +0000)]
[project @ 2000-08-29 16:37:35 by simonpj]
Remove redundant imports and dead code
simonpj [Tue, 29 Aug 2000 16:36:23 +0000 (16:36 +0000)]
[project @ 2000-08-29 16:36:23 by simonpj]
Remove redundant imports
simonpj [Tue, 29 Aug 2000 16:35:56 +0000 (16:35 +0000)]
[project @ 2000-08-29 16:35:56 by simonpj]
Add filterFB comment
qrczak [Tue, 29 Aug 2000 13:34:21 +0000 (13:34 +0000)]
[project @ 2000-08-29 13:34:21 by qrczak]
Don't use a typedef called int64 in RtsAPI.
It conflicts with e.g. OCaml's headers.
It should be cleaned better...
simonmar [Fri, 25 Aug 2000 15:21:57 +0000 (15:21 +0000)]
[project @ 2000-08-25 15:21:57 by simonmar]
Fix for copying html documentation into a binary dist.
simonmar [Fri, 25 Aug 2000 13:26:57 +0000 (13:26 +0000)]
[project @ 2000-08-25 13:26:57 by simonmar]
Add a test (also benchmark) for threadDelay, Random, and QSemN. This
test starts a large number of threads which all wait for a random
delay. The semaphore is used to wait for them all to finish before exiting.
simonmar [Fri, 25 Aug 2000 13:12:07 +0000 (13:12 +0000)]
[project @ 2000-08-25 13:12:07 by simonmar]
Change the way threadDelay# is implemented.
We now use a list of sleeping threads sorted in increasing order by
the time at which they will wake up. This avoids us having to
traverse the entire queue on each context switch.
rrt [Fri, 25 Aug 2000 12:49:54 +0000 (12:49 +0000)]
[project @ 2000-08-25 12:49:54 by rrt]
Sorry Sigbjørn, but DocBook won't accept ø in <Author>
elements. Seems to work everywhere else...
qrczak [Fri, 25 Aug 2000 10:06:37 +0000 (10:06 +0000)]
[project @ 2000-08-25 10:06:37 by qrczak]
Don't strip libgmp.a. (But perhaps --strip-unneeded or something
would be harmless.)
PS. The configure script looks for __gmpz_fdiv_qr, but gmp that I have
installed uses the name mpz_fdiv_qr and is thus not being found. (Also
it is dynamically linked, where ghc's gmp is only statically linked.)
I guess that configure should check for either name.
rrt [Thu, 24 Aug 2000 15:17:54 +0000 (15:17 +0000)]
[project @ 2000-08-24 15:17:54 by rrt]
Added more authors.
qrczak [Thu, 24 Aug 2000 13:32:17 +0000 (13:32 +0000)]
[project @ 2000-08-24 13:32:17 by qrczak]
Let foreign import dynamic accept a newtyped Addr too.
simonmar [Thu, 24 Aug 2000 11:45:24 +0000 (11:45 +0000)]
[project @ 2000-08-24 11:45:24 by simonmar]
Add two tests for signatures without definitions.
simonmar [Thu, 24 Aug 2000 10:27:44 +0000 (10:27 +0000)]
[project @ 2000-08-24 10:27:44 by simonmar]
Add a test for Directory.getPermissions.
simonmar [Thu, 24 Aug 2000 10:27:01 +0000 (10:27 +0000)]
[project @ 2000-08-24 10:27:01 by simonmar]
Change implementation of Directory.getPermissions to use access(2)
rather than stat(2). This is rather more sensible as the permissions
returned will be relevant to the current user rather than the owner of
the file.
simonmar [Wed, 23 Aug 2000 12:51:03 +0000 (12:51 +0000)]
[project @ 2000-08-23 12:51:03 by simonmar]
Fix a problem where ^C wasn't recognised while waiting for I/O.
sewardj [Tue, 22 Aug 2000 14:19:19 +0000 (14:19 +0000)]
[project @ 2000-08-22 14:19:19 by sewardj]
Fix sparc NCG to track recent NCG switch table reg-alloc bug fix.
sewardj [Tue, 22 Aug 2000 14:16:06 +0000 (14:16 +0000)]
[project @ 2000-08-22 14:16:06 by sewardj]
Add regression check for recent NCG switch table reg-alloc bug fix.
sewardj [Tue, 22 Aug 2000 14:05:05 +0000 (14:05 +0000)]
[project @ 2000-08-22 14:05:05 by sewardj]
Don't do cg026 on sparc; it doesn't work with the NCG (foreign label stderr).
simonmar [Tue, 22 Aug 2000 10:08:14 +0000 (10:08 +0000)]
[project @ 2000-08-22 10:08:14 by simonmar]
Wibble.
sewardj [Tue, 22 Aug 2000 09:48:49 +0000 (09:48 +0000)]
[project @ 2000-08-22 09:48:49 by sewardj]
Make prelude/PrimOp.lhs, not prelude/PrimOp.o, depend on $(PRIMOP_BITS).
'make boot' doesn't work otherwise, since the primop includes don't get
built.
chak [Tue, 22 Aug 2000 08:03:15 +0000 (08:03 +0000)]
[project @ 2000-08-22 08:03:15 by chak]
Works now independent of whether GNU make is installed as gmake or make on the
system.
[lewie: It was not so good to just change `make' to `gmake'; broke the thing
on our Solaris boxen, which have GNU make as the default make.]
sewardj [Mon, 21 Aug 2000 15:40:15 +0000 (15:40 +0000)]
[project @ 2000-08-21 15:40:14 by sewardj]
Make the register allocator deal properly with switch tables.
Previously, it didn't calculate the correct flow edges away from the
indirect jump (in fact it didn't reckon there were any flow edges
leaving it :) which makes a nonsense of the live variable analysis in
the branches.
A jump insn can now optionally be annotated with a list of destination
labels, and if so, the register allocator creates flow edges to all of
them.
Jump tables are now re-enabled. They remain disabled for 4.08.1,
since we aren't fixing the problem properly on that branch.
I assume this problem wasn't exposed by the old register allocator
because of the live-range-approximation hacks used in it. Since it
was undocumented, we'll never know.
Sparc builds will now break until I fix them.
simonmar [Mon, 21 Aug 2000 15:28:30 +0000 (15:28 +0000)]
[project @ 2000-08-21 15:28:30 by simonmar]
look for GMP 3, not GMP 2.
simonmar [Mon, 21 Aug 2000 15:27:18 +0000 (15:27 +0000)]
[project @ 2000-08-21 15:27:18 by simonmar]
Connect up the new GMP.
simonmar [Mon, 21 Aug 2000 15:21:53 +0000 (15:21 +0000)]
[project @ 2000-08-21 15:21:52 by simonmar]
Our local changes to GMP 3.1: disconnect the bits we're not interested
in (mpf, mpq, tests subdirs etc.).
simonmar [Mon, 21 Aug 2000 15:12:07 +0000 (15:12 +0000)]
[project @ 2000-08-21 15:12:04 by simonmar]
merge conflicts (I hope)
simonmar [Mon, 21 Aug 2000 14:16:57 +0000 (14:16 +0000)]
[project @ 2000-08-21 14:16:57 by simonmar]
- add touch# and foreignObjToAddr# primops.
- add these functions to ForeignObj:
withForeignObj :: ForeignObj -> (Addr -> IO a) -> IO a
touchForeignObj :: ForeignObj -> IO ()
- foreignObjToAddr, which was previously implemented using a _casm_, now
uses the foreignObjToAddr# primop.
- replace implementations of readXXXOffForeignObj and writeXXXOffForeignObj
using the withForeignObj and the Addr operations. ForeignObj.lhs now has
no _casms_ in it! (it still can't be compiled with the NCG though, because
it has a f.i.d.)
simonmar [Mon, 21 Aug 2000 14:12:17 +0000 (14:12 +0000)]
[project @ 2000-08-21 14:12:17 by simonmar]
remove an unused import
simonmar [Mon, 21 Aug 2000 14:11:35 +0000 (14:11 +0000)]
[project @ 2000-08-21 14:11:35 by simonmar]
make this file independent of the actual word size.
simonmar [Mon, 21 Aug 2000 13:35:46 +0000 (13:35 +0000)]
[project @ 2000-08-21 13:35:46 by simonmar]
Fix up a PrimOp dependency.
simonmar [Mon, 21 Aug 2000 13:34:44 +0000 (13:34 +0000)]
[project @ 2000-08-21 13:34:44 by simonmar]
Add touch# and foreignObjToAddr#.
simonmar [Mon, 21 Aug 2000 13:34:06 +0000 (13:34 +0000)]
[project @ 2000-08-21 13:34:06 by simonmar]
- Add touch# and foreignObjToAddr#.
- Add a long comment to the beginning of this file listing the files
that need to be updated when adding a new primop.
rrt [Mon, 21 Aug 2000 13:13:15 +0000 (13:13 +0000)]
[project @ 2000-08-21 13:13:15 by rrt]
Added a worked example of how to export Haskell functions from a DLL
(provided by Sigbj\orn).
qrczak [Fri, 18 Aug 2000 18:08:48 +0000 (18:08 +0000)]
[project @ 2000-08-18 18:08:48 by qrczak]
#include "config.h", to be able to use HsFFI.h from standalone C files.
simonmar [Fri, 18 Aug 2000 15:44:37 +0000 (15:44 +0000)]
[project @ 2000-08-18 15:44:28 by simonmar]
Import stripped-down gmp-3.1.
This will cause severe breakage until I can resolve the conflicts and
check in the rest of the changes, so I'd advise not updating this
directory for a while (unless you're using a system-installed gmp, in
which case it won't matter).
simonmar [Fri, 18 Aug 2000 15:44:26 +0000 (15:44 +0000)]
[project @ 2000-08-18 15:44:26 by simonmar]
Initial revision
simonmar [Fri, 18 Aug 2000 15:44:26 +0000 (15:44 +0000)]
[project @ 2000-08-18 15:44:25 by simonmar]
Import stripped-down gmp-3.1.
This will cause severe breakage until I can resolve the conflicts and
check in the rest of the changes, so I'd advise not updating this
directory for a while (unless you're using a system-installed gmp, in
which case it won't matter).
simonmar [Fri, 18 Aug 2000 13:30:35 +0000 (13:30 +0000)]
[project @ 2000-08-18 13:30:35 by simonmar]
Disable jump tables for the time being; the register allocator gets confused about them.
simonmar [Fri, 18 Aug 2000 13:29:07 +0000 (13:29 +0000)]
[project @ 2000-08-18 13:29:07 by simonmar]
Gratuitously remove a gratuitous ineficiency in allocatableRegs.
rrt [Fri, 18 Aug 2000 10:50:37 +0000 (10:50 +0000)]
[project @ 2000-08-18 10:50:37 by rrt]
Revoked comments about not using -static under Windows.
qrczak [Fri, 18 Aug 2000 06:44:05 +0000 (06:44 +0000)]
[project @ 2000-08-18 06:44:05 by qrczak]
Typo s/Lhar/List/
qrczak [Fri, 18 Aug 2000 06:42:37 +0000 (06:42 +0000)]
[project @ 2000-08-18 06:42:37 by qrczak]
Oops, #include reordering does not work if -#include refers to names
from Stg.h. Changes reverted. The original problem requires -optc-Dfoo
workaround.
qrczak [Fri, 18 Aug 2000 06:34:26 +0000 (06:34 +0000)]
[project @ 2000-08-18 06:34:26 by qrczak]
Unused Prelude import check moved to a better place.
qrczak [Fri, 18 Aug 2000 06:03:26 +0000 (06:03 +0000)]
[project @ 2000-08-18 06:03:26 by qrczak]
Never say:
"Warning: Module `Prelude' is imported, but nothing from it is used"
qrczak [Fri, 18 Aug 2000 04:04:48 +0000 (04:04 +0000)]
[project @ 2000-08-18 04:04:48 by qrczak]
Output -#include options before packages' C includes, to be able to
-#include a file that #defines e.g. _XOPEN_SOURCE and #includes a C
header depending on _XOPEN_SOURCE that is also included from Stg.h.
First inclusion of this header should be after the #define.
simonmar [Thu, 17 Aug 2000 16:28:44 +0000 (16:28 +0000)]
[project @ 2000-08-17 16:28:44 by simonmar]
Replace a zipEqual with a zip in tcPat when checking a record pat.
The former version caused a panic with DEBUG on if a record pattern
was used with a non-record constructor.
simonmar [Thu, 17 Aug 2000 16:15:15 +0000 (16:15 +0000)]
[project @ 2000-08-17 16:15:15 by simonmar]
Add some tests for unboxing strict record fields.
simonmar [Thu, 17 Aug 2000 16:10:01 +0000 (16:10 +0000)]
[project @ 2000-08-17 16:10:01 by simonmar]
unboxing strict fields, bug #2:
the unfolding in a record selector id was
completely bogus when -funbox-strict-fields
was in effect.
rrt [Thu, 17 Aug 2000 16:04:34 +0000 (16:04 +0000)]
[project @ 2000-08-17 16:04:34 by rrt]
Sorry, that's "RTS hooks work under Windows when the *program* is built
statically, not the compiler".
rrt [Thu, 17 Aug 2000 16:03:43 +0000 (16:03 +0000)]
[project @ 2000-08-17 16:03:43 by rrt]
Revised note about RTS hooks under Windows: they should still work for
statically-built compilers.
rrt [Thu, 17 Aug 2000 16:02:42 +0000 (16:02 +0000)]
[project @ 2000-08-17 16:02:42 by rrt]
Added a note about RTS hooks not working under Windows with DLLs.
simonmar [Thu, 17 Aug 2000 16:01:34 +0000 (16:01 +0000)]
[project @ 2000-08-17 16:01:34 by simonmar]
remove unused imports.
rrt [Thu, 17 Aug 2000 15:21:55 +0000 (15:21 +0000)]
[project @ 2000-08-17 15:21:55 by rrt]
barf when a DLLized RTS tries to allocate a 2nd Windows monster block;
is_heap_alloced stops working at this point. No problem for the static
build.
rrt [Thu, 17 Aug 2000 15:19:17 +0000 (15:19 +0000)]
[project @ 2000-08-17 15:19:17 by rrt]
Changed HAVE_WIN32_DLL_SUPPORT to ENABLE_WIN32_DLL_SUPPORT so that the
relevant bits are only used in the dynamic Windows build (as they should be).
simonmar [Thu, 17 Aug 2000 15:00:13 +0000 (15:00 +0000)]
[project @ 2000-08-17 15:00:13 by simonmar]
unboxing strict fields, bug #1:
desugaring a record pattern used the
rep args rather than the original args when
expanding the pattern into a ConPat.
simonmar [Thu, 17 Aug 2000 14:30:26 +0000 (14:30 +0000)]
[project @ 2000-08-17 14:30:26 by simonmar]
Complete the removal of tso->splim (these are the NCG bits).
rrt [Thu, 17 Aug 2000 11:36:47 +0000 (11:36 +0000)]
[project @ 2000-08-17 11:36:47 by rrt]
This test used a library module that no longer exists (Printf).
rrt [Thu, 17 Aug 2000 11:24:49 +0000 (11:24 +0000)]
[project @ 2000-08-17 11:24:49 by rrt]
Test no longer applicable (fails for non-typechecking reasons: multiple
definition of main)
rrt [Thu, 17 Aug 2000 11:22:33 +0000 (11:22 +0000)]
[project @ 2000-08-17 11:22:33 by rrt]
Updated error message.
rrt [Wed, 16 Aug 2000 15:29:34 +0000 (15:29 +0000)]
[project @ 2000-08-16 15:29:34 by rrt]
Change use of HAVE_WIN32_DLL_SUPPORT to ENABLE_WIN32_DLL_SUPPORT, to stop
things going horribly wrong with static linking on win32.
simonmar [Wed, 16 Aug 2000 13:28:25 +0000 (13:28 +0000)]
[project @ 2000-08-16 13:28:25 by simonmar]
Don't just pick the back edges ({-# SOURCE #-} imports) when
collecting the list of imports for module initialisation. It's
entirely possible that a module is only reachable from Main via {-#
SOURCE #-} imports.
simonmar [Tue, 15 Aug 2000 14:22:24 +0000 (14:22 +0000)]
[project @ 2000-08-15 14:22:24 by simonmar]
oops, revert part of previous commit that sneaked in by accident
simonmar [Tue, 15 Aug 2000 14:18:43 +0000 (14:18 +0000)]
[project @ 2000-08-15 14:18:43 by simonmar]
Make the TSO structure shorter by 2 words:
- remove splim. It was always equal to &(tso->stack) +
RESERVED_STACK_WORDS.
- make two enum fields 16 bits each instead of 32.
simonmar [Tue, 15 Aug 2000 14:12:18 +0000 (14:12 +0000)]
[project @ 2000-08-15 14:12:18 by simonmar]
this test had random end conditions; make it a bit more deterministic
simonmar [Tue, 15 Aug 2000 11:56:08 +0000 (11:56 +0000)]
[project @ 2000-08-15 11:56:08 by simonmar]
fail properly in ghcExit, now that we don't call error any more.
simonmar [Tue, 15 Aug 2000 11:48:06 +0000 (11:48 +0000)]
[project @ 2000-08-15 11:48:06 by simonmar]
Minor cleanups to a few closure types: we don't use StgPtr in
Closures.h anymore.
rrt [Tue, 15 Aug 2000 11:41:19 +0000 (11:41 +0000)]
[project @ 2000-08-15 11:41:19 by rrt]
Add -fvia-C to cg026 (which it needs).
rrt [Tue, 15 Aug 2000 11:39:17 +0000 (11:39 +0000)]
[project @ 2000-08-15 11:39:17 by rrt]
Updated error message for "Compilation had errors" so as not to break tests.
simonmar [Thu, 10 Aug 2000 10:33:22 +0000 (10:33 +0000)]
[project @ 2000-08-10 10:31:46 by simonmar]
remove unused imports
rrt [Thu, 10 Aug 2000 10:20:03 +0000 (10:20 +0000)]
[project @ 2000-08-10 10:20:03 by rrt]
Reinstated isLocallyDefinedName test in isDllName, because nameModule can't
cope with local names.
rrt [Wed, 9 Aug 2000 15:19:58 +0000 (15:19 +0000)]
[project @ 2000-08-09 15:19:58 by rrt]
Changed use of error for "Compilation failed" message to hPutStr stderr;
seemed better to SWM, and stops error messages being different on Windows
where RTS hooks don't work with DLLs.
rrt [Wed, 9 Aug 2000 13:39:54 +0000 (13:39 +0000)]
[project @ 2000-08-09 13:39:54 by rrt]
Changes to Windows docs; specifically, remove advice to use -static.
rrt [Wed, 9 Aug 2000 13:37:56 +0000 (13:37 +0000)]
[project @ 2000-08-09 13:37:56 by rrt]
Updates to Windows docs to cope with changes in new Cygwin and head of tree
GHC.
rrt [Wed, 9 Aug 2000 12:05:39 +0000 (12:05 +0000)]
[project @ 2000-08-09 12:05:39 by rrt]
Clarified remarks about memory usage, and zapped bits specifically about
resources required to compile GHC (this is not ANNOUNCE material).
simonmar [Wed, 9 Aug 2000 11:45:44 +0000 (11:45 +0000)]
[project @ 2000-08-09 11:45:17 by simonmar]
remove unused import
simonmar [Wed, 9 Aug 2000 11:44:51 +0000 (11:44 +0000)]
[project @ 2000-08-09 11:44:51 by simonmar]
remove unused imports
simonmar [Wed, 9 Aug 2000 11:39:02 +0000 (11:39 +0000)]
[project @ 2000-08-09 11:39:02 by simonmar]
avoid some repetition of filenames in the primop rules.
simonmar [Wed, 9 Aug 2000 11:21:21 +0000 (11:21 +0000)]
[project @ 2000-08-09 11:21:21 by simonmar]
build genprimopcode at boot time.
rrt [Wed, 9 Aug 2000 10:59:12 +0000 (10:59 +0000)]
[project @ 2000-08-09 10:59:12 by rrt]
werid -> weird
simonmar [Wed, 9 Aug 2000 09:56:08 +0000 (09:56 +0000)]
[project @ 2000-08-09 09:56:08 by simonmar]
make this compile with pre-4.09 GHCs.
rrt [Tue, 8 Aug 2000 17:21:12 +0000 (17:21 +0000)]
[project @ 2000-08-08 17:21:12 by rrt]
Fix so that libHS_imp_stub is made before HSrts.dll.