ghc-hetmet.git
19 years ago[project @ 2005-04-24 20:17:28 by panne]
panne [Sun, 24 Apr 2005 20:17:28 +0000 (20:17 +0000)]
[project @ 2005-04-24 20:17:28 by panne]
Nuked dead code

19 years ago[project @ 2005-04-24 20:10:55 by panne]
panne [Sun, 24 Apr 2005 20:10:55 +0000 (20:10 +0000)]
[project @ 2005-04-24 20:10:55 by panne]
No -optc prefix fot GhcRtsCcOpts needed

19 years ago[project @ 2005-04-23 22:02:31 by simonmar]
simonmar [Sat, 23 Apr 2005 22:02:31 +0000 (22:02 +0000)]
[project @ 2005-04-23 22:02:31 by simonmar]
Fix comment

19 years ago[project @ 2005-04-23 09:56:06 by panne]
panne [Sat, 23 Apr 2005 09:56:06 +0000 (09:56 +0000)]
[project @ 2005-04-23 09:56:06 by panne]
ATTENTION: Make it compile again, but only via a wild and probably
wrong guess which might break GHCi. SimonM, please have a look at
this. (Who broke it should fix it! :-)

19 years ago[project @ 2005-04-23 03:10:18 by sof]
sof [Sat, 23 Apr 2005 03:10:18 +0000 (03:10 +0000)]
[project @ 2005-04-23 03:10:18 by sof]
tweak to handle ghc-6.1 compilation. Merge to STABLE

19 years ago[project @ 2005-04-23 03:07:23 by sof]
sof [Sat, 23 Apr 2005 03:07:23 +0000 (03:07 +0000)]
[project @ 2005-04-23 03:07:23 by sof]
added ghc_ge_602. Merge to STABLE

19 years ago[project @ 2005-04-22 22:00:00 by simonmar]
simonmar [Fri, 22 Apr 2005 22:00:00 +0000 (22:00 +0000)]
[project @ 2005-04-22 22:00:00 by simonmar]
Don't split in here

19 years ago[project @ 2005-04-22 21:57:42 by simonmar]
simonmar [Fri, 22 Apr 2005 21:57:42 +0000 (21:57 +0000)]
[project @ 2005-04-22 21:57:42 by simonmar]
Fix a comment

19 years ago[project @ 2005-04-22 21:54:37 by simonmar]
simonmar [Fri, 22 Apr 2005 21:56:48 +0000 (21:56 +0000)]
[project @ 2005-04-22 21:54:37 by simonmar]
enable splitting on x86_64

19 years ago[project @ 2005-04-22 21:54:08 by simonmar]
simonmar [Fri, 22 Apr 2005 21:54:08 +0000 (21:54 +0000)]
[project @ 2005-04-22 21:54:08 by simonmar]
splitting support on x86_64

19 years ago[project @ 2005-04-22 21:16:27 by simonmar]
simonmar [Fri, 22 Apr 2005 21:16:27 +0000 (21:16 +0000)]
[project @ 2005-04-22 21:16:27 by simonmar]
fix uses of stderr

19 years ago[project @ 2005-04-22 17:50:13 by sof]
sof [Fri, 22 Apr 2005 17:50:13 +0000 (17:50 +0000)]
[project @ 2005-04-22 17:50:13 by sof]
Switch to a manual-reset event for the completed-console-event object;
with auto-reset, we ran the risk of leaving it in a signalled state.

Merge to STABLE.

19 years ago[project @ 2005-04-22 17:15:51 by sof]
sof [Fri, 22 Apr 2005 17:15:51 +0000 (17:15 +0000)]
[project @ 2005-04-22 17:15:51 by sof]
Switch away from using _spawnv() to CreateProcess(); the former has the
annoying 'feature' that it quits upon Ctrl-C, leaving its child in the
background. Use CreateProcess() instead and avoid the Ctrl-C issue by
having the wrapper let go of its console before waiting for the sub-process
running GHCi to exit.

This still doesn't fix the issue of Ctrl-C handling when the 'ghci' wrapper
is invoked from a cygwin-based bash. cmd.exe users will hopefully see
an improvement in behaviour though.

Merge to STABLE.

19 years ago[project @ 2005-04-22 17:00:48 by sof]
sof [Fri, 22 Apr 2005 17:00:49 +0000 (17:00 +0000)]
[project @ 2005-04-22 17:00:48 by sof]
[mingw only]
Better handling of I/O request abortions upon throwing an exception
to a Haskell thread. As was, a thread blocked on an I/O request was
simply unblocked, but its corresponding worker thread wasn't notified
that the request had been abandoned.

This manifested itself in GHCi upon Ctrl-C being hit at the prompt -- the
worker thread blocked waiting for input on stdin prior to Ctrl-C would
stick around even though its corresponding Haskell thread had been
thrown an Interrupted exception. The upshot was that the worker would
consume the next character typed in after Ctrl-C, but then just dropping
it. Dealing with this turned out to be even more interesting due to
Win32 aborting any console reads when Ctrl-C/Break events are delivered.

The story could be improved upon (at the cost of portability) by making
the Scheduler able to abort worker thread system calls; as is, requests
are cooperatively abandoned. Maybe later.

Also included are other minor tidyups to Ctrl-C handling under mingw.

Merge to STABLE.

19 years ago[project @ 2005-04-22 16:53:48 by sof]
sof [Fri, 22 Apr 2005 16:53:48 +0000 (16:53 +0000)]
[project @ 2005-04-22 16:53:48 by sof]
oops;supposed to have been included with revert-back-to-__stginit-for-mingw commit

19 years ago[project @ 2005-04-22 16:49:38 by sof]
sof [Fri, 22 Apr 2005 16:49:38 +0000 (16:49 +0000)]
[project @ 2005-04-22 16:49:38 by sof]
resetStaticObjectForRetainerProfiling(): warning wibble

19 years ago[project @ 2005-04-22 16:01:53 by sof]
sof [Fri, 22 Apr 2005 16:01:54 +0000 (16:01 +0000)]
[project @ 2005-04-22 16:01:53 by sof]
Until the GHCi linker is made capable of handling .ctors sections in
PEi object files, stick with __stginits. Being a bit sloppy by
using 'mingw32_HOST_OS' to test for this.

19 years ago[project @ 2005-04-22 14:19:07 by simonmar]
simonmar [Fri, 22 Apr 2005 14:19:07 +0000 (14:19 +0000)]
[project @ 2005-04-22 14:19:07 by simonmar]
Fix creation of raise_info closures: they're THUNKs

19 years ago[project @ 2005-04-22 14:18:29 by simonmar]
simonmar [Fri, 22 Apr 2005 14:18:29 +0000 (14:18 +0000)]
[project @ 2005-04-22 14:18:29 by simonmar]
evacuate(): fix THUNK case

19 years ago[project @ 2005-04-22 13:12:41 by simonmar]
simonmar [Fri, 22 Apr 2005 13:12:41 +0000 (13:12 +0000)]
[project @ 2005-04-22 13:12:41 by simonmar]
checkSanity: fix bug in nursery checking

19 years ago[project @ 2005-04-22 13:05:51 by simonmar]
simonmar [Fri, 22 Apr 2005 13:05:51 +0000 (13:05 +0000)]
[project @ 2005-04-22 13:05:51 by simonmar]
SAVE_EVERYTHING: for some reason we used R10.w rather than R10 in this
macro, which just broke with the change to the C backend.

19 years ago[project @ 2005-04-22 12:28:00 by simonmar]
simonmar [Fri, 22 Apr 2005 12:28:01 +0000 (12:28 +0000)]
[project @ 2005-04-22 12:28:00 by simonmar]
- Now that labels are always prefixed with '&' in .hc code, we have to
  fix some sloppiness in the RTS .cmm code.  Fortunately it's not too
  painful.

- SMP: acquire/release the storage manager lock around
  atomicModifyMutVar#.  This is a hack: atomicModifyMutVar# isn't
  atomic under SMP otherwise, but the SM lock is a large sledgehammer.
  I think I'll apply the sledgehammer to the MVar primitives too, for
  the time being.

19 years ago[project @ 2005-04-22 11:20:22 by simonmar]
simonmar [Fri, 22 Apr 2005 11:20:22 +0000 (11:20 +0000)]
[project @ 2005-04-22 11:20:22 by simonmar]
rtsSupportsBoundThreads, isThreadBound: these should return rtsTrue
for SMP too.

19 years ago[project @ 2005-04-22 10:21:10 by simonmar]
simonmar [Fri, 22 Apr 2005 10:21:10 +0000 (10:21 +0000)]
[project @ 2005-04-22 10:21:10 by simonmar]
pprLit: when printing a CLabel, prefix it with '&'.  This ensures we
get the address rather than the value, in the case when the C label
refers to a variable (as might be the case if it is from a foreign
import, for example).

19 years ago[project @ 2005-04-22 10:01:20 by simonmar]
simonmar [Fri, 22 Apr 2005 10:01:20 +0000 (10:01 +0000)]
[project @ 2005-04-22 10:01:20 by simonmar]
Remove bogus cut-n-pasted comment

19 years ago[project @ 2005-04-22 09:32:39 by simonmar]
simonmar [Fri, 22 Apr 2005 09:32:40 +0000 (09:32 +0000)]
[project @ 2005-04-22 09:32:39 by simonmar]
SMP: the rest of the changes to support safe thunk entry & updates.  I
thought the compiler changes were independent, but I ended up breaking
the HEAD, so I'll have to commit the rest.  non-SMP compilation should
not be affected.

19 years ago[project @ 2005-04-22 08:58:36 by simonmar]
simonmar [Fri, 22 Apr 2005 08:58:36 +0000 (08:58 +0000)]
[project @ 2005-04-22 08:58:36 by simonmar]
Add a comment about possible improvement to the THUNK_SELECTOR
algorithm, from discussion with Ian Lynagh

19 years ago[project @ 2005-04-22 08:41:00 by simonmar]
simonmar [Fri, 22 Apr 2005 08:41:00 +0000 (08:41 +0000)]
[project @ 2005-04-22 08:41:00 by simonmar]
Various fixes to ghcprof, from Christian Maeder <maeder@tzi.de>.  Thanks!

19 years ago[project @ 2005-04-22 02:10:10 by simonpj]
simonpj [Fri, 22 Apr 2005 02:10:10 +0000 (02:10 +0000)]
[project @ 2005-04-22 02:10:10 by simonpj]
Fix hi-boot interface-finding code

19 years ago[project @ 2005-04-21 15:28:20 by simonmar]
simonmar [Thu, 21 Apr 2005 15:28:20 +0000 (15:28 +0000)]
[project @ 2005-04-21 15:28:20 by simonmar]
SMP: thunks get an extra header word so that the payload doesn't
occupy the same space as the updated value.  This is the sum total of
the changes to compiler/, which are pleasingly few.

19 years ago[project @ 2005-04-21 10:06:17 by simonmar]
simonmar [Thu, 21 Apr 2005 10:06:17 +0000 (10:06 +0000)]
[project @ 2005-04-21 10:06:17 by simonmar]
Allow args to be passed to GHC from runghc

  syntax: runghc [-f GHCPATH] [GHC-ARGS] FILE ARG...

19 years ago[project @ 2005-04-21 09:25:40 by simonmar]
simonmar [Thu, 21 Apr 2005 09:25:40 +0000 (09:25 +0000)]
[project @ 2005-04-21 09:25:40 by simonmar]
ghcprof is a perl script, not a binary

19 years ago[project @ 2005-04-20 13:58:00 by simonmar]
simonmar [Wed, 20 Apr 2005 13:58:00 +0000 (13:58 +0000)]
[project @ 2005-04-20 13:58:00 by simonmar]
Remove bogus code: the mutable list does not need to be rebuilt during
compaction.  It just needs to be updated, which is already happening.

(fixes crashes in compacting collection; I think a different fix is
required for STABLE, though)

19 years ago[project @ 2005-04-20 13:56:43 by simonmar]
simonmar [Wed, 20 Apr 2005 13:56:43 +0000 (13:56 +0000)]
[project @ 2005-04-20 13:56:43 by simonmar]
Update to match ClosureTypes.h

19 years ago[project @ 2005-04-20 13:56:18 by simonmar]
simonmar [Wed, 20 Apr 2005 13:56:18 +0000 (13:56 +0000)]
[project @ 2005-04-20 13:56:18 by simonmar]
remove gaps in the closure type sequence, and add a big warning comment

19 years ago[project @ 2005-04-20 13:50:04 by krasimir]
krasimir [Wed, 20 Apr 2005 13:50:04 +0000 (13:50 +0000)]
[project @ 2005-04-20 13:50:04 by krasimir]
modInfoExports, TypecheckedSource and ParsedSource are exported.
Added modInfoPrintUnqualified function.

19 years ago[project @ 2005-04-19 15:28:35 by simonmar]
simonmar [Tue, 19 Apr 2005 15:28:35 +0000 (15:28 +0000)]
[project @ 2005-04-19 15:28:35 by simonmar]
- DriverPipeline.compile: report errors in GHC_OPTIONS pragmas using the
  Message callback, and give them a proper line number.

- GHC.checkModule: read the GHC_OPTIONS pragma, and report errors
  appropriately.

19 years ago[project @ 2005-04-19 14:24:55 by simonmar]
simonmar [Tue, 19 Apr 2005 14:24:55 +0000 (14:24 +0000)]
[project @ 2005-04-19 14:24:55 by simonmar]
main_thread double-linkage bug

19 years ago[project @ 2005-04-19 13:39:41 by simonmar]
simonmar [Tue, 19 Apr 2005 13:39:41 +0000 (13:39 +0000)]
[project @ 2005-04-19 13:39:41 by simonmar]
In the event of a complete deadlock, we should handle the case when
the main thread is BlockedOnSTM (bug #1183455, the strange error
message only occurs on Windows because on Unix we end up waiting for
^C instead of deadlocking).

19 years ago[project @ 2005-04-19 13:19:37 by simonmar]
simonmar [Tue, 19 Apr 2005 13:19:37 +0000 (13:19 +0000)]
[project @ 2005-04-19 13:19:37 by simonmar]
Turn off splitting on x86_64

19 years ago[project @ 2005-04-19 12:50:52 by simonmar]
simonmar [Tue, 19 Apr 2005 12:50:52 +0000 (12:50 +0000)]
[project @ 2005-04-19 12:50:52 by simonmar]
Pass -ignore-dot-ghci to GHC

19 years ago[project @ 2005-04-19 12:29:56 by simonmar]
simonmar [Tue, 19 Apr 2005 12:29:56 +0000 (12:29 +0000)]
[project @ 2005-04-19 12:29:56 by simonmar]
Now build.mk.sample does *nothing* by default

19 years ago[project @ 2005-04-17 11:13:30 by panne]
panne [Sun, 17 Apr 2005 11:13:30 +0000 (11:13 +0000)]
[project @ 2005-04-17 11:13:30 by panne]
Haddock can't handle recursive modules currently, so we disable it for now.

19 years ago[project @ 2005-04-17 11:11:32 by panne]
panne [Sun, 17 Apr 2005 11:11:33 +0000 (11:11 +0000)]
[project @ 2005-04-17 11:11:32 by panne]
Haddock fixes, "-- *" should be used with care...

19 years ago[project @ 2005-04-16 22:47:23 by simonpj]
simonpj [Sat, 16 Apr 2005 22:47:25 +0000 (22:47 +0000)]
[project @ 2005-04-16 22:47:23 by simonpj]
Significant clean-up of the handling of hi-boot files.
Previously, when compling A.hs, we loaded A.hi-boot, and
it went into the External Package Table.  It was strange
but it worked.  This tidy up stops it going anywhere;
it's just read in, and typechecked into a ModDetails.

All this was on the way to improving the handling of
instances in hs-boot files, something Chris Ryder wanted.
I think they work quite sensibly now.

If I've got all this right (have not had a chance to
fully test it) we can merge it into STABLE.

19 years ago[project @ 2005-04-16 22:46:01 by simonpj]
simonpj [Sat, 16 Apr 2005 22:46:01 +0000 (22:46 +0000)]
[project @ 2005-04-16 22:46:01 by simonpj]
Improve kind error msg; may make some tests change their output

19 years ago[project @ 2005-04-16 22:45:17 by simonpj]
simonpj [Sat, 16 Apr 2005 22:45:17 +0000 (22:45 +0000)]
[project @ 2005-04-16 22:45:17 by simonpj]
Improve location info for kind errors; may make some tests change their output

19 years ago[project @ 2005-04-16 19:39:25 by panne]
panne [Sat, 16 Apr 2005 19:39:25 +0000 (19:39 +0000)]
[project @ 2005-04-16 19:39:25 by panne]
And yesterday's "I messed up DocBook XML, too!" award goes to...

   *drum roll*

   ... Simon Peyton-Jones!

Congratulations! :-)

19 years ago[project @ 2005-04-16 16:05:52 by ross]
ross [Sat, 16 Apr 2005 16:05:53 +0000 (16:05 +0000)]
[project @ 2005-04-16 16:05:52 by ross]
Rejig handling of environments in arrow notation: instead of the
proc_level stuff, we just record the environment of the proc, and
use that on the left side of -< and the head of (|...|).

This also makes the arrow1 test yield a compile error, as it should,
but the error message is uninformative.

19 years ago[project @ 2005-04-15 21:51:28 by sof]
sof [Fri, 15 Apr 2005 21:51:28 +0000 (21:51 +0000)]
[project @ 2005-04-15 21:51:28 by sof]
back out Directory.hs:1.14 and directory.c:1.7; neither meant for HEAD

19 years ago[project @ 2005-04-15 18:13:34 by sof]
sof [Fri, 15 Apr 2005 18:13:34 +0000 (18:13 +0000)]
[project @ 2005-04-15 18:13:34 by sof]
LIBRARY, GHCI_LIBRARY: permit settings of these to be overridden in Makefiles; Merge to STABLE

19 years ago[project @ 2005-04-15 14:33:49 by simonpj]
simonpj [Fri, 15 Apr 2005 14:33:49 +0000 (14:33 +0000)]
[project @ 2005-04-15 14:33:49 by simonpj]
Update the CgCmmBranch (ghc directory) up to the HEAD ghc-6-4-branch-point

19 years ago[project @ 2005-04-15 14:26:39 by simonpj]
simonpj [Fri, 15 Apr 2005 14:26:39 +0000 (14:26 +0000)]
[project @ 2005-04-15 14:26:39 by simonpj]
Be consistent about quotes in error messages; MERGE TO STABLE

19 years ago[project @ 2005-04-15 07:13:08 by simonpj]
simonpj [Fri, 15 Apr 2005 07:13:08 +0000 (07:13 +0000)]
[project @ 2005-04-15 07:13:08 by simonpj]
Update comments on hslibs to make it clear that that they are (a) deprecated,
and (b) not required for building GHC.

Merge to STABLE

19 years ago[project @ 2005-04-15 05:29:48 by wolfgang]
wolfgang [Fri, 15 Apr 2005 05:29:49 +0000 (05:29 +0000)]
[project @ 2005-04-15 05:29:48 by wolfgang]
Initialise foreign exports from GNU C __attribute__((constructor)) functions
in the stub C file, rather than from __stginit_ functions.
For non-profiling ways, leave out __stginit_ alltogether.

19 years ago[project @ 2005-04-14 23:41:25 by sof]
sof [Thu, 14 Apr 2005 23:41:25 +0000 (23:41 +0000)]
[project @ 2005-04-14 23:41:25 by sof]
Better reporting of WAIT_FAILEDs from WaitFor*Object() calls.

Merge to STABLE.

19 years ago[project @ 2005-04-14 18:07:05 by ross]
ross [Thu, 14 Apr 2005 18:07:05 +0000 (18:07 +0000)]
[project @ 2005-04-14 18:07:05 by ross]
fix typo (Sourceforge bug #1183229)

(for STABLE)

19 years ago[project @ 2005-04-14 15:19:29 by simonpj]
simonpj [Thu, 14 Apr 2005 15:19:29 +0000 (15:19 +0000)]
[project @ 2005-04-14 15:19:29 by simonpj]
Fix TH handling of guards

19 years ago[project @ 2005-04-14 14:06:25 by wolfgang]
wolfgang [Thu, 14 Apr 2005 14:06:25 +0000 (14:06 +0000)]
[project @ 2005-04-14 14:06:25 by wolfgang]
Fix previous commit

19 years ago[project @ 2005-04-14 04:32:29 by dons]
dons [Thu, 14 Apr 2005 04:32:29 +0000 (04:32 +0000)]
[project @ 2005-04-14 04:32:29 by dons]
Typo in comment only.

19 years ago[project @ 2005-04-13 21:42:17 by wolfgang]
wolfgang [Wed, 13 Apr 2005 21:42:17 +0000 (21:42 +0000)]
[project @ 2005-04-13 21:42:17 by wolfgang]
Make the status messages from ghc --make display the number of modules
to be compiled, as in:

[3 of 9] Compiling Foo.hs     ( Foo.hs, Foo.o )

19 years ago[project @ 2005-04-13 15:07:20 by simonmar]
simonmar [Wed, 13 Apr 2005 15:07:20 +0000 (15:07 +0000)]
[project @ 2005-04-13 15:07:20 by simonmar]
Fix breakage in i386 floating-pt comparisons

19 years ago[project @ 2005-04-13 14:44:51 by simonmar]
simonmar [Wed, 13 Apr 2005 14:44:51 +0000 (14:44 +0000)]
[project @ 2005-04-13 14:44:51 by simonmar]
preprocessFile: return the source filename rather than "<buffer>"

19 years ago[project @ 2005-04-13 14:02:17 by simonmar]
simonmar [Wed, 13 Apr 2005 14:02:17 +0000 (14:02 +0000)]
[project @ 2005-04-13 14:02:17 by simonmar]
stopTaskManager: don't complain too loudly if we can't stop all the
tasks.  The IO manager thread turns out to be an offender here;
perhaps we should start sending signals to threads if they don't stop
when they're told to.

19 years ago[project @ 2005-04-13 13:30:42 by simonmar]
simonmar [Wed, 13 Apr 2005 13:30:42 +0000 (13:30 +0000)]
[project @ 2005-04-13 13:30:42 by simonmar]
Add :

  loadMsg :: Session -> LoadHowMuch
  -> (Messages-> IO ()) -> IO SuccessFlag

ie. just like load, except it takes a message callback and plumbs it
down to hscMain.  checkModule now uses loadMsgs.  Better name
suggestions welcome.

19 years ago[project @ 2005-04-13 13:17:35 by simonmar]
simonmar [Wed, 13 Apr 2005 13:17:35 +0000 (13:17 +0000)]
[project @ 2005-04-13 13:17:35 by simonmar]
- checkModule is back, and now returns a ModuleInfo

- added:

  modInfoTopLevelScope :: [Name]
  modInfoExports       :: [Name]

- in order to implement modInfoExports, ModDetails now contains
  md_exports::NameSet.

19 years ago[project @ 2005-04-13 11:11:31 by simonmar]
simonmar [Wed, 13 Apr 2005 11:11:31 +0000 (11:11 +0000)]
[project @ 2005-04-13 11:11:31 by simonmar]
Fix assertion

19 years ago[project @ 2005-04-12 23:14:32 by sof]
sof [Tue, 12 Apr 2005 23:14:32 +0000 (23:14 +0000)]
[project @ 2005-04-12 23:14:32 by sof]
tidy up prev commit; mingw doesn't support these two symbols

19 years ago[project @ 2005-04-12 19:58:56 by wolfgang]
wolfgang [Tue, 12 Apr 2005 19:58:57 +0000 (19:58 +0000)]
[project @ 2005-04-12 19:58:56 by wolfgang]
Dynamic Linking:
On non-Win32, we can store cross-dylib pointers in static data, so disable
a Win32-specific hack on the other platforms, to prevent code bloat.

19 years ago[project @ 2005-04-12 16:49:31 by krasimir]
krasimir [Tue, 12 Apr 2005 16:49:31 +0000 (16:49 +0000)]
[project @ 2005-04-12 16:49:31 by krasimir]
Few changes to GHC API:

  * The Instance type is removed. Each instance is represented as dictonary Id.
Now there is:

  isDictonaryId :: Id -> Bool

predicate which allows to distinguish them.

  * The full list of all available predicates of type (Id -> Bool) is exported
  * Few predicates for TyCon are exported
  * checkModule is removed. It isn't used anymore. Instead the full load is made.
The hook API will be required at some time in order to make available the
parsed/typechecked source.

19 years ago[project @ 2005-04-12 16:46:41 by sof]
sof [Tue, 12 Apr 2005 16:46:41 +0000 (16:46 +0000)]
[project @ 2005-04-12 16:46:41 by sof]
make 'mkdependC' happy

19 years ago[project @ 2005-04-12 16:40:16 by krasimir]
krasimir [Tue, 12 Apr 2005 16:40:16 +0000 (16:40 +0000)]
[project @ 2005-04-12 16:40:16 by krasimir]
initDynLinker is invoked from unload now. This makes safe to call it even when
then linker is still not initialized.

19 years ago[project @ 2005-04-12 12:24:44 by simonmar]
simonmar [Tue, 12 Apr 2005 12:24:44 +0000 (12:24 +0000)]
[project @ 2005-04-12 12:24:44 by simonmar]
cleanup

19 years ago[project @ 2005-04-12 12:24:27 by simonmar]
simonmar [Tue, 12 Apr 2005 12:24:27 +0000 (12:24 +0000)]
[project @ 2005-04-12 12:24:27 by simonmar]
- emit a debug message when we're yielding at shut down time

19 years ago[project @ 2005-04-12 12:21:22 by simonmar]
simonmar [Tue, 12 Apr 2005 12:21:22 +0000 (12:21 +0000)]
[project @ 2005-04-12 12:21:22 by simonmar]
thread friendliness: remove some global variables

19 years ago[project @ 2005-04-12 10:07:56 by simonmar]
simonmar [Tue, 12 Apr 2005 10:07:56 +0000 (10:07 +0000)]
[project @ 2005-04-12 10:07:56 by simonmar]
- prevent multiple threads from trying to do GC (deadlocks)

- change the startWorkerThread flag to an integer, prevents
  spurious extra tasks from being started at startup time

19 years ago[project @ 2005-04-12 09:17:47 by simonmar]
simonmar [Tue, 12 Apr 2005 09:17:48 +0000 (09:17 +0000)]
[project @ 2005-04-12 09:17:47 by simonmar]
The in_haskell sanity check should be per-Capability rather than global.

I just ran a Haskell program in 8 pthreads simultaneously :-)

19 years ago[project @ 2005-04-12 09:04:23 by simonmar]
simonmar [Tue, 12 Apr 2005 09:04:24 +0000 (09:04 +0000)]
[project @ 2005-04-12 09:04:23 by simonmar]
Per-task nurseries for SMP.  This was kind-of implemented before, but
it's much cleaner now.  There is now one *step* per capability, so we
have somewhere to hang the block count.  So for SMP, there are simply
multiple instances of generation 0 step 0.  The rNursery entry in the
register table now points to the step rather than the head block of
the nurersy.

19 years ago[project @ 2005-04-12 08:25:25 by simonmar]
simonmar [Tue, 12 Apr 2005 08:25:25 +0000 (08:25 +0000)]
[project @ 2005-04-12 08:25:25 by simonmar]
Remove -fasm from porting instructions

19 years ago[project @ 2005-04-12 07:46:08 by simonmar]
simonmar [Tue, 12 Apr 2005 07:46:08 +0000 (07:46 +0000)]
[project @ 2005-04-12 07:46:08 by simonmar]
Add missing symbols

19 years ago[project @ 2005-04-11 14:43:06 by simonmar]
simonmar [Mon, 11 Apr 2005 14:43:06 +0000 (14:43 +0000)]
[project @ 2005-04-11 14:43:06 by simonmar]
Set the default minAllocAreaSize to 512k.  Caches are bigger these
days.

19 years ago[project @ 2005-04-11 13:51:45 by simonmar]
simonmar [Mon, 11 Apr 2005 13:51:45 +0000 (13:51 +0000)]
[project @ 2005-04-11 13:51:45 by simonmar]
Fix register allocation bug: at a branch destination we weren't
setting the free register set correctly.  This may have resulted in
poor code in some cases; worst case it causes a Prelude.head: empty list.

19 years ago[project @ 2005-04-11 09:50:18 by simonmar]
simonmar [Mon, 11 Apr 2005 09:50:18 +0000 (09:50 +0000)]
[project @ 2005-04-11 09:50:18 by simonmar]
Fix i386 breakage

19 years ago[project @ 2005-04-11 08:53:39 by simonmar]
simonmar [Mon, 11 Apr 2005 08:53:39 +0000 (08:53 +0000)]
[project @ 2005-04-11 08:53:39 by simonmar]
A couple of optimisations to float code

19 years ago[project @ 2005-04-11 08:52:47 by simonmar]
simonmar [Mon, 11 Apr 2005 08:52:47 +0000 (08:52 +0000)]
[project @ 2005-04-11 08:52:47 by simonmar]
Add a Todo

19 years ago[project @ 2005-04-11 08:52:29 by simonmar]
simonmar [Mon, 11 Apr 2005 08:52:29 +0000 (08:52 +0000)]
[project @ 2005-04-11 08:52:29 by simonmar]
When generating a switch for:

  case e of
    0 -> A
    1 -> B

instead of generating

  if (e < 1) then goto A
  B

generate

  if (e >= 1) then goto B
  A

because this helps the NCG to generate better code.  In particular, if
e is a comparison, then we don't need to reverse the sense of the
comparison to eliminate the comparse against 1 (the NCG does try to
reverse the comparison, but floating-point comparisons can't be
reversed).

19 years ago[project @ 2005-04-10 21:44:10 by simonmar]
simonmar [Sun, 10 Apr 2005 21:44:10 +0000 (21:44 +0000)]
[project @ 2005-04-10 21:44:10 by simonmar]
Fix for Storage.c assertion failure

19 years ago[project @ 2005-04-08 16:48:49 by simonpj]
simonpj [Fri, 8 Apr 2005 16:48:49 +0000 (16:48 +0000)]
[project @ 2005-04-08 16:48:49 by simonpj]
Wibble to ghci

19 years ago[project @ 2005-04-08 14:51:48 by simonmar]
simonmar [Fri, 8 Apr 2005 14:51:48 +0000 (14:51 +0000)]
[project @ 2005-04-08 14:51:48 by simonmar]
GHC API work:

  - add parseName :: Session -> String -> IO [Name]
  - make lookupName look up in the global type environment

  - add data ModuleInfo
  - add a few ModuleInfo-related functions
  - add getModuleInfo :: Session -> Module -> IO ModuleInfo

19 years ago[project @ 2005-04-08 13:40:55 by simonmar]
simonmar [Fri, 8 Apr 2005 13:40:55 +0000 (13:40 +0000)]
[project @ 2005-04-08 13:40:55 by simonmar]
Refine the imports a bit

19 years ago[project @ 2005-04-08 13:39:11 by simonmar]
simonmar [Fri, 8 Apr 2005 13:39:11 +0000 (13:39 +0000)]
[project @ 2005-04-08 13:39:11 by simonmar]
- add initPackages
- add showGhcException
- tidy up the export list a bit

19 years ago[project @ 2005-04-08 13:33:24 by simonmar]
simonmar [Fri, 8 Apr 2005 13:33:24 +0000 (13:33 +0000)]
[project @ 2005-04-08 13:33:24 by simonmar]
Haddock comment on initPackages

19 years ago[project @ 2005-04-08 10:51:37 by krasimir]
krasimir [Fri, 8 Apr 2005 10:51:37 +0000 (10:51 +0000)]
[project @ 2005-04-08 10:51:37 by krasimir]
Replace hPutStrLn stderr with debugTraceMsg

19 years ago[project @ 2005-04-08 10:15:38 by simonmar]
simonmar [Fri, 8 Apr 2005 10:15:38 +0000 (10:15 +0000)]
[project @ 2005-04-08 10:15:38 by simonmar]
Tell the C backend that BaseReg has a "strange type" (this forces it
to cast it to StgWord before doing arithmetic)

19 years ago[project @ 2005-04-08 10:07:00 by simonmar]
simonmar [Fri, 8 Apr 2005 10:07:00 +0000 (10:07 +0000)]
[project @ 2005-04-08 10:07:00 by simonmar]
Fix i386 breakage

19 years ago[project @ 2005-04-08 10:04:26 by simonmar]
simonmar [Fri, 8 Apr 2005 10:04:26 +0000 (10:04 +0000)]
[project @ 2005-04-08 10:04:26 by simonmar]
fix breakage in i386 native codegen

19 years ago[project @ 2005-04-08 09:54:54 by simonmar]
simonmar [Fri, 8 Apr 2005 09:54:54 +0000 (09:54 +0000)]
[project @ 2005-04-08 09:54:54 by simonmar]
x86_64 hacking:

  - use %rip-relative addressing in a couple of places
  - floating-point comparisons handle NaN properly

I believe the x86_64 NCG is now ready for prime time.  It is
successfully bootstrapping the compiler, and I think this fixes the
last of the test failures.

19 years ago[project @ 2005-04-07 21:27:10 by simonmar]
simonmar [Thu, 7 Apr 2005 21:27:10 +0000 (21:27 +0000)]
[project @ 2005-04-07 21:27:10 by simonmar]
Fix compiling for way p

19 years ago[project @ 2005-04-07 15:56:34 by simonmar]
simonmar [Thu, 7 Apr 2005 15:56:34 +0000 (15:56 +0000)]
[project @ 2005-04-07 15:56:34 by simonmar]
A much simpler way of stopping all the other threads to do a GC in SMP
mode: the thread that wants to do GC just acquires all the
capabilities, and releases them after doing the GC.

19 years ago[project @ 2005-04-07 15:53:01 by simonmar]
simonmar [Thu, 7 Apr 2005 15:53:01 +0000 (15:53 +0000)]
[project @ 2005-04-07 15:53:01 by simonmar]
resetNurseries: tidy up