ghc-hetmet.git
18 years ago[project @ 2005-05-23 10:17:22 by simonpj]
simonpj [Mon, 23 May 2005 10:17:22 +0000 (10:17 +0000)]
[project @ 2005-05-23 10:17:22 by simonpj]
Fix what "standard class" means

MERGE to STABLE

The Report's definition of defaulting (Section 4.3.4) defines a "standard class" to be
one defined by the Prelude or a standard library.  GHC was omitting the "..or a standard
library" part; and it even omitted the Prelude classes Monad and Functor.
This commit fixes the bug by adding

Random, RandomGen,
Monad, MonadPlus, Functor

to the classes defined as "standard".

18 years ago[project @ 2005-05-23 09:56:17 by simonpj]
simonpj [Mon, 23 May 2005 09:56:17 +0000 (09:56 +0000)]
[project @ 2005-05-23 09:56:17 by simonpj]
Comments and type sig only

18 years ago[project @ 2005-05-23 09:56:03 by simonpj]
simonpj [Mon, 23 May 2005 09:56:03 +0000 (09:56 +0000)]
[project @ 2005-05-23 09:56:03 by simonpj]
Track new semantics of splitLongestPrefix; fixes -main-is bug

18 years ago[project @ 2005-05-23 09:50:26 by simonpj]
simonpj [Mon, 23 May 2005 09:50:26 +0000 (09:50 +0000)]
[project @ 2005-05-23 09:50:26 by simonpj]
Clarify code for splitLongestPrefix; no effect on behaviour

18 years ago[project @ 2005-05-23 08:22:06 by simonmar]
simonmar [Mon, 23 May 2005 08:22:06 +0000 (08:22 +0000)]
[project @ 2005-05-23 08:22:06 by simonmar]
needsCDecl: remove extra equation for CaseLabel, which was overlapped
(and wrong!).

18 years ago[project @ 2005-05-21 16:09:18 by panne]
panne [Sat, 21 May 2005 16:09:18 +0000 (16:09 +0000)]
[project @ 2005-05-21 16:09:18 by panne]
Warning police (format strings, unused variables)

18 years ago[project @ 2005-05-21 15:39:00 by panne]
panne [Sat, 21 May 2005 15:39:00 +0000 (15:39 +0000)]
[project @ 2005-05-21 15:39:00 by panne]
Warning police: Removed overlapped patterns. In general, taking
compiler warnings about unmatched patterns seriously when they come up
later might be better than writing catch-all patterns right from the
start. Otherwise readers are confused and wonder which patterns might
be missing when there are none.

18 years ago[project @ 2005-05-21 15:20:43 by panne]
panne [Sat, 21 May 2005 15:20:43 +0000 (15:20 +0000)]
[project @ 2005-05-21 15:20:43 by panne]
Warning police: Removed an overlapped catch-all pattern (which could
really never match due to genprimopcode)

18 years ago[project @ 2005-05-21 15:12:00 by panne]
panne [Sat, 21 May 2005 15:12:00 +0000 (15:12 +0000)]
[project @ 2005-05-21 15:12:00 by panne]
Warning police: Use non-deprecated form of "foreign import"

18 years ago[project @ 2005-05-21 15:07:26 by panne]
panne [Sat, 21 May 2005 15:07:26 +0000 (15:07 +0000)]
[project @ 2005-05-21 15:07:26 by panne]
While acting as warning police, I tried to clean up the #ifdef chaos a
little bit, I hope nothing has been broken due to that... :-]

18 years ago[project @ 2005-05-20 14:40:50 by krasimir]
krasimir [Fri, 20 May 2005 14:40:50 +0000 (14:40 +0000)]
[project @ 2005-05-20 14:40:50 by krasimir]
Bugfix: in rtsFatalInternalErrorFn vsnprintf function was used instead of
snprintf. The code is changed so that the error message will be displayed
even if it is longer that BUFSIZE.

18 years ago[project @ 2005-05-20 12:50:42 by simonmar]
simonmar [Fri, 20 May 2005 12:50:42 +0000 (12:50 +0000)]
[project @ 2005-05-20 12:50:42 by simonmar]
Implement some more error checking to catch some cases where
registering a package will lead to a package database containing
conflicts, which would otherwise prevent GHC from being used without
any -hide-package options.

In 'update' mode, instead of complaining about conflicts, we now
attempt to hide any packages which would cause a conflict.  Previously
this was limited to just older versions of the current package, now it
applies to all packages which contain, or depend on packages which
contain, modules which conflict with any module belonging to the
current package or a dependency of it.

Unfortunately we still can't cope with conflicts that cross the
boundary between the user package databse and the global one.  We will
need some kind of white-out mechanism in order to be able to hide a
global package in the user database.

18 years ago[project @ 2005-05-20 12:28:14 by simonpj]
simonpj [Fri, 20 May 2005 12:28:14 +0000 (12:28 +0000)]
[project @ 2005-05-20 12:28:14 by simonpj]
Documentation for new GHCi behaviour

18 years ago[project @ 2005-05-20 12:06:00 by simonpj]
simonpj [Fri, 20 May 2005 12:06:00 +0000 (12:06 +0000)]
[project @ 2005-05-20 12:06:00 by simonpj]
Further wibble to preceding GHCi commit

18 years ago[project @ 2005-05-20 11:58:01 by simonpj]
simonpj [Fri, 20 May 2005 11:58:01 +0000 (11:58 +0000)]
[project @ 2005-05-20 11:58:01 by simonpj]
Wibble to preceding GHCi commit

18 years ago[project @ 2005-05-20 11:42:57 by simonpj]
simonpj [Fri, 20 May 2005 11:42:57 +0000 (11:42 +0000)]
[project @ 2005-05-20 11:42:57 by simonpj]
Improve the GHCi interaction

Merge to STABLE?

This fix addresses Sourceforge #1156554 "GHCi: No instance for (Show (IO ()))",
and simultaneously improves the top-level interaction in two other ways:

- Only one error can show up (previously there could be two)

- If an I/O action gives a Showable result, the result is printed
  (provided it isn't ()).  So
prompt> return 4
  prints 4, rather than nothing

- For command-line 'let' and 'x<-e' forms, if exactly one variable
  is bound, we print its value if it is Showable and not ()
prompt> let x = 4
4
prompt> x <- return 5
5

18 years ago[project @ 2005-05-20 11:32:03 by simonpj]
simonpj [Fri, 20 May 2005 11:32:03 +0000 (11:32 +0000)]
[project @ 2005-05-20 11:32:03 by simonpj]
Liberalise the defaulting rules for GHCi

Merge to STABLE?

The H98 defaulting rules are these.  Group constraints of the form (C v),
for some particular type variable v. Then default v if

a) v appears only in this group (no implicit params or D [v])
b) at least one of the C's is numeric
c) all the C's are standard

GHCi changed rules (b) to

(b') at least one of the C's is numeric, or Eq,Ord,Show

This commit further liberalises GHCi to change (c):

(c') any of the C's are standard

Otherwise the existence of a non-standard class (e.g. Random) is enough
to kill defaulting altogether.

18 years ago[project @ 2005-05-20 11:31:46 by simonpj]
simonpj [Fri, 20 May 2005 11:31:46 +0000 (11:31 +0000)]
[project @ 2005-05-20 11:31:46 by simonpj]
Comments only

18 years ago[project @ 2005-05-19 13:46:24 by simonmar]
simonmar [Thu, 19 May 2005 13:46:24 +0000 (13:46 +0000)]
[project @ 2005-05-19 13:46:24 by simonmar]
Fix locking when unblocking a thread in take/putMVar.  Due to CPP
nonsense the previous locking wasn't actually working, which lead to
deadlock problems.  It now turns out that I can call unblockOne
directly rather than needing unblockOneLocked (the lock on the MVar
means I have exclusive access to the threads on its queue).

18 years ago[project @ 2005-05-19 13:21:55 by simonmar]
simonmar [Thu, 19 May 2005 13:21:55 +0000 (13:21 +0000)]
[project @ 2005-05-19 13:21:55 by simonmar]
- Move the call to threadPaused() from the scheduler into STG land,
  and put it in a new code fragment (stg_returnToSched) that we pass
  through every time we return from STG to the scheduler.  Also, the
  SAVE_THREAD_STATE() is now in stg_returnToSched which might save a
  little code space (at the expense of an extra jump for every return
  to the scheduler).

- SMP: when blocking on an MVar, we now wait until the thread has been
  made fully safe and placed on the blocked queue of the MVar before
  we unlock the MVar.  This closes a race whereby another OS thread could
  begin waking us up before the current TSO had been properly tidied up.

Fixes one cause of crashes when using MVars with SMP.  I still have a
deadlock problem to track down.

18 years ago[project @ 2005-05-19 11:17:20 by simonmar]
simonmar [Thu, 19 May 2005 11:17:20 +0000 (11:17 +0000)]
[project @ 2005-05-19 11:17:20 by simonmar]
SMP: omit the -pthread flag on Windows

18 years ago[project @ 2005-05-19 11:15:40 by simonpj]
simonpj [Thu, 19 May 2005 11:15:44 +0000 (11:15 +0000)]
[project @ 2005-05-19 11:15:40 by simonpj]
Tune up the reporting of unused imports

Merge to STABLE
(I think the earlier change made it across)
(PS: the commit also does some trimming of
redundant imports.  If they don't merge, just
discard them.)

My earlier fixes to the reporting of unused imports still missed
some obscure cases, some of which are now fixed by this commit.
I had to make the import-provenance data type yet richer, but in
fact it has more sharing now, so it may be cheaper on space.

There's still one infelicity. Consider
import M( x )
imoprt N( x )
where the same underlying 'x' is involved in both cases.  Currently we
don't report a redundant import, because dropping either import would
change the qualified names in scope (M.x, N.x). But if the qualified
names aren't used, the import is indeed redundant. Sadly we don't know
that, because we only know what Names are used.  Left for the future!
There's a comment in RnNames.warnDuplicateImports

This commit also trims quite a few redundant imports disovered
by the new setup.

18 years ago[project @ 2005-05-19 11:13:23 by simonmar]
simonmar [Thu, 19 May 2005 11:13:23 +0000 (11:13 +0000)]
[project @ 2005-05-19 11:13:23 by simonmar]
Add required include: #include "RtsFlags.h"

18 years ago[project @ 2005-05-19 11:09:27 by simonmar]
simonmar [Thu, 19 May 2005 11:09:27 +0000 (11:09 +0000)]
[project @ 2005-05-19 11:09:27 by simonmar]
Fix SMP build on Windows

18 years ago[project @ 2005-05-19 07:58:35 by simonpj]
simonpj [Thu, 19 May 2005 07:58:36 +0000 (07:58 +0000)]
[project @ 2005-05-19 07:58:35 by simonpj]
Catch an exception in Template Haskell code

Merge to STABLE

If the code run by a Template Haskell splice fails with, say,
a pattern-match failure, we should not report it as a GHC panic.
It's a bug in the user's program.

This commit fixes up the exception handling to do the right thing.

Fixes SourceForge item #1201666

TH_fail tests it.

18 years ago[project @ 2005-05-19 07:56:58 by simonpj]
simonpj [Thu, 19 May 2005 07:56:58 +0000 (07:56 +0000)]
[project @ 2005-05-19 07:56:58 by simonpj]
Make sure the default methods are in scope
in a Template Haskell splice

Merge to STABLE

This was just a typo really; in TcRnDriver.tcTopSrcDecls there were two
tcl_envs, but one had a different name so we got the less up-to-date one.

Fixes SourceForge item #1194808

TH_spliceInst tests it.

18 years ago[project @ 2005-05-18 15:34:27 by simonpj]
simonpj [Wed, 18 May 2005 15:34:27 +0000 (15:34 +0000)]
[project @ 2005-05-18 15:34:27 by simonpj]
Stuff about building on windows, mainly from Claus

18 years ago[project @ 2005-05-18 14:21:49 by simonmar]
simonmar [Wed, 18 May 2005 14:21:49 +0000 (14:21 +0000)]
[project @ 2005-05-18 14:21:49 by simonmar]
Slop-filling fix for SMP (and squash duplicate code)

18 years ago[project @ 2005-05-18 14:19:12 by simonmar]
simonmar [Wed, 18 May 2005 14:19:12 +0000 (14:19 +0000)]
[project @ 2005-05-18 14:19:12 by simonmar]
Slop-filling fixes for SMP/DEBUG

18 years ago[project @ 2005-05-18 13:10:21 by simonmar]
simonmar [Wed, 18 May 2005 13:10:21 +0000 (13:10 +0000)]
[project @ 2005-05-18 13:10:21 by simonmar]
Fix unreg build on Windows

18 years ago[project @ 2005-05-18 12:14:03 by simonmar]
simonmar [Wed, 18 May 2005 12:14:03 +0000 (12:14 +0000)]
[project @ 2005-05-18 12:14:03 by simonmar]
We should be using ASSIGN_DBL/PK_DBL for stores/loads respectively of
doubles.  Hopefully fixes SIGBUS on HPPA, and possible Sparc too.

18 years ago[project @ 2005-05-18 12:06:51 by simonmar]
simonmar [Wed, 18 May 2005 12:06:51 +0000 (12:06 +0000)]
[project @ 2005-05-18 12:06:51 by simonmar]
revert rev. 1.71

18 years ago[project @ 2005-05-18 09:43:50 by simonmar]
simonmar [Wed, 18 May 2005 09:43:50 +0000 (09:43 +0000)]
[project @ 2005-05-18 09:43:50 by simonmar]
Fix and hopefully rationalise the #ifdefs for rawSystem/system/runProcess.

18 years ago[project @ 2005-05-18 04:02:39 by wolfgang]
wolfgang [Wed, 18 May 2005 04:02:39 +0000 (04:02 +0000)]
[project @ 2005-05-18 04:02:39 by wolfgang]
Use constructor functions instead of stginit functions on Win32, too.
(stginit functions are still used for profiling)

18 years ago[project @ 2005-05-18 03:54:47 by wolfgang]
wolfgang [Wed, 18 May 2005 03:54:47 +0000 (03:54 +0000)]
[project @ 2005-05-18 03:54:47 by wolfgang]
Make the Windows version of the Linker ignore constructors rather than abort
(just as it does on other platforms)

18 years ago[project @ 2005-05-17 15:03:38 by simonmar]
simonmar [Tue, 17 May 2005 15:03:38 +0000 (15:03 +0000)]
[project @ 2005-05-17 15:03:38 by simonmar]
more import fixing

18 years ago[project @ 2005-05-17 14:55:46 by simonmar]
simonmar [Tue, 17 May 2005 14:55:46 +0000 (14:55 +0000)]
[project @ 2005-05-17 14:55:46 by simonmar]
import fix

18 years ago[project @ 2005-05-17 13:47:39 by simonmar]
simonmar [Tue, 17 May 2005 13:47:39 +0000 (13:47 +0000)]
[project @ 2005-05-17 13:47:39 by simonmar]
closureDescription: remove duplicate module name for external names,
and include the unique for local names.  This makes profiling with -hd
more uesful.

18 years ago[project @ 2005-05-17 13:06:15 by simonmar]
simonmar [Tue, 17 May 2005 13:06:15 +0000 (13:06 +0000)]
[project @ 2005-05-17 13:06:15 by simonmar]
remove duplicate export

18 years ago[project @ 2005-05-17 13:05:45 by simonmar]
simonmar [Tue, 17 May 2005 13:05:45 +0000 (13:05 +0000)]
[project @ 2005-05-17 13:05:45 by simonmar]
Add showSDocDump

18 years ago[project @ 2005-05-17 12:34:13 by simonmar]
simonmar [Tue, 17 May 2005 12:34:13 +0000 (12:34 +0000)]
[project @ 2005-05-17 12:34:13 by simonmar]
Build thr_debug by default

18 years ago[project @ 2005-05-17 12:22:37 by simonmar]
simonmar [Tue, 17 May 2005 12:22:37 +0000 (12:22 +0000)]
[project @ 2005-05-17 12:22:37 by simonmar]
Profiling: the type_descr and closure_descr were the wrong way around,
so +RTS -hy behaves like +RTS -hd, and vice-versa.  How on earth that
happened I have no idea.

18 years ago[project @ 2005-05-17 12:00:04 by simonmar]
simonmar [Tue, 17 May 2005 12:00:04 +0000 (12:00 +0000)]
[project @ 2005-05-17 12:00:04 by simonmar]
Improve source locations on error messages from the downsweep.  We now
keep track of SrcSpans from import declarations, so we can report a
proper source location for unknown imports (this improves on the
previous hacky solution of keeping track of the filename that
contained the original import declaration).

ModSummary now contains (Located Module) for each import instead of Module.

18 years ago[project @ 2005-05-17 11:01:59 by simonmar]
simonmar [Tue, 17 May 2005 11:02:00 +0000 (11:02 +0000)]
[project @ 2005-05-17 11:01:59 by simonmar]
Further tweaks to the filename handling.

18 years ago[project @ 2005-05-17 10:51:04 by simonmar]
simonmar [Tue, 17 May 2005 10:51:05 +0000 (10:51 +0000)]
[project @ 2005-05-17 10:51:04 by simonmar]
Rationalise the filename handling in a few places, taking some bits
from the defunct System.FilePath library.  Also fixes a bug I recently
introduced in replaceFilenameDirectory.

18 years ago[project @ 2005-05-17 09:48:27 by krasimir]
krasimir [Tue, 17 May 2005 09:48:27 +0000 (09:48 +0000)]
[project @ 2005-05-17 09:48:27 by krasimir]
Use runProcess instead of system if the former is available and we would like
to redirect stdout of the new process. system is unsafe if you have spaces
in the file path or you have / instead of \ on Windows.

18 years ago[project @ 2005-05-17 09:46:22 by simonmar]
simonmar [Tue, 17 May 2005 09:46:22 +0000 (09:46 +0000)]
[project @ 2005-05-17 09:46:22 by simonmar]
replaceFilenameSuffix: fix

18 years ago[project @ 2005-05-17 09:40:51 by simonmar]
simonmar [Tue, 17 May 2005 09:40:51 +0000 (09:40 +0000)]
[project @ 2005-05-17 09:40:51 by simonmar]
Add modInfoInstances

18 years ago[project @ 2005-05-17 09:21:53 by simonmar]
simonmar [Tue, 17 May 2005 09:21:53 +0000 (09:21 +0000)]
[project @ 2005-05-17 09:21:53 by simonmar]
More commentary

18 years ago[project @ 2005-05-17 08:48:28 by simonmar]
simonmar [Tue, 17 May 2005 08:48:28 +0000 (08:48 +0000)]
[project @ 2005-05-17 08:48:28 by simonmar]
expand comment

18 years ago[project @ 2005-05-17 07:49:47 by simonmar]
simonmar [Tue, 17 May 2005 07:49:47 +0000 (07:49 +0000)]
[project @ 2005-05-17 07:49:47 by simonmar]
Bugfix to previous commit: filenames without an extension are assumed
to be a haskell source filenames with the extension removed (eg. ghc
--make hello should compile hello.hs).

18 years ago[project @ 2005-05-17 07:48:20 by simonmar]
simonmar [Tue, 17 May 2005 07:48:20 +0000 (07:48 +0000)]
[project @ 2005-05-17 07:48:20 by simonmar]
small cleanup: use joinFileExt

18 years ago[project @ 2005-05-16 14:40:06 by simonmar]
simonmar [Mon, 16 May 2005 14:40:06 +0000 (14:40 +0000)]
[project @ 2005-05-16 14:40:06 by simonmar]
document +RTS -I

18 years ago[project @ 2005-05-16 14:39:54 by simonmar]
simonmar [Mon, 16 May 2005 14:39:54 +0000 (14:39 +0000)]
[project @ 2005-05-16 14:39:54 by simonmar]
Set BINDIST_DOC_WAYS appropriately depending on which doc-building
tools are available.  The default is to build all of html, ps & pdf if
possible.

18 years ago[project @ 2005-05-16 14:27:07 by simonmar]
simonmar [Mon, 16 May 2005 14:27:08 +0000 (14:27 +0000)]
[project @ 2005-05-16 14:27:07 by simonmar]
Allow the amount of idle time which must pass before we force a major
GC to be configured at runtime with the +RTS -I<secs> option.

The idle GC only happens in the threaded RTS, and it is useful because
it can make finalizers run more promptly, and also detect cases of
deadlock.  Without the idle GC, Haskell computation must be taking
place in order for finalizers to run or deadlock to be detected, and
the only way some Haskell computation can take place is usually by
in-calls.

+RTS -I0 turns off the idle GC, the default is +RTS -I0.3.

We might need to add more tuning if it turns out that the idle GC is
problematic, for example we don't check how long the GC actually took,
and we should probably back off if major GCs are taking too long and
adversely affecting interactive responsiveness.

18 years ago[project @ 2005-05-16 13:47:57 by simonmar]
simonmar [Mon, 16 May 2005 13:47:58 +0000 (13:47 +0000)]
[project @ 2005-05-16 13:47:57 by simonmar]
Implement -x <suffix> flag to override the suffix of a filename for
the purposes of determinig how it should be compiled.  The usage is
similar to gcc, except that we just use a suffix rather than a name
for the language. eg.

   ghc -c -x hs hello.blah

will pretend hello.blah is a .hs file.  Another possible use is -x
hspp, which skips preprocessing.

This works for one-shot compilation, --make, GHCi, and ghc -e.  The
original idea was to make it possible to use runghc on a file that
doesn't end in .hs, so changes to runghc will follow.

Also, I made it possible to specify .c files and other kinds of files
on the --make command line; these will be compiled to objects as
normal and linked into the final executable.

GHC API change: I had to extend the Target type to include an optional
start phase, and also GHC.guessTarget now takes a (Maybe Phase) argument.

I thought this would be half an hour, in fact it took half a day, and
I still haven't documented it.  Sigh.

18 years ago[project @ 2005-05-16 13:21:11 by krasimir]
krasimir [Mon, 16 May 2005 13:21:11 +0000 (13:21 +0000)]
[project @ 2005-05-16 13:21:11 by krasimir]
added modInfoIsExportedName & modInfoLookupName functions

18 years ago[project @ 2005-05-16 12:40:14 by simonpj]
simonpj [Mon, 16 May 2005 12:40:14 +0000 (12:40 +0000)]
[project @ 2005-05-16 12:40:14 by simonpj]
Better debug-printing for -ddump-inlinings

18 years ago[project @ 2005-05-16 12:39:55 by simonpj]
simonpj [Mon, 16 May 2005 12:39:55 +0000 (12:39 +0000)]
[project @ 2005-05-16 12:39:55 by simonpj]
Dont print result type for Core case-expressions (too voluminous)

18 years ago[project @ 2005-05-16 12:39:15 by simonpj]
simonpj [Mon, 16 May 2005 12:39:15 +0000 (12:39 +0000)]
[project @ 2005-05-16 12:39:15 by simonpj]
Add assertions (only)

18 years ago[project @ 2005-05-16 12:38:38 by simonpj]
simonpj [Mon, 16 May 2005 12:38:38 +0000 (12:38 +0000)]
[project @ 2005-05-16 12:38:38 by simonpj]
Newtype representation

Merge to STABLE

This commit fixes a long-standing bug (simple clerical error) in mkNewTyConRep,
which for some reason had gone un-discovered for years.

tc183 tests it.

18 years ago[project @ 2005-05-16 09:24:53 by simonmar]
simonmar [Mon, 16 May 2005 09:24:53 +0000 (09:24 +0000)]
[project @ 2005-05-16 09:24:53 by simonmar]
- re-initalise cap on returning from STG land, because we might now
  have a different capability.  ToDo: we should pass it back somehow,
  rather than looking it up in the hash table

- export unblockOneLocked (we'll need this later)

18 years ago[project @ 2005-05-15 03:20:29 by wolfgang]
wolfgang [Sun, 15 May 2005 03:20:29 +0000 (03:20 +0000)]
[project @ 2005-05-15 03:20:29 by wolfgang]
Reinstate __stginit_Foo functions even when they don't do anything, because
they are part of the documented interface (as discussed on cvs-ghc, Apr 26).

18 years ago[project @ 2005-05-15 02:46:27 by wolfgang]
wolfgang [Sun, 15 May 2005 02:46:27 +0000 (02:46 +0000)]
[project @ 2005-05-15 02:46:27 by wolfgang]
Clean up things by making PicBaseReg a constructor of GlobalReg instead
of CmmExpr.

18 years ago[project @ 2005-05-14 13:34:11 by panne]
panne [Sat, 14 May 2005 13:34:11 +0000 (13:34 +0000)]
[project @ 2005-05-14 13:34:11 by panne]
Include Cabal documentation in the RPM

18 years ago[project @ 2005-05-14 09:59:32 by panne]
panne [Sat, 14 May 2005 09:59:32 +0000 (09:59 +0000)]
[project @ 2005-05-14 09:59:32 by panne]
Fixed previous commit

18 years ago[project @ 2005-05-13 15:06:13 by krasimir]
krasimir [Fri, 13 May 2005 15:06:13 +0000 (15:06 +0000)]
[project @ 2005-05-13 15:06:13 by krasimir]
replace emptyNodeMap with old_summary_map.

18 years ago[project @ 2005-05-13 14:28:59 by simonmar]
simonmar [Fri, 13 May 2005 14:28:59 +0000 (14:28 +0000)]
[project @ 2005-05-13 14:28:59 by simonmar]
gcc 4.0.0 fix: don't declare static total_prof_ticks as extern

18 years ago[project @ 2005-05-13 14:27:56 by simonmar]
simonmar [Fri, 13 May 2005 14:27:56 +0000 (14:27 +0000)]
[project @ 2005-05-13 14:27:56 by simonmar]
gcc 4.0.0 fix: don't declare static static_objects as extern

18 years ago[project @ 2005-05-13 14:27:09 by simonmar]
simonmar [Fri, 13 May 2005 14:27:09 +0000 (14:27 +0000)]
[project @ 2005-05-13 14:27:09 by simonmar]
gcc 4.0.0 fix: avoid casted expression as lvalue

18 years ago[project @ 2005-05-13 10:59:28 by simonmar]
simonmar [Fri, 13 May 2005 10:59:28 +0000 (10:59 +0000)]
[project @ 2005-05-13 10:59:28 by simonmar]
Add undocumented :check command, for testing GHC.checkModule

18 years ago[project @ 2005-05-13 10:58:10 by simonmar]
simonmar [Fri, 13 May 2005 10:58:10 +0000 (10:58 +0000)]
[project @ 2005-05-13 10:58:10 by simonmar]
Add debug_s way

18 years ago[project @ 2005-05-13 10:18:35 by simonmar]
simonmar [Fri, 13 May 2005 10:18:35 +0000 (10:18 +0000)]
[project @ 2005-05-13 10:18:35 by simonmar]
Export nameModule

18 years ago[project @ 2005-05-13 10:05:32 by krasimir]
krasimir [Fri, 13 May 2005 10:05:33 +0000 (10:05 +0000)]
[project @ 2005-05-13 10:05:32 by krasimir]
Fixed install-docs

18 years ago[project @ 2005-05-13 09:39:00 by simonmar]
simonmar [Fri, 13 May 2005 09:39:00 +0000 (09:39 +0000)]
[project @ 2005-05-13 09:39:00 by simonmar]
summariseFile: use a cached summary if one is available.  Previously
we always preprocessed modules named by filename on each reload.

18 years ago[project @ 2005-05-13 01:46:20 by dons]
dons [Fri, 13 May 2005 01:46:20 +0000 (01:46 +0000)]
[project @ 2005-05-13 01:46:20 by dons]
Have SplitObjs=YES by default only on i386, powerpc and sparc.
Lowers the barrier to porting just a little.

18 years ago[project @ 2005-05-12 16:51:03 by simonpj]
simonpj [Thu, 12 May 2005 16:51:03 +0000 (16:51 +0000)]
[project @ 2005-05-12 16:51:03 by simonpj]
Fix bad interaction between operators and higher-rank types
Fixes Source bug #1200592 [GHC fails to pass dictionary in a rank-2 situation]

Merge to STABLE

18 years ago[project @ 2005-05-12 16:27:00 by simonmar]
simonmar [Thu, 12 May 2005 16:27:00 +0000 (16:27 +0000)]
[project @ 2005-05-12 16:27:00 by simonmar]
A start on a commentary section about the threaded/SMP runtime.  This
will replace the old section which is a bit out of date now.

18 years ago[project @ 2005-05-12 12:55:32 by chak]
chak [Thu, 12 May 2005 12:55:32 +0000 (12:55 +0000)]
[project @ 2005-05-12 12:55:32 by chak]
Added a new section that describes GHC's hybrid type representation
`TypeRep.Type' and it's friends.  This sufficiently subtle and GHC-specific
that it warrants extra treatment outside of the section on type checking.

18 years ago[project @ 2005-05-12 11:36:50 by stolz]
stolz [Thu, 12 May 2005 11:36:50 +0000 (11:36 +0000)]
[project @ 2005-05-12 11:36:50 by stolz]
C89ify recent change

18 years ago[project @ 2005-05-12 11:11:58 by simonmar]
simonmar [Thu, 12 May 2005 11:11:58 +0000 (11:11 +0000)]
[project @ 2005-05-12 11:11:58 by simonmar]
SMP: we need to assign the result of resumeThread to BaseReg, because
we might now have a new Capability.  (this was an interesting bug to find...)

18 years ago[project @ 2005-05-12 10:32:40 by simonmar]
simonmar [Thu, 12 May 2005 10:32:40 +0000 (10:32 +0000)]
[project @ 2005-05-12 10:32:40 by simonmar]
Declare checkNurserySanity()

18 years ago[project @ 2005-05-12 10:03:42 by simonmar]
simonmar [Thu, 12 May 2005 10:03:42 +0000 (10:03 +0000)]
[project @ 2005-05-12 10:03:42 by simonmar]
Fix more bugginess in allocateLocal().

18 years ago[project @ 2005-05-11 12:52:05 by simonmar]
simonmar [Wed, 11 May 2005 12:52:05 +0000 (12:52 +0000)]
[project @ 2005-05-11 12:52:05 by simonmar]
Another large block fix.

18 years ago[project @ 2005-05-11 12:45:55 by simonmar]
simonmar [Wed, 11 May 2005 12:45:55 +0000 (12:45 +0000)]
[project @ 2005-05-11 12:45:55 by simonmar]
allocating a large block: bump the block count on the nursery step,
rather than the global alloc_blocks counter.  Also, change the
heap-full check to be "nursery full" rather than
alloc_blocks>=alloc_blocks_lim.

18 years ago[project @ 2005-05-11 12:44:26 by simonmar]
simonmar [Wed, 11 May 2005 12:44:26 +0000 (12:44 +0000)]
[project @ 2005-05-11 12:44:26 by simonmar]
allocateLocal(): bump the block count on the step, not the global
alloc_blocks count.

18 years ago[project @ 2005-05-11 12:43:48 by simonmar]
simonmar [Wed, 11 May 2005 12:43:48 +0000 (12:43 +0000)]
[project @ 2005-05-11 12:43:48 by simonmar]
SMP: add a missing insertHashTable()

18 years ago[project @ 2005-05-11 09:51:50 by simonmar]
simonmar [Wed, 11 May 2005 09:51:50 +0000 (09:51 +0000)]
[project @ 2005-05-11 09:51:50 by simonmar]
restore rev. 1.189, which appears to have been spammed in
rev. 1.190 (my fault, by the looks of it).

18 years ago[project @ 2005-05-11 09:09:03 by simonmar]
simonmar [Wed, 11 May 2005 09:09:03 +0000 (09:09 +0000)]
[project @ 2005-05-11 09:09:03 by simonmar]
Fix double-linking bug in new allocateLocal(), and fix one warning

18 years ago[project @ 2005-05-11 00:31:11 by sof]
sof [Wed, 11 May 2005 00:31:11 +0000 (00:31 +0000)]
[project @ 2005-05-11 00:31:11 by sof]
ocResolve_PEi386(): updated comment re: REL32/DISP32 relocations

19 years ago[project @ 2005-05-10 13:25:41 by simonmar]
simonmar [Tue, 10 May 2005 13:25:43 +0000 (13:25 +0000)]
[project @ 2005-05-10 13:25:41 by simonmar]
Two SMP-related changes:

  - New storage manager interface:

    bdescr *allocateLocal(StgRegTable *reg, nat words)

    which allocates from the current thread's nursery (being careful
    not to clash with the heap pointer).  It can do this without
    taking any locks; the lock only has to be taken if a block needs
    to be allocated.  allocateLocal() is now used instead of allocate()
    in a few PrimOps.

    This removes locks from most Integer operations, cutting down
    the overhead for SMP a bit more.

    To make this work, we have to be able to grab the current thread's
    Capability out of thin air (i.e. when called from GMP), so the
    Capability subsystem needs to keep a hash from thread IDs to
    Capabilities.

  - Small MVar optimisation: instead of taking the global
    storage-manager lock, do our own locking of MVars with a bit of
    inline assembly (x86 only for now).

19 years ago[project @ 2005-05-10 10:41:00 by simonmar]
simonmar [Tue, 10 May 2005 10:41:00 +0000 (10:41 +0000)]
[project @ 2005-05-10 10:41:00 by simonmar]
Mangler support for GNU/Hurd.

From: Thomas Schwinge

19 years ago[project @ 2005-05-10 10:35:57 by simonmar]
simonmar [Tue, 10 May 2005 10:35:57 +0000 (10:35 +0000)]
[project @ 2005-05-10 10:35:57 by simonmar]
Add -I options to SRC_CC_OPTS for bootstrapping

From: Thomas Schwinge

19 years ago[project @ 2005-05-10 10:29:49 by simonmar]
simonmar [Tue, 10 May 2005 10:29:49 +0000 (10:29 +0000)]
[project @ 2005-05-10 10:29:49 by simonmar]
Bootstrap fix from GNU/Hurd port

From: Thomas Schwinge

19 years ago[project @ 2005-05-10 10:27:20 by simonmar]
simonmar [Tue, 10 May 2005 10:27:20 +0000 (10:27 +0000)]
[project @ 2005-05-10 10:27:20 by simonmar]
GNU/Hurd platform (from Thomas Schwinge
<schwinge-list-ghc-users@nic-nac-project.de>)

19 years ago[project @ 2005-05-10 10:08:50 by simonmar]
simonmar [Tue, 10 May 2005 10:08:50 +0000 (10:08 +0000)]
[project @ 2005-05-10 10:08:50 by simonmar]
-ignore-package lang if GHC >= 6.3, fixes build breakage if wxHaskell
 is installed.

19 years ago[project @ 2005-05-09 13:25:07 by chak]
chak [Mon, 9 May 2005 13:25:07 +0000 (13:25 +0000)]
[project @ 2005-05-09 13:25:07 by chak]
More details about type checking.

19 years ago[project @ 2005-05-09 10:18:05 by simonmar]
simonmar [Mon, 9 May 2005 10:18:05 +0000 (10:18 +0000)]
[project @ 2005-05-09 10:18:05 by simonmar]
printAllThreads: handle ThreadRelocated

19 years ago[project @ 2005-05-09 10:10:33 by simonmar]
simonmar [Mon, 9 May 2005 10:10:33 +0000 (10:10 +0000)]
[project @ 2005-05-09 10:10:33 by simonmar]
deleteAllThreads: handle ThreadRelocated

19 years ago[project @ 2005-05-09 09:00:04 by simonmar]
simonmar [Mon, 9 May 2005 09:00:04 +0000 (09:00 +0000)]
[project @ 2005-05-09 09:00:04 by simonmar]
ProjectPatchLevel hack: the STABLE branch versions now look like
6.4.1.20050508 which confuses the compiler which thinks
ProjectPatchLevel should be an Int.