ghc-hetmet.git
21 years ago[project @ 2003-04-17 14:12:15 by simonpj]
simonpj [Thu, 17 Apr 2003 14:12:15 +0000 (14:12 +0000)]
[project @ 2003-04-17 14:12:15 by simonpj]
Comments

21 years ago[project @ 2003-04-17 12:00:58 by simonmar]
simonmar [Thu, 17 Apr 2003 12:00:58 +0000 (12:00 +0000)]
[project @ 2003-04-17 12:00:58 by simonmar]
Comment fix

21 years ago[project @ 2003-04-17 07:13:54 by simonpj]
simonpj [Thu, 17 Apr 2003 07:13:54 +0000 (07:13 +0000)]
[project @ 2003-04-17 07:13:54 by simonpj]
Update hi-boot files

21 years ago[project @ 2003-04-16 13:34:13 by simonpj]
simonpj [Wed, 16 Apr 2003 13:34:17 +0000 (13:34 +0000)]
[project @ 2003-04-16 13:34:13 by simonpj]
----------------------------------
 Use the Infer/Check idea for typechecking higher-rank types
----------------------------------

The main idea is that

data Expected ty = Infer (TcRef ty) | Check ty

tcMonoExpr :: Expr -> Expected TcRhoType -> TcM Expra

This "Expected" type tells tcMonoExpr whether it's doing inference or
checking.  It replaces the "HoleTv" flavour of type variable.

This actually leads to slightly more lines of code, but it's much
clearer, and the new type distinctions showed up several subtle bugs
in the previous implementation.  It all arose out of writing the
prototype implementation for the paper.

Error messages wibble around a little bit.  I'm not quite certain why!  But the
changes look like improvements to me.

21 years ago[project @ 2003-04-15 14:37:12 by simonmar]
simonmar [Tue, 15 Apr 2003 14:37:12 +0000 (14:37 +0000)]
[project @ 2003-04-15 14:37:12 by simonmar]
Fix bug in forkProcess: it should be using RET_N rather than returing
directly.  Makes a difference for unregisterised only.

Remove dead code in atomicModifyMVarzh_fast.

21 years ago[project @ 2003-04-14 13:36:04 by simonpj]
simonpj [Mon, 14 Apr 2003 13:36:04 +0000 (13:36 +0000)]
[project @ 2003-04-14 13:36:04 by simonpj]
Guidance about tags on windows

21 years ago[project @ 2003-04-14 13:15:52 by simonpj]
simonpj [Mon, 14 Apr 2003 13:15:52 +0000 (13:15 +0000)]
[project @ 2003-04-14 13:15:52 by simonpj]
Remove -- option for HSTAGS for tags target, now that we are using hasktags instead

21 years ago[project @ 2003-04-14 08:52:07 by simonmar]
simonmar [Mon, 14 Apr 2003 08:52:07 +0000 (08:52 +0000)]
[project @ 2003-04-14 08:52:07 by simonmar]
We support hs_init() and friends now, so remove the point that says we
don't.

21 years ago[project @ 2003-04-12 16:38:23 by panne]
panne [Sat, 12 Apr 2003 16:38:23 +0000 (16:38 +0000)]
[project @ 2003-04-12 16:38:23 by panne]
Typo :-}

21 years ago[project @ 2003-04-12 16:27:24 by panne]
panne [Sat, 12 Apr 2003 16:27:24 +0000 (16:27 +0000)]
[project @ 2003-04-12 16:27:24 by panne]
Unbreak 2nd stage: GHC.Posix => System.Posix.Internals

21 years ago[project @ 2003-04-12 09:39:03 by panne]
panne [Sat, 12 Apr 2003 09:39:03 +0000 (09:39 +0000)]
[project @ 2003-04-12 09:39:03 by panne]
Fixed the -print arg to a $(FIND) command, so as to be more compatible
with shells.  :-)

21 years ago[project @ 2003-04-11 13:09:44 by simonmar]
simonmar [Fri, 11 Apr 2003 13:09:44 +0000 (13:09 +0000)]
[project @ 2003-04-11 13:09:44 by simonmar]
Add -print to some $(FIND) commands, so as to be more compatible with
non-GNU finds.

21 years ago[project @ 2003-04-11 13:04:37 by simonmar]
simonmar [Fri, 11 Apr 2003 13:04:37 +0000 (13:04 +0000)]
[project @ 2003-04-11 13:04:37 by simonmar]
The Id for a foreign import should be a LocalId, not a GlobalId.
Making it a GlobalId violates the invariant that all Ids defined in
the current module should be LocalIds until CoreTidy.

21 years ago[project @ 2003-04-11 12:51:45 by simonmar]
simonmar [Fri, 11 Apr 2003 12:51:45 +0000 (12:51 +0000)]
[project @ 2003-04-11 12:51:45 by simonmar]
Add an ASSERT to confirm an invariant: all Ids defined in this module
should be LocalIds until the CoreTidy phase.

21 years ago[project @ 2003-04-11 12:24:30 by simonmar]
simonmar [Fri, 11 Apr 2003 12:24:30 +0000 (12:24 +0000)]
[project @ 2003-04-11 12:24:30 by simonmar]
remove spurious backslash

21 years ago[project @ 2003-04-11 08:27:53 by simonpj]
simonpj [Fri, 11 Apr 2003 08:27:55 +0000 (08:27 +0000)]
[project @ 2003-04-11 08:27:53 by simonpj]
More simplifier wibbles to do with the arity transfer stuff

21 years ago[project @ 2003-04-10 21:27:54 by wolfgang]
wolfgang [Thu, 10 Apr 2003 21:27:54 +0000 (21:27 +0000)]
[project @ 2003-04-10 21:27:54 by wolfgang]
Mac OS X/Darwin: Fix two more mangler bugs. Maybe the profiling libraries will work this time...

MERGE TO STABLE

21 years ago[project @ 2003-04-10 16:52:26 by simonpj]
simonpj [Thu, 10 Apr 2003 16:52:26 +0000 (16:52 +0000)]
[project @ 2003-04-10 16:52:26 by simonpj]
Wibble to arity fix

21 years ago[project @ 2003-04-10 15:46:11 by simonpj]
simonpj [Thu, 10 Apr 2003 15:46:11 +0000 (15:46 +0000)]
[project @ 2003-04-10 15:46:11 by simonpj]
A subtle type checker bug, which showed up in rebindable1 test

21 years ago[project @ 2003-04-10 14:45:48 by simonpj]
simonpj [Thu, 10 Apr 2003 14:45:48 +0000 (14:45 +0000)]
[project @ 2003-04-10 14:45:48 by simonpj]
Handle Int literals in TH

21 years ago[project @ 2003-04-10 14:44:18 by simonpj]
simonpj [Thu, 10 Apr 2003 14:44:18 +0000 (14:44 +0000)]
[project @ 2003-04-10 14:44:18 by simonpj]
----------------------------------
       Fix a long-standing eta-reduction bug
----------------------------------

Consider the stupid definition

f = \x -> f x

We were erroneously eta-reducing this to

f = f

(unsound because they'd be distinguishable by `seq`)

The reason was that simplLazyBind was exposing the arity of
a recursive function to its own RHS, when all it was really
trying to do was expose the *rules* for the function.

Easily fixed.   This fixes some

"Bad eta expand"

warnings.  Good all round.  In particular, fixes rn006.

21 years ago[project @ 2003-04-10 14:43:52 by simonpj]
simonpj [Thu, 10 Apr 2003 14:43:52 +0000 (14:43 +0000)]
[project @ 2003-04-10 14:43:52 by simonpj]
comments

21 years ago[project @ 2003-04-10 11:33:56 by simonpj]
simonpj [Thu, 10 Apr 2003 11:33:56 +0000 (11:33 +0000)]
[project @ 2003-04-10 11:33:56 by simonpj]
Comments

21 years ago[project @ 2003-04-10 08:09:51 by simonpj]
simonpj [Thu, 10 Apr 2003 08:09:51 +0000 (08:09 +0000)]
[project @ 2003-04-10 08:09:51 by simonpj]
Two win32 wibbles

21 years ago[project @ 2003-04-09 08:44:53 by simonpj]
simonpj [Wed, 9 Apr 2003 08:44:53 +0000 (08:44 +0000)]
[project @ 2003-04-09 08:44:53 by simonpj]
Document how to get rid of the console window

21 years ago[project @ 2003-04-09 08:44:37 by simonpj]
simonpj [Wed, 9 Apr 2003 08:44:37 +0000 (08:44 +0000)]
[project @ 2003-04-09 08:44:37 by simonpj]
wibble

21 years ago[project @ 2003-04-09 08:07:58 by simonpj]
simonpj [Wed, 9 Apr 2003 08:07:58 +0000 (08:07 +0000)]
[project @ 2003-04-09 08:07:58 by simonpj]
-------------------------------------
      Fix a functional-dependency-related bug in
tcSimpifyRestricted
-------------------------------------

MERGE TO STABLE if it goes over conveniently
(but I rather think it may not)

tcSimplifyRestricted works by (a) simplifying brutall to find out
what the constrained type variables are, and (b) simplifying more
gently, knowing the constrained type varaibles.  The bug is that
in step (b) we were not doing the check-for-improvement-and-loop
part, thinking that step (a) had alrady done all the improvement.
But not so, as an example in the code now shows.

Simple to fix.  I rather think we could tidy up these various loops.

21 years ago[project @ 2003-04-09 07:48:31 by simonpj]
simonpj [Wed, 9 Apr 2003 07:48:31 +0000 (07:48 +0000)]
[project @ 2003-04-09 07:48:31 by simonpj]
Comments

21 years ago[project @ 2003-04-08 15:54:24 by sof]
sof [Tue, 8 Apr 2003 15:54:24 +0000 (15:54 +0000)]
[project @ 2003-04-08 15:54:24 by sof]
if needs be, include Capability.h

21 years ago[project @ 2003-04-08 15:53:51 by sof]
sof [Tue, 8 Apr 2003 15:53:51 +0000 (15:53 +0000)]
[project @ 2003-04-08 15:53:51 by sof]
resumeThread: concCall arg is universally unused (but leave it in for now)

21 years ago[project @ 2003-04-08 15:32:38 by sof]
sof [Tue, 8 Apr 2003 15:32:38 +0000 (15:32 +0000)]
[project @ 2003-04-08 15:32:38 by sof]
UPD_IND_NOLOCK(): update THREADED_RTS & SMP versions wrt rts/Storage.h:updateWithIndirection() change

21 years ago[project @ 2003-04-08 13:06:48 by simonpj]
simonpj [Tue, 8 Apr 2003 13:06:48 +0000 (13:06 +0000)]
[project @ 2003-04-08 13:06:48 by simonpj]
----------------------------------
   Try swapping order of inference for applications
----------------------------------

For a long time we've inferred the argument types of a function
call before using information from the expected type passed in.
This commit swaps the order.  See comments with tcApp for an
example where this makes a real difference.

I don't think any error messages get signficantly worse, but yell
if you find any.

21 years ago[project @ 2003-04-08 13:03:58 by simonpj]
simonpj [Tue, 8 Apr 2003 13:03:58 +0000 (13:03 +0000)]
[project @ 2003-04-08 13:03:58 by simonpj]
Better error messages

21 years ago[project @ 2003-04-08 13:03:42 by simonpj]
simonpj [Tue, 8 Apr 2003 13:03:42 +0000 (13:03 +0000)]
[project @ 2003-04-08 13:03:42 by simonpj]
ToDo comments

21 years ago[project @ 2003-04-08 11:27:30 by simonpj]
simonpj [Tue, 8 Apr 2003 11:27:30 +0000 (11:27 +0000)]
[project @ 2003-04-08 11:27:30 by simonpj]
Improve error messages on newtype deriving

21 years ago[project @ 2003-04-08 11:01:00 by simonpj]
simonpj [Tue, 8 Apr 2003 11:01:00 +0000 (11:01 +0000)]
[project @ 2003-04-08 11:01:00 by simonpj]
Fix unbox-strict-fields deriving bug; MERGE TO STABLE

21 years ago[project @ 2003-04-06 22:08:49 by igloo]
igloo [Sun, 6 Apr 2003 22:08:49 +0000 (22:08 +0000)]
[project @ 2003-04-06 22:08:49 by igloo]
Typecheck type reification brackets [t| ... |]

21 years ago[project @ 2003-04-04 09:11:02 by reid]
reid [Fri, 4 Apr 2003 09:11:02 +0000 (09:11 +0000)]
[project @ 2003-04-04 09:11:02 by reid]
Missing commit from last night: Add GreenCard files, GreenCard derived files, etc. to the lists of sources so that make depend and make clean work

21 years ago[project @ 2003-04-02 00:28:59 by sof]
sof [Wed, 2 Apr 2003 00:28:59 +0000 (00:28 +0000)]
[project @ 2003-04-02 00:28:59 by sof]
threadStackOverflow() wibble

21 years ago[project @ 2003-04-01 17:09:40 by sof]
sof [Tue, 1 Apr 2003 17:09:40 +0000 (17:09 +0000)]
[project @ 2003-04-01 17:09:40 by sof]
updated and sync'ed wrt ClosureTypes.h

21 years ago[project @ 2003-04-01 15:40:27 by sof]
sof [Tue, 1 Apr 2003 15:40:27 +0000 (15:40 +0000)]
[project @ 2003-04-01 15:40:27 by sof]
comment update

21 years ago[project @ 2003-04-01 15:28:20 by sof]
sof [Tue, 1 Apr 2003 15:28:21 +0000 (15:28 +0000)]
[project @ 2003-04-01 15:28:20 by sof]
Have Literal.Literal support the representation of NULL pointers only,
and not arbitrary pointer values.

(MachAddr <some-pointer-value-as-an-Integer>) wasn't being used,
except to handle nullAddr#. It (MachAddr) is a potential source of
problems should the compiler start doing constant folding or other
interesting operations over MachAddrs (think: interface files +
cross-compilation), so we might as well scale back the representation
of raw pointer values.

21 years ago[project @ 2003-04-01 15:05:13 by sof]
sof [Tue, 1 Apr 2003 15:05:22 +0000 (15:05 +0000)]
[project @ 2003-04-01 15:05:13 by sof]
Tidy up code that supports user/Haskell signal handlers.

Signals.h now defines RTS_USER_SIGNALS when this is supported,
which is then used elsewhere.

21 years ago[project @ 2003-04-01 09:35:13 by simonmar]
simonmar [Tue, 1 Apr 2003 09:35:13 +0000 (09:35 +0000)]
[project @ 2003-04-01 09:35:13 by simonmar]
Don't constant-fold (negateFloat# 0.0#), because the compiler's
internal representation of floating-point literals (Rational) can't
represent -0.0.  This means that

   main = print (-0.0)

now gives the same results with -O as it does without.

Fixes test arith005.

21 years ago[project @ 2003-03-31 19:19:34 by sof]
sof [Mon, 31 Mar 2003 19:19:34 +0000 (19:19 +0000)]
[project @ 2003-03-31 19:19:34 by sof]
- Stable.c:enlargeStablePtrTable(): plug a mem leak,
  the (re-)allocation is in bytes, not words.
- nuke RtsUtils.c:stgMallocWords(),
       RtsUtils.c:stgReallocWords()

21 years ago[project @ 2003-03-31 14:02:32 by simonmar]
simonmar [Mon, 31 Mar 2003 14:02:32 +0000 (14:02 +0000)]
[project @ 2003-03-31 14:02:32 by simonmar]
On 32-bit platforms, add a bunch of symbols from libgcc.a used to
support 64-bit arithmetic.

It looks like these symbols are defined in libc on some platforms but
not others, but it shouldn't do any harm to include them in the list
of symbols that the linker knows about even if they're also in libc.
They were already included for some platforms (cygwin, mingw, and
darwin), this commit just includes then whenever we're compiling with
gcc on a 32-bit platform.

21 years ago[project @ 2003-03-31 13:08:49 by simonmar]
simonmar [Mon, 31 Mar 2003 13:08:49 +0000 (13:08 +0000)]
[project @ 2003-03-31 13:08:49 by simonmar]
Mention that our Read class accepts hex and octal literals, as an
extension to Haskell 98.

21 years ago[project @ 2003-03-31 12:42:04 by simonmar]
simonmar [Mon, 31 Mar 2003 12:42:04 +0000 (12:42 +0000)]
[project @ 2003-03-31 12:42:04 by simonmar]
Booting from HC fixes (slightly tweaked for the HEAD)

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:37:41 by simonmar]
simonmar [Mon, 31 Mar 2003 12:37:41 +0000 (12:37 +0000)]
[project @ 2003-03-31 12:37:41 by simonmar]
HC bootstrapping fixes

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:35:21 by simonmar]
simonmar [Mon, 31 Mar 2003 12:35:21 +0000 (12:35 +0000)]
[project @ 2003-03-31 12:35:21 by simonmar]
Include NetBSD support

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:26:07 by simonmar]
simonmar [Mon, 31 Mar 2003 12:26:07 +0000 (12:26 +0000)]
[project @ 2003-03-31 12:26:07 by simonmar]
NetBSD fixes

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:24:50 by simonmar]
simonmar [Mon, 31 Mar 2003 12:24:50 +0000 (12:24 +0000)]
[project @ 2003-03-31 12:24:50 by simonmar]
Comments only

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:23:41 by simonmar]
simonmar [Mon, 31 Mar 2003 12:23:41 +0000 (12:23 +0000)]
[project @ 2003-03-31 12:23:41 by simonmar]
Fixes to subdir ordering for booting from HC files.

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:22:11 by simonmar]
simonmar [Mon, 31 Mar 2003 12:22:11 +0000 (12:22 +0000)]
[project @ 2003-03-31 12:22:11 by simonmar]
Tweaks to make it work again (at least with 5.04.3)

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-31 12:17:36 by simonmar]
simonmar [Mon, 31 Mar 2003 12:17:36 +0000 (12:17 +0000)]
[project @ 2003-03-31 12:17:36 by simonmar]
Fixes to the hc-file-bundle

Submitted by: Urban Boquist <boquist@crt.se>

21 years ago[project @ 2003-03-29 00:27:11 by sof]
sof [Sat, 29 Mar 2003 00:27:11 +0000 (00:27 +0000)]
[project @ 2003-03-29 00:27:11 by sof]
startTicker(): pass in the tick handler as an arg

21 years ago[project @ 2003-03-29 00:00:41 by sof]
sof [Sat, 29 Mar 2003 00:00:44 +0000 (00:00 +0000)]
[project @ 2003-03-29 00:00:41 by sof]
win32 tidyup: exclude Select.c, Itimer.c and Signals.c from SRCS

21 years ago[project @ 2003-03-28 23:46:39 by sof]
sof [Fri, 28 Mar 2003 23:46:40 +0000 (23:46 +0000)]
[project @ 2003-03-28 23:46:39 by sof]
block_vtalrm_signal() and unblock_vtalrm_signal(): unused, disable.

21 years ago[project @ 2003-03-28 15:47:15 by sof]
sof [Fri, 28 Mar 2003 15:47:15 +0000 (15:47 +0000)]
[project @ 2003-03-28 15:47:15 by sof]
fix ProjectVersion

21 years ago[project @ 2003-03-28 15:13:52 by sof]
sof [Fri, 28 Mar 2003 15:13:52 +0000 (15:13 +0000)]
[project @ 2003-03-28 15:13:52 by sof]
FIRST_BLOCK_OFF: more parens (for prec table illiterates like me)

21 years ago[project @ 2003-03-28 01:59:05 by sof]
sof [Fri, 28 Mar 2003 01:59:08 +0000 (01:59 +0000)]
[project @ 2003-03-28 01:59:05 by sof]
Off-by-one tidyup.

ALLOC_AP, ALLOC_PAP and MKAP were all being constructed
with size arguments equal to (1+number of args/FVs) in
ByteCodeGen.schemeE, only for Interpreter.c to subtract 1
when fishing out the payloads. This commit drops the
up-and-downery.

Simplification spotted by Andy Moran

21 years ago[project @ 2003-03-27 22:35:28 by sof]
sof [Thu, 27 Mar 2003 22:35:29 +0000 (22:35 +0000)]
[project @ 2003-03-27 22:35:28 by sof]
be gone

21 years ago[project @ 2003-03-27 17:59:09 by sof]
sof [Thu, 27 Mar 2003 17:59:12 +0000 (17:59 +0000)]
[project @ 2003-03-27 17:59:09 by sof]
NCG support for f.e.d. stdcall -- Literal.MachLabels now optionally carry
the size (in bytes) of the stack frame it expects, if known. That just
so happens to match what stdcall labels need to be annotated with when
emitting them in the NCG..

21 years ago[project @ 2003-03-27 13:54:31 by simonmar]
simonmar [Thu, 27 Mar 2003 13:54:32 +0000 (13:54 +0000)]
[project @ 2003-03-27 13:54:31 by simonmar]
Two performance tweaks:

  - Use specialised indirections, which perform the right kind of
    return without needing to enter the object they point to.  This
    saves a small percentages of memory reads.

  - Tweak the update code to generate better code with gcc.  This
    saves a few instructions per update.

21 years ago[project @ 2003-03-27 08:25:31 by simonpj]
simonpj [Thu, 27 Mar 2003 08:25:31 +0000 (08:25 +0000)]
[project @ 2003-03-27 08:25:31 by simonpj]
-------------------------------------
      Fix a wibble in default-type setting for TH
-------------------------------------

When a bunch of declarations contains no 'default' declaration,
we were setting 'defaultDefaultTys' as appropriate default types.
This isn't right for Template Haskell, which may have more than
one bunch of top-level decls.  (The bunches are separated by
top-level declaration splices.)

Instead, if there is no 'default' declaration we should do nothing.

21 years ago[project @ 2003-03-27 08:21:27 by simonpj]
simonpj [Thu, 27 Mar 2003 08:21:27 +0000 (08:21 +0000)]
[project @ 2003-03-27 08:21:27 by simonpj]
-------------------------------------
      Respect SPECIALISE pragmas in instance decls
-------------------------------------

For some time now we have simply been discarding SPECIALISE pragmas
in instance declarations.  I think this was my fault, at some point
when I was re-plumbing TcClassDcl.lhs, but it's been this way for
some time.

The only uses of this facility in the Prelude are in GHC/Float.lhs
and GHC/Real.lhs, which affected the efficiency of the Float and
Double instance of properFraction, floor, ceiling, etc.

Ah well, it's fixed now.

21 years ago[project @ 2003-03-27 08:18:21 by simonpj]
simonpj [Thu, 27 Mar 2003 08:18:21 +0000 (08:18 +0000)]
[project @ 2003-03-27 08:18:21 by simonpj]
Reduce tctrace verbosity

21 years ago[project @ 2003-03-27 08:16:29 by simonpj]
simonpj [Thu, 27 Mar 2003 08:17:59 +0000 (08:17 +0000)]
[project @ 2003-03-27 08:16:29 by simonpj]
Import wibbles

21 years ago[project @ 2003-03-26 18:59:34 by sof]
sof [Wed, 26 Mar 2003 18:59:34 +0000 (18:59 +0000)]
[project @ 2003-03-26 18:59:34 by sof]
allocatePinned(): move large-object check to the front

21 years ago[project @ 2003-03-26 17:43:05 by sof]
sof [Wed, 26 Mar 2003 17:43:05 +0000 (17:43 +0000)]
[project @ 2003-03-26 17:43:05 by sof]
bring rts_mainLazyIO() into scope

21 years ago[project @ 2003-03-26 17:40:57 by sof]
sof [Wed, 26 Mar 2003 17:40:58 +0000 (17:40 +0000)]
[project @ 2003-03-26 17:40:57 by sof]
wibbles - drop references to PleaseStopAllocating(), use CloseNursery() to express ExtendNursery()

21 years ago[project @ 2003-03-26 17:33:49 by sof]
sof [Wed, 26 Mar 2003 17:33:49 +0000 (17:33 +0000)]
[project @ 2003-03-26 17:33:49 by sof]
initStorage(): sm_mutex not correctly initialised (guess no one's done an SMP build for the past 12 months :)

21 years ago[project @ 2003-03-26 15:56:25 by simonmar]
simonmar [Wed, 26 Mar 2003 15:56:25 +0000 (15:56 +0000)]
[project @ 2003-03-26 15:56:25 by simonmar]
Add __attribute__((regparm(1))) to evacuate()'s prototype.  This
avoids a lot of stack assignments between scavenge() and
evacuate().  Performance isn't affected measurably, though.

21 years ago[project @ 2003-03-26 14:52:02 by simonmar]
simonmar [Wed, 26 Mar 2003 14:52:02 +0000 (14:52 +0000)]
[project @ 2003-03-26 14:52:02 by simonmar]
Fix bug in previous two commits: must check HEAP_ALLOCED() before
using Bdescr().

21 years ago[project @ 2003-03-26 12:33:10 by simonmar]
simonmar [Wed, 26 Mar 2003 12:33:11 +0000 (12:33 +0000)]
[project @ 2003-03-26 12:33:10 by simonmar]
Check for the rlim_t type

21 years ago[project @ 2003-03-26 02:12:38 by sof]
sof [Wed, 26 Mar 2003 02:12:38 +0000 (02:12 +0000)]
[project @ 2003-03-26 02:12:38 by sof]
gen_map_mblocks(): add comment re: issues that need to be addressed should anyone want to tackle the ToDo item

21 years ago[project @ 2003-03-25 18:00:19 by sof]
sof [Tue, 25 Mar 2003 18:00:19 +0000 (18:00 +0000)]
[project @ 2003-03-25 18:00:19 by sof]
bring rts_mainLazyIO() into scope

21 years ago[project @ 2003-03-25 17:58:47 by sof]
sof [Tue, 25 Mar 2003 17:58:51 +0000 (17:58 +0000)]
[project @ 2003-03-25 17:58:47 by sof]
to ease replacement of the underlying allocator used by stgMallocBytes() and friends, provide (&use) RtsUtils.c:stgFree()

21 years ago[project @ 2003-03-25 17:26:08 by sof]
sof [Tue, 25 Mar 2003 17:26:09 +0000 (17:26 +0000)]
[project @ 2003-03-25 17:26:08 by sof]
wibble wrt stgMallocBytes()

21 years ago[project @ 2003-03-25 17:24:30 by sof]
sof [Tue, 25 Mar 2003 17:24:30 +0000 (17:24 +0000)]
[project @ 2003-03-25 17:24:30 by sof]
msTime(): only used with PAR

21 years ago[project @ 2003-03-25 17:23:05 by sof]
sof [Tue, 25 Mar 2003 17:23:05 +0000 (17:23 +0000)]
[project @ 2003-03-25 17:23:05 by sof]
leave out unused statics when not using BFD

21 years ago[project @ 2003-03-25 17:22:27 by simonmar]
simonmar [Tue, 25 Mar 2003 17:22:27 +0000 (17:22 +0000)]
[project @ 2003-03-25 17:22:27 by simonmar]
Update ghc-pkg documentation w.r.t. multiple config files, and add
documentation for 'auto' packages.

21 years ago[project @ 2003-03-25 17:15:07 by sof]
sof [Tue, 25 Mar 2003 17:15:07 +0000 (17:15 +0000)]
[project @ 2003-03-25 17:15:07 by sof]
code wibbles

21 years ago[project @ 2003-03-25 17:04:09 by sof]
sof [Tue, 25 Mar 2003 17:04:09 +0000 (17:04 +0000)]
[project @ 2003-03-25 17:04:09 by sof]
BCO_INSTRS() is no more

21 years ago[project @ 2003-03-25 16:50:18 by simonmar]
simonmar [Tue, 25 Mar 2003 16:50:18 +0000 (16:50 +0000)]
[project @ 2003-03-25 16:50:18 by simonmar]
Handle multiple config files correctly.  Now it is possible to specify
a dependency on a package in another config file, and --list-packages
lists all the packages in each file.

The last file mentioned on the command line is the one to which
updates are applied, packages are added, etc.

21 years ago[project @ 2003-03-25 16:19:55 by sof]
sof [Tue, 25 Mar 2003 16:19:56 +0000 (16:19 +0000)]
[project @ 2003-03-25 16:19:55 by sof]
wibble - move LARGE_OBJECT_THRESHOLD from Constants.h to Block.h, as it's defined in terms of Block.h defines

21 years ago[project @ 2003-03-25 16:06:39 by sof]
sof [Tue, 25 Mar 2003 16:06:39 +0000 (16:06 +0000)]
[project @ 2003-03-25 16:06:39 by sof]
upd MAX_SPEC_SELECTEE_SIZE comment

21 years ago[project @ 2003-03-25 09:40:06 by simonmar]
simonmar [Tue, 25 Mar 2003 09:40:06 +0000 (09:40 +0000)]
[project @ 2003-03-25 09:40:06 by simonmar]
Update the out-of-memory error message: the request size isn't known
any more.

21 years ago[project @ 2003-03-24 16:18:26 by simonmar]
simonmar [Mon, 24 Mar 2003 16:18:26 +0000 (16:18 +0000)]
[project @ 2003-03-24 16:18:26 by simonmar]
warning elimination

21 years ago[project @ 2003-03-24 15:33:25 by simonmar]
simonmar [Mon, 24 Mar 2003 15:33:25 +0000 (15:33 +0000)]
[project @ 2003-03-24 15:33:25 by simonmar]
A couple of changes related to bug #2 in the previous commit:

 - follow IND_STATICs, now that we can check whether
   we end up in to-space or not

 - improve the commentary

21 years ago[project @ 2003-03-24 14:46:53 by simonmar]
simonmar [Mon, 24 Mar 2003 14:46:57 +0000 (14:46 +0000)]
[project @ 2003-03-24 14:46:53 by simonmar]
Fix some bugs in compacting GC.

Bug 1: When threading the fields of an AP or PAP, we were grabbing the
info table of the function without unthreading it first.

Bug 2: eval_thunk_selector() might accidentally find itself in
to-space when going through indirections in a compacted generation.
We must check for this case and bale out if necessary.

Bug 3: This is somewhat more nasty.  When we have an AP or PAP that
points to a BCO, the layout info for the AP/PAP is in the BCO's
instruction array, which is two objects deep from the AP/PAP itself.
The trouble is, during compacting GC, we can only safely look one
object deep from the current object, because pointers from objects any
deeper might have been already updated to point to their final
destinations.

The solution is to put the arity and bitmap info for a BCO into the
BCO object itself.  This means BCOs become variable-length, which is a
slight annoyance, but it also means that looking up the arity/bitmap
is quicker.  There is a slight reduction in complexity in the byte
code generator due to not having to stuff the bitmap at the front of
the instruction stream.

21 years ago[project @ 2003-03-24 11:23:20 by simonmar]
simonmar [Mon, 24 Mar 2003 11:23:21 +0000 (11:23 +0000)]
[project @ 2003-03-24 11:23:20 by simonmar]
#ifdef some more code that belongs to the old strictness analyser.

It turns out we were still compiling the Demand and SaLib modules,
which aren't required unless OLD_STRICTNESS is on (do we still need
OLD_STRICTNESS?).

21 years ago[project @ 2003-03-22 06:28:58 by sof]
sof [Sat, 22 Mar 2003 06:28:58 +0000 (06:28 +0000)]
[project @ 2003-03-22 06:28:58 by sof]
dsForeigns: common up header files

21 years ago[project @ 2003-03-21 16:18:37 by sof]
sof [Fri, 21 Mar 2003 16:18:39 +0000 (16:18 +0000)]
[project @ 2003-03-21 16:18:37 by sof]
Friday morning code-wibbling:
- made RetainerProfile.c:firstStack a 'static'
- added RetainerProfile.c:retainerStackBlocks()

21 years ago[project @ 2003-03-21 15:48:06 by sof]
sof [Fri, 21 Mar 2003 15:48:06 +0000 (15:48 +0000)]
[project @ 2003-03-21 15:48:06 by sof]
drop FILE_SIZE (hasn't been needed by NCG for the past 5 years or so)

21 years ago[project @ 2003-03-21 15:45:56 by sof]
sof [Fri, 21 Mar 2003 15:45:56 +0000 (15:45 +0000)]
[project @ 2003-03-21 15:45:56 by sof]
reliably clean out mk* binaries

21 years ago[project @ 2003-03-21 13:54:27 by simonmar]
simonmar [Fri, 21 Mar 2003 13:54:28 +0000 (13:54 +0000)]
[project @ 2003-03-21 13:54:27 by simonmar]
Modifications to the way we calculate CafInfo during tidying (again).

The previous hack of setting the CafInfo on all non-top-level bindings
to NoCafRefs was a hack, and it came back to bite us: when CorePrep
floats out a let to the top level it doesn't create a new binding, and
the existing let binder happens to say NoCafRefs which is unsafe.  It
was caught by an ASSERT in the CoreToStg when compiling the libraries
without -O - compiling without -O tends to result in more
opportunities for CorePrep to float things to the top level.

Now, we calculate CafInfo on the pre-tidied expressions, using the
mapping from Ids to Ids that is being built up during tidying.  This
avoids one loop, but will be slightly slower due to the extra lookups.
However, it means we don't need to set the CafInfo on non-top-level
binders to NoCafRefs.

21 years ago[project @ 2003-03-21 10:59:20 by simonmar]
simonmar [Fri, 21 Mar 2003 10:59:20 +0000 (10:59 +0000)]
[project @ 2003-03-21 10:59:20 by simonmar]
GNU ar seems to have trouble with duplicate object file names if you
use the 's' modifier, so detect GNU ar here and use a simple 'ar q'
command to create archives.

This bug was tickled when I replaced an 'ar q' with '$(AR)' in
target.mk yesterday: the default $(AR) is 'ar clqs'.

21 years ago[project @ 2003-03-21 09:22:28 by simonpj]
simonpj [Fri, 21 Mar 2003 09:22:28 +0000 (09:22 +0000)]
[project @ 2003-03-21 09:22:28 by simonpj]
Notes about constructor info tables

21 years ago[project @ 2003-03-20 15:56:31 by simonmar]
simonmar [Thu, 20 Mar 2003 15:56:31 +0000 (15:56 +0000)]
[project @ 2003-03-20 15:56:31 by simonmar]
replace one instance of ar with $(AR).