ghc-hetmet.git
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

19 years ago[project @ 2005-04-07 14:33:30 by simonmar]
simonmar [Thu, 7 Apr 2005 14:33:32 +0000 (14:33 +0000)]
[project @ 2005-04-07 14:33:30 by simonmar]
Support handling signals in the threaded RTS by passing the signal
number down the pipe to the IO manager.  This avoids needing
synchronisation in the signal handler.

Signals should now work with -threaded.  Since this is a bugfix, I'll
merge the changes into the 6.4 branch.

19 years ago[project @ 2005-04-07 12:40:33 by simonmar]
simonmar [Thu, 7 Apr 2005 12:40:33 +0000 (12:40 +0000)]
[project @ 2005-04-07 12:40:33 by simonmar]
Allow use of BaseReg

19 years ago[project @ 2005-04-07 12:39:56 by simonmar]
simonmar [Thu, 7 Apr 2005 12:39:56 +0000 (12:39 +0000)]
[project @ 2005-04-07 12:39:56 by simonmar]
The arg to suspendThread should have a "ptr" hint

19 years ago[project @ 2005-04-07 11:35:48 by simonmar]
simonmar [Thu, 7 Apr 2005 11:35:48 +0000 (11:35 +0000)]
[project @ 2005-04-07 11:35:48 by simonmar]
Add the -hide-all-packages flag.

19 years ago[project @ 2005-04-07 06:25:54 by wolfgang]
wolfgang [Thu, 7 Apr 2005 06:25:54 +0000 (06:25 +0000)]
[project @ 2005-04-07 06:25:54 by wolfgang]
Mac OS X: Work around a subtle bug/strangeness/"feature" in Apple's toolchain
that affects machoInitSymbolsWithoutUnderscore().
(The symbolsWithoutUnderscore symbol must be .globl, otherwise incorrect code
will be generated to refer to it)

This has already been MERGED TO STABLE as part of the previous commit.

19 years ago[project @ 2005-04-07 05:27:16 by wolfgang]
wolfgang [Thu, 7 Apr 2005 05:27:17 +0000 (05:27 +0000)]
[project @ 2005-04-07 05:27:16 by wolfgang]
Set the keepCAFs flag (required for GHCi with dynamic libraries) from an
__attribute__((constructor)) function linked to stage 2 ghc if GhcBuildDylibs
is set in mk/build.mk.

The previous hack (setting it from addDLL) didn't work, because a few CAFs
from libHSbase_dyn were evaluated before the Linker was first invoked by
GHCi.

MERGE TO STABLE

19 years ago[project @ 2005-04-06 21:51:17 by simonmar]
simonmar [Wed, 6 Apr 2005 21:51:17 +0000 (21:51 +0000)]
[project @ 2005-04-06 21:51:17 by simonmar]
way fix