ghc-hetmet.git
23 years ago[project @ 2000-09-11 15:02:51 by rrt]
rrt [Mon, 11 Sep 2000 15:02:51 +0000 (15:02 +0000)]
[project @ 2000-09-11 15:02:51 by rrt]
Pass --target to configure of GMP, so that building for mingwin under
cygwin works properly.

23 years ago[project @ 2000-09-11 14:56:17 by rrt]
rrt [Mon, 11 Sep 2000 14:56:17 +0000 (14:56 +0000)]
[project @ 2000-09-11 14:56:17 by rrt]
Make sure windows.h is always checked for, not just when HOpenGL is present.

23 years ago[project @ 2000-09-11 14:11:25 by rrt]
rrt [Mon, 11 Sep 2000 14:11:25 +0000 (14:11 +0000)]
[project @ 2000-09-11 14:11:25 by rrt]
Revised GHC installer size downwards.

23 years ago[project @ 2000-09-11 13:56:22 by rrt]
rrt [Mon, 11 Sep 2000 13:56:22 +0000 (13:56 +0000)]
[project @ 2000-09-11 13:56:22 by rrt]
Removed Windows FAQ about -static no longer being supported (it is).

23 years ago[project @ 2000-09-11 12:20:56 by sewardj]
sewardj [Mon, 11 Sep 2000 12:20:57 +0000 (12:20 +0000)]
[project @ 2000-09-11 12:20:56 by sewardj]
First shot at a STG interpreter for GHCI.  Translates Stg syntax into a
form convenient for interpretation, and can then run that.  Most of the
translation stuff is there and works.  The interpreter framework is there
and partly filled in, and seems to work.  There are still quite a lot of
cases, etc, to fill in, but this should be straightforward given that
the framework exists.  This interpreter cannot handle (yet?) unboxed
tuples, but can deal with more or less everything else, including standard
unboxed Int, Double, etc, code.

23 years ago[project @ 2000-09-11 11:17:09 by sewardj]
sewardj [Mon, 11 Sep 2000 11:17:09 +0000 (11:17 +0000)]
[project @ 2000-09-11 11:17:09 by sewardj]
Initial primop support for the metacircular interpreter (GHCI).
Only appears if you compile with -DGHCI; if not, the world is
unchanged.

new primops:
   indexPtrOffClosure#
   indexWordOffClosure#

modified:
   dataToTag#   -- now dereferences indirections before extracting tag

new entry code
   mci_constr_entry          and
   mci_constr[1..8]entry
being the direct and vectored return code fragments for interpreter
created constructors.  Support for static constructors is not yet
done.

New handwritten .hc functions:
   mci_make_constr*
being code to create various flavours of constructors from args
on the stack.  An interface file to describe these will follow in
a later commit.

23 years ago[project @ 2000-09-11 09:27:14 by simonmar]
simonmar [Mon, 11 Sep 2000 09:27:14 +0000 (09:27 +0000)]
[project @ 2000-09-11 09:27:14 by simonmar]
HP-PA fixes from Eric Schweitz <schweitz@nortelnetworks.com>

23 years ago[project @ 2000-09-11 08:13:37 by simonpj]
simonpj [Mon, 11 Sep 2000 08:13:37 +0000 (08:13 +0000)]
[project @ 2000-09-11 08:13:37 by simonpj]
Remove redundant setNoDiscardId call from Specialise.newIdSM

23 years ago[project @ 2000-09-10 17:39:26 by panne]
panne [Sun, 10 Sep 2000 17:39:27 +0000 (17:39 +0000)]
[project @ 2000-09-10 17:39:26 by panne]
First (awkward) steps towards an HOpenGL integration

23 years ago[project @ 2000-09-08 12:33:22 by simonmar]
simonmar [Fri, 8 Sep 2000 12:33:22 +0000 (12:33 +0000)]
[project @ 2000-09-08 12:33:22 by simonmar]
<program> should be <command>

23 years ago[project @ 2000-09-08 11:09:38 by simonpj]
simonpj [Fri, 8 Sep 2000 11:09:38 +0000 (11:09 +0000)]
[project @ 2000-09-08 11:09:38 by simonpj]
Fix the loop in SimplUtils.interestingArg

23 years ago[project @ 2000-09-08 09:26:05 by simonmar]
simonmar [Fri, 8 Sep 2000 09:26:05 +0000 (09:26 +0000)]
[project @ 2000-09-08 09:26:05 by simonmar]
oops, forgot to remove an instance of REALLY_HASKELL_1_3

23 years ago[project @ 2000-09-07 16:32:23 by simonpj]
simonpj [Thu, 7 Sep 2000 16:32:24 +0000 (16:32 +0000)]
[project @ 2000-09-07 16:32:23 by simonpj]
A list of simplifier-related stuff, triggered
by looking at GHC's performance.

I don't guarantee that this lot will lead to
a uniform improvement over 4.08, but it it should
be a bit better.  More work probably required.

* Make the simplifier's Stop continuation record whether the expression being
  simplified is the RHS of a thunk, or (say) the body of a lambda or case RHS.
  In the thunk case we want to be a bit keener about inlining if the type of
  the thunk is amenable to update in place.

* Fix interestingArg, which was being too liberal, and hence doing
  too much inlining.

* Extended CoreUtils.exprIsCheap to make two more things cheap:
    -  case (coerce x) of ...
    -   let x = y +# z
  This makes a bit more eta expansion happen.  It was provoked by
  a program of Marcin's.

* MkIface.ifaceBinds.   Make sure that we emit rules for things
  (like class operations) that don't get a top-level binding in the
  interface file.  Previously such rules were silently forgotten.

* Move transformRhs to *after* simplification, which makes it a
  little easier to do, and means that the arity it computes is
  readily available to completeBinding.  This gets much better
  arities.

* Do coerce splitting in completeBinding. This gets good code for
newtype CInt = CInt Int

test:: CInt -> Int
test x = case x of
          1 -> 2
          2 -> 4
          3 -> 8
          4 -> 16
          _ -> 0

* Modify the meaning of "arity" so that during compilation it means
  "if you apply this function to fewer args, it will do virtually
  no work".   So, for example
f = coerce t (\x -> e)
  has arity at least 1.  When a function is exported, it's arity becomes
  the number of exposed, top-level lambdas, which is subtly different.
  But that's ok.

  I removed CoreUtils.exprArity altogether: it looked only at the exposed
  lambdas.  Instead, we use exprEtaExpandArity exclusively.

  All of this makes I/O programs work much better.

23 years ago[project @ 2000-09-07 16:31:45 by simonpj]
simonpj [Thu, 7 Sep 2000 16:31:46 +0000 (16:31 +0000)]
[project @ 2000-09-07 16:31:45 by simonpj]
* The simplifier used to glom together all the top-level bindings into
  a single Rec every time it was invoked.  The reason for this is explained
  in SimplCore.lhs, but for at least one simple program it meant that the
  simplifier never got around to unravelling the recursive group into
  non-recursive pieces.  So I've put the glomming under explicit flag
  control with a -fglom-binds simplifier pass.   A side benefit is
  that because it happens less often, the (expensive) SCC algorithm
  runs less often.

23 years ago[project @ 2000-09-07 16:29:36 by simonpj]
simonpj [Thu, 7 Sep 2000 16:29:36 +0000 (16:29 +0000)]
[project @ 2000-09-07 16:29:36 by simonpj]
Omit unnecessary import

23 years ago[project @ 2000-09-07 16:28:44 by simonpj]
simonpj [Thu, 7 Sep 2000 16:28:44 +0000 (16:28 +0000)]
[project @ 2000-09-07 16:28:44 by simonpj]
Do the begin-pass/end-pass stuff like the other core passes

23 years ago[project @ 2000-09-07 16:27:55 by simonpj]
simonpj [Thu, 7 Sep 2000 16:27:55 +0000 (16:27 +0000)]
[project @ 2000-09-07 16:27:55 by simonpj]
Add comment

23 years ago[project @ 2000-09-07 16:25:32 by simonpj]
simonpj [Thu, 7 Sep 2000 16:25:32 +0000 (16:25 +0000)]
[project @ 2000-09-07 16:25:32 by simonpj]
Add an access function substEnvEnv

23 years ago[project @ 2000-09-07 16:24:14 by simonpj]
simonpj [Thu, 7 Sep 2000 16:24:14 +0000 (16:24 +0000)]
[project @ 2000-09-07 16:24:14 by simonpj]
Get the worker and wrapper in the right order

23 years ago[project @ 2000-09-07 13:25:28 by simonpj]
simonpj [Thu, 7 Sep 2000 13:25:28 +0000 (13:25 +0000)]
[project @ 2000-09-07 13:25:28 by simonpj]
Primitives can return ThreadId# values

23 years ago[project @ 2000-09-07 11:42:49 by simonpj]
simonpj [Thu, 7 Sep 2000 11:42:50 +0000 (11:42 +0000)]
[project @ 2000-09-07 11:42:49 by simonpj]
1) Fix a bad bug in Subst.lhs that made uniqAway go into an
   infinite loop when the 'hash code' in the in-scope set was
   zero.

2) Rename BasicTypes.isFragileOccInfo to isFragileOcc
   Add isDeadOcc to BasisTypes

(2) is just a tidy-up.  I have to commit it now because of (1), which
is a bad bug.  I hope that I've committed all the files involved in (2).

23 years ago[project @ 2000-09-07 11:23:59 by rrt]
rrt [Thu, 7 Sep 2000 11:23:59 +0000 (11:23 +0000)]
[project @ 2000-09-07 11:23:59 by rrt]
Added support for building gmp.dll again.

23 years ago[project @ 2000-09-07 11:23:22 by rrt]
rrt [Thu, 7 Sep 2000 11:23:22 +0000 (11:23 +0000)]
[project @ 2000-09-07 11:23:22 by rrt]
Gave version of RedHat in DocBook note.

23 years ago[project @ 2000-09-07 11:22:28 by rrt]
rrt [Thu, 7 Sep 2000 11:22:28 +0000 (11:22 +0000)]
[project @ 2000-09-07 11:22:28 by rrt]
Added note on how to fix RedHat 6.2 DocBook installation.

23 years ago[project @ 2000-09-07 10:14:52 by simonpj]
simonpj [Thu, 7 Sep 2000 10:14:52 +0000 (10:14 +0000)]
[project @ 2000-09-07 10:14:52 by simonpj]
Improve -ddump-types

23 years ago[project @ 2000-09-07 09:10:07 by simonpj]
simonpj [Thu, 7 Sep 2000 09:10:07 +0000 (09:10 +0000)]
[project @ 2000-09-07 09:10:07 by simonpj]
* Make the desugarer use string equality for string literal
  patterns longer than 1 character.  And put a specialised
  eqString into PrelBase, with a suitable specialisation rule.
  This makes a huge difference to the size of the code generated
  by deriving(Read) notably in Time.lhs

23 years ago[project @ 2000-09-06 13:49:26 by simonmar]
simonmar [Wed, 6 Sep 2000 13:49:26 +0000 (13:49 +0000)]
[project @ 2000-09-06 13:49:26 by simonmar]
revert accidental parts of previous commit

23 years ago[project @ 2000-09-06 13:30:48 by simonmar]
simonmar [Wed, 6 Sep 2000 13:30:48 +0000 (13:30 +0000)]
[project @ 2000-09-06 13:30:48 by simonmar]
add test for typedef-conflict with f.i.d.

23 years ago[project @ 2000-09-06 13:29:10 by simonmar]
simonmar [Wed, 6 Sep 2000 13:29:10 +0000 (13:29 +0000)]
[project @ 2000-09-06 13:29:10 by simonmar]
Generate a new unique to be used in the typedef for a f.i.d., rather
than re-using the one from the function call, which might conflict if
there are two similar calls in the same module.

23 years ago[project @ 2000-09-06 13:11:59 by simonmar]
simonmar [Wed, 6 Sep 2000 13:11:59 +0000 (13:11 +0000)]
[project @ 2000-09-06 13:11:59 by simonmar]
Document -unreg and unregisterised compilation.  Untested since
our DocBook installation is currently broken.

23 years ago[project @ 2000-09-06 12:21:15 by simonmar]
simonmar [Wed, 6 Sep 2000 12:21:15 +0000 (12:21 +0000)]
[project @ 2000-09-06 12:21:15 by simonmar]
When compiling code for a case where the scrutinee is a primitve
comparison operator, we used to place the tag in a variable whose
unique was always the same: `mkPseudoUnique1 1'.  This was mostly
harmless but confused the Stix inliner in the NCG into generating
slightly less efficient code when the variable was used twice in a
basic block.

This patch fixes the problem by generating a new unique by just
changing the "tag" of an existing unique, namely the case binder.

23 years ago[project @ 2000-09-06 11:27:07 by rrt]
rrt [Wed, 6 Sep 2000 11:27:07 +0000 (11:27 +0000)]
[project @ 2000-09-06 11:27:07 by rrt]
Corrected URL for release notes.

23 years ago[project @ 2000-09-06 11:12:07 by rrt]
rrt [Wed, 6 Sep 2000 11:12:07 +0000 (11:12 +0000)]
[project @ 2000-09-06 11:12:07 by rrt]
Made message for exceeding 128Mb of heap on Windows more helpful, and
only abort when this limit is exceeded, not on first memory allocation!

23 years ago[project @ 2000-09-06 10:28:48 by simonmar]
simonmar [Wed, 6 Sep 2000 10:28:48 +0000 (10:28 +0000)]
[project @ 2000-09-06 10:28:48 by simonmar]
Add codegen test for returning MutVar#.

23 years ago[project @ 2000-09-06 10:23:52 by simonmar]
simonmar [Wed, 6 Sep 2000 10:23:52 +0000 (10:23 +0000)]
[project @ 2000-09-06 10:23:52 by simonmar]
Add new PrimRep, namely PrimPtrRep, as a catch-all for the various
boxed primitive types that currently don't have their own PrimReps.
Use this for MVar# and MutVar#.  This fixes a crash in the code
generator when a function returns one of these types.

23 years ago[project @ 2000-09-06 10:21:17 by simonmar]
simonmar [Wed, 6 Sep 2000 10:21:17 +0000 (10:21 +0000)]
[project @ 2000-09-06 10:21:17 by simonmar]
recode primOpOkForSpeculation in terms of primOpIsCheap and primOpCanFail.

23 years ago[project @ 2000-09-05 12:38:26 by simonmar]
simonmar [Tue, 5 Sep 2000 12:38:27 +0000 (12:38 +0000)]
[project @ 2000-09-05 12:38:26 by simonmar]
Add tests for newtypes in foreign declarations.

23 years ago[project @ 2000-09-05 12:36:45 by simonmar]
simonmar [Tue, 5 Sep 2000 12:36:45 +0000 (12:36 +0000)]
[project @ 2000-09-05 12:36:45 by simonmar]
update output

23 years ago[project @ 2000-09-05 12:35:09 by simonmar]
simonmar [Tue, 5 Sep 2000 12:35:09 +0000 (12:35 +0000)]
[project @ 2000-09-05 12:35:09 by simonmar]
Use newtype Ptr instead of just Addr, test newtypes in foreign decls.

23 years ago[project @ 2000-09-05 12:31:04 by simonmar]
simonmar [Tue, 5 Sep 2000 12:31:04 +0000 (12:31 +0000)]
[project @ 2000-09-05 12:31:04 by simonmar]
No need to set TMPDIR in BUILD_LIB now.  Perhaps this was a workaround
for the previous bug.

23 years ago[project @ 2000-09-05 10:18:28 by simonmar]
simonmar [Tue, 5 Sep 2000 10:18:28 +0000 (10:18 +0000)]
[project @ 2000-09-05 10:18:28 by simonmar]
- add -fno-warn-incomplete-patterns
- rename TMPDIR to DEFAULT_TMPDIR
- check TMPDIR environment variable (apprently missing before)
- add a bunch of anti-flags for profiling: -no-auto-all and friends.

23 years ago[project @ 2000-09-05 10:16:40 by simonmar]
simonmar [Tue, 5 Sep 2000 10:16:41 +0000 (10:16 +0000)]
[project @ 2000-09-05 10:16:40 by simonmar]
Rename the make variable TMPDIR to DEFAULT_TMPDIR.  This fixes the
problem that saying 'TMPDIR=/foo make' in an fptools tree didn't work,
because GNU make is in the habit of overriding an environment variable
with the value of the corresponding make variable in a sub-process.

23 years ago[project @ 2000-09-05 09:40:08 by simonmar]
simonmar [Tue, 5 Sep 2000 09:40:08 +0000 (09:40 +0000)]
[project @ 2000-09-05 09:40:08 by simonmar]
Just include ghc/docs/set in a binary distribution, not the build
system docs or the FFI spec.

23 years ago[project @ 2000-09-05 09:14:15 by simonmar]
simonmar [Tue, 5 Sep 2000 09:14:15 +0000 (09:14 +0000)]
[project @ 2000-09-05 09:14:15 by simonmar]
remove a lot of unused gumph from this file

23 years ago[project @ 2000-09-05 09:13:38 by simonmar]
simonmar [Tue, 5 Sep 2000 09:13:38 +0000 (09:13 +0000)]
[project @ 2000-09-05 09:13:38 by simonmar]
remove last use of REALLY_HASKELL_1_3

23 years ago[project @ 2000-09-05 09:10:22 by simonmar]
simonmar [Tue, 5 Sep 2000 09:10:22 +0000 (09:10 +0000)]
[project @ 2000-09-05 09:10:22 by simonmar]
Use std monadic operators instead of `thenStrictlyST` and friends.

23 years ago[project @ 2000-09-05 09:04:59 by simonmar]
simonmar [Tue, 5 Sep 2000 09:04:59 +0000 (09:04 +0000)]
[project @ 2000-09-05 09:04:59 by simonmar]
comment update

23 years ago[project @ 2000-09-04 16:33:12 by rrt]
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

23 years ago[project @ 2000-09-04 15:23:55 by simonmar]
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.

23 years ago[project @ 2000-09-04 15:17:03 by simonmar]
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

23 years ago[project @ 2000-09-04 15:09:49 by simonmar]
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.

23 years ago[project @ 2000-09-04 15:08:42 by simonmar]
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.

23 years ago[project @ 2000-09-04 14:39:10 by simonmar]
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

23 years ago[project @ 2000-09-04 14:10:38 by simonmar]
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

23 years ago[project @ 2000-09-04 14:07:29 by simonmar]
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.

23 years ago[project @ 2000-09-04 13:59:55 by simonmar]
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

23 years ago[project @ 2000-09-01 18:28:41 by qrczak]
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.

23 years ago[project @ 2000-08-31 19:57:42 by simonpj]
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

23 years ago[project @ 2000-08-31 19:55:46 by simonpj]
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

23 years ago[project @ 2000-08-31 19:55:20 by simonpj]
simonpj [Thu, 31 Aug 2000 19:55:20 +0000 (19:55 +0000)]
[project @ 2000-08-31 19:55:20 by simonpj]
Add comment

23 years ago[project @ 2000-08-31 09:53:08 by simonpj]
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

23 years ago[project @ 2000-08-30 07:36:47 by simonpj]
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

23 years ago[project @ 2000-08-30 03:01:48 by kglynn]
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

23 years ago[project @ 2000-08-29 17:42:17 by qrczak]
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.

23 years ago[project @ 2000-08-29 16:56:26 by simonpj]
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.)

23 years ago[project @ 2000-08-29 16:38:04 by simonpj]
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

23 years ago[project @ 2000-08-29 16:37:35 by simonpj]
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

23 years ago[project @ 2000-08-29 16:36:23 by simonpj]
simonpj [Tue, 29 Aug 2000 16:36:23 +0000 (16:36 +0000)]
[project @ 2000-08-29 16:36:23 by simonpj]
Remove redundant imports

23 years ago[project @ 2000-08-29 16:35:56 by simonpj]
simonpj [Tue, 29 Aug 2000 16:35:56 +0000 (16:35 +0000)]
[project @ 2000-08-29 16:35:56 by simonpj]
Add filterFB comment

23 years ago[project @ 2000-08-29 13:34:21 by qrczak]
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...

23 years ago[project @ 2000-08-25 15:21:57 by simonmar]
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.

23 years ago[project @ 2000-08-25 13:26:57 by simonmar]
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.

23 years ago[project @ 2000-08-25 13:12:07 by simonmar]
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.

23 years ago[project @ 2000-08-25 12:49:54 by rrt]
rrt [Fri, 25 Aug 2000 12:49:54 +0000 (12:49 +0000)]
[project @ 2000-08-25 12:49:54 by rrt]
Sorry Sigbj&oslash;rn, but DocBook won't accept &oslash; in <Author>
elements. Seems to work everywhere else...

23 years ago[project @ 2000-08-25 10:06:37 by qrczak]
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.

23 years ago[project @ 2000-08-24 15:17:54 by rrt]
rrt [Thu, 24 Aug 2000 15:17:54 +0000 (15:17 +0000)]
[project @ 2000-08-24 15:17:54 by rrt]
Added more authors.

23 years ago[project @ 2000-08-24 13:32:17 by qrczak]
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.

23 years ago[project @ 2000-08-24 11:45:24 by simonmar]
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.

23 years ago[project @ 2000-08-24 10:27:44 by simonmar]
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.

23 years ago[project @ 2000-08-24 10:27:01 by simonmar]
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.

23 years ago[project @ 2000-08-23 12:51:03 by simonmar]
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.

23 years ago[project @ 2000-08-22 14:19:19 by sewardj]
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.

23 years ago[project @ 2000-08-22 14:16:06 by sewardj]
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.

23 years ago[project @ 2000-08-22 14:05:05 by sewardj]
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).

23 years ago[project @ 2000-08-22 10:08:14 by simonmar]
simonmar [Tue, 22 Aug 2000 10:08:14 +0000 (10:08 +0000)]
[project @ 2000-08-22 10:08:14 by simonmar]
Wibble.

23 years ago[project @ 2000-08-22 09:48:49 by sewardj]
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.

23 years ago[project @ 2000-08-22 08:03:15 by chak]
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.]

23 years ago[project @ 2000-08-21 15:40:14 by sewardj]
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.

23 years ago[project @ 2000-08-21 15:28:30 by simonmar]
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.

23 years ago[project @ 2000-08-21 15:27:18 by simonmar]
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.

23 years ago[project @ 2000-08-21 15:21:52 by simonmar]
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.).

23 years ago[project @ 2000-08-21 15:12:04 by simonmar]
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)

23 years ago[project @ 2000-08-21 14:16:57 by simonmar]
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.)

23 years ago[project @ 2000-08-21 14:12:17 by simonmar]
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

23 years ago[project @ 2000-08-21 14:11:35 by simonmar]
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.

23 years ago[project @ 2000-08-21 13:35:46 by simonmar]
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.

23 years ago[project @ 2000-08-21 13:34:44 by simonmar]
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#.

23 years ago[project @ 2000-08-21 13:34:06 by simonmar]
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.

23 years ago[project @ 2000-08-21 13:13:15 by rrt]
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).

23 years ago[project @ 2000-08-18 18:08:48 by qrczak]
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.