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

19 years ago[project @ 2005-04-06 15:27:06 by simonmar]
simonmar [Wed, 6 Apr 2005 15:27:06 +0000 (15:27 +0000)]
[project @ 2005-04-06 15:27:06 by simonmar]
Revamp the Task API: now we use the same implementation for threaded
and SMP.  We also keep per-task timing stats in the threaded RTS now,
which makes the output of +RTS -sstderr more useful.

19 years ago[project @ 2005-04-06 15:24:28 by simonmar]
simonmar [Wed, 6 Apr 2005 15:24:28 +0000 (15:24 +0000)]
[project @ 2005-04-06 15:24:28 by simonmar]
complain if $(way) is not a member of $(WAYS).  This will help stop me
shooting myself in the foot by building things for nonexistent ways.

19 years ago[project @ 2005-04-06 10:13:35 by simonmar]
simonmar [Wed, 6 Apr 2005 10:13:35 +0000 (10:13 +0000)]
[project @ 2005-04-06 10:13:35 by simonmar]
fix build on non-x86_64

19 years ago[project @ 2005-04-06 10:04:43 by simonmar]
simonmar [Wed, 6 Apr 2005 10:04:43 +0000 (10:04 +0000)]
[project @ 2005-04-06 10:04:43 by simonmar]
x86_64: support for the basic relocation records.  Unfortunately this
isn't enough, we need to create a PLT for far jumps too.

19 years ago[project @ 2005-04-06 09:42:45 by simonmar]
simonmar [Wed, 6 Apr 2005 09:42:45 +0000 (09:42 +0000)]
[project @ 2005-04-06 09:42:45 by simonmar]
Update building-guide link

19 years ago[project @ 2005-04-06 00:59:11 by sof]
sof [Wed, 6 Apr 2005 00:59:11 +0000 (00:59 +0000)]
[project @ 2005-04-06 00:59:11 by sof]
RTS_MINGW_ONLY_SYMBOLS: added _imp___osver global (needed by HsBase.h:__hscore_get_osver())

19 years ago[project @ 2005-04-05 21:27:54 by simonmar]
simonmar [Tue, 5 Apr 2005 21:27:54 +0000 (21:27 +0000)]
[project @ 2005-04-05 21:27:54 by simonmar]
wibble

19 years ago[project @ 2005-04-05 21:26:11 by simonmar]
simonmar [Tue, 5 Apr 2005 21:26:11 +0000 (21:26 +0000)]
[project @ 2005-04-05 21:26:11 by simonmar]
unreg wibble

19 years ago[project @ 2005-04-05 21:24:53 by simonmar]
simonmar [Tue, 5 Apr 2005 21:24:53 +0000 (21:24 +0000)]
[project @ 2005-04-05 21:24:53 by simonmar]
wibble to fix the unreg way

19 years ago[project @ 2005-04-05 15:51:26 by simonmar]
simonmar [Tue, 5 Apr 2005 15:51:26 +0000 (15:51 +0000)]
[project @ 2005-04-05 15:51:26 by simonmar]
x86_64: fix brainos in implementation of fl. pt. negation

19 years ago[project @ 2005-04-05 15:38:01 by simonmar]
simonmar [Tue, 5 Apr 2005 15:38:01 +0000 (15:38 +0000)]
[project @ 2005-04-05 15:38:01 by simonmar]
Instead of gathering a set of 'candidates' in the occurrence
analyser, use the isLocalId predicate to identify things
for which occurrence information is required.  By defn
isLocalId is true of Ids (whether top level or not) defined
in this module, and that is exactly what we want.

The 'candidates set' predated the LocalId invariant, I think.

19 years ago[project @ 2005-04-05 14:41:37 by simonmar]
simonmar [Tue, 5 Apr 2005 14:41:37 +0000 (14:41 +0000)]
[project @ 2005-04-05 14:41:37 by simonmar]
Implement the out-of-line floating-point MachOps

19 years ago[project @ 2005-04-05 14:39:13 by simonmar]
simonmar [Tue, 5 Apr 2005 14:39:13 +0000 (14:39 +0000)]
[project @ 2005-04-05 14:39:13 by simonmar]
blackhole updates

19 years ago[project @ 2005-04-05 14:31:17 by simonmar]
simonmar [Tue, 5 Apr 2005 14:31:17 +0000 (14:31 +0000)]
[project @ 2005-04-05 14:31:17 by simonmar]
wibble

19 years ago[project @ 2005-04-05 14:23:35 by simonmar]
simonmar [Tue, 5 Apr 2005 14:23:35 +0000 (14:23 +0000)]
[project @ 2005-04-05 14:23:35 by simonmar]
Catch up with InfoTable changes

19 years ago[project @ 2005-04-05 12:19:54 by simonmar]
simonmar [Tue, 5 Apr 2005 12:19:57 +0000 (12:19 +0000)]
[project @ 2005-04-05 12:19:54 by simonmar]
Some multi-processor hackery, including

  - Don't hang blocked threads off BLACKHOLEs any more, instead keep
    them all on a separate queue which is checked periodically for
    threads to wake up.

    This is good because (a) we don't have to worry about locking the
    closure in SMP mode when we want to block on it, and (b) it means
    the standard update code doesn't need to wake up any threads or
    check for a BLACKHOLE_BQ, simplifying the update code.

    The downside is that if there are lots of threads blocked on
    BLACKHOLEs, we might have to do a lot of repeated list traversal.
    We don't expect this to be common, though.  conc023 goes slower
    with this change, but we expect most programs to benefit from the
    shorter update code.

  - Fixing up the Capability code to handle multiple capabilities (SMP
    mode), and related changes to get the SMP mode at least building.

19 years ago[project @ 2005-04-05 09:45:06 by simonmar]
simonmar [Tue, 5 Apr 2005 09:45:06 +0000 (09:45 +0000)]
[project @ 2005-04-05 09:45:06 by simonmar]
x86_64: generate 32-bit relative offset plus 32-bit padding instead of
a 64-bit relative offset.  This is probably not the best place to do
it, but it'll do for now.

Also reinstate some changes that accidentally got spammed yesterday.

19 years ago[project @ 2005-04-05 09:42:48 by simonmar]
simonmar [Tue, 5 Apr 2005 09:42:48 +0000 (09:42 +0000)]
[project @ 2005-04-05 09:42:48 by simonmar]
GHC package: set $(GhcLibHcOpts) to empty; we want $(GhcStage2HcOpts)
to take precedence here.

19 years ago[project @ 2005-04-05 09:38:00 by simonmar]
simonmar [Tue, 5 Apr 2005 09:38:01 +0000 (09:38 +0000)]
[project @ 2005-04-05 09:38:00 by simonmar]
Main x86_64 hacking: we have a problem on this arch where binutils
can't generate 64-bit relative relocations (R_X86_64_PC64), which many
of our info-table fields are.  So far we've been hacking around it by
putting everything in the text section, but I've decided to adopt
another approach: we'll use explicit 32-bit offset fields on this
platform instead.  This is safe in the default "small" memory model
where all symbols are guaranteed to be in the lower 2Gb of the address
space.

NCG changes coming; mangler changes are probably required too.