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

19 years ago[project @ 2005-04-05 09:31:27 by simonmar]
simonmar [Tue, 5 Apr 2005 09:31:27 +0000 (09:31 +0000)]
[project @ 2005-04-05 09:31:27 by simonmar]
print format type fixup

19 years ago[project @ 2005-04-05 09:30:11 by simonmar]
simonmar [Tue, 5 Apr 2005 09:30:11 +0000 (09:30 +0000)]
[project @ 2005-04-05 09:30:11 by simonmar]
printf format type fixup

19 years ago[project @ 2005-04-05 09:28:32 by simonmar]
simonmar [Tue, 5 Apr 2005 09:28:32 +0000 (09:28 +0000)]
[project @ 2005-04-05 09:28:32 by simonmar]
type fixups

19 years ago[project @ 2005-04-05 09:22:27 by simonmar]
simonmar [Tue, 5 Apr 2005 09:23:12 +0000 (09:23 +0000)]
[project @ 2005-04-05 09:22:27 by simonmar]
type fixup

19 years ago[project @ 2005-04-05 09:06:36 by krasimir]
krasimir [Tue, 5 Apr 2005 09:06:37 +0000 (09:06 +0000)]
[project @ 2005-04-05 09:06:36 by krasimir]
In many places there was a common pattern

when (verbose >= n) $ putMsg "..."

It is now replaced with

debutTraceMsg dflags n "..."

In few places hPutStrLn stderr or putStrLn was used instead of putMsg in
the above pattern. They are replaced too. Now putMsg is used only in places
where the verbosity flag was not checked.

19 years ago[project @ 2005-04-05 08:25:06 by simonpj]
simonpj [Tue, 5 Apr 2005 08:25:07 +0000 (08:25 +0000)]
[project @ 2005-04-05 08:25:06 by simonpj]
Final wibbles, I hope

19 years ago[project @ 2005-04-04 16:49:42 by simonpj]
simonpj [Mon, 4 Apr 2005 16:49:42 +0000 (16:49 +0000)]
[project @ 2005-04-04 16:49:42 by simonpj]
One more stage2 wibble

19 years ago[project @ 2005-04-04 16:15:04 by simonpj]
simonpj [Mon, 4 Apr 2005 16:15:04 +0000 (16:15 +0000)]
[project @ 2005-04-04 16:15:04 by simonpj]
More stage2 wibbles

19 years ago[project @ 2005-04-04 15:54:50 by simonpj]
simonpj [Mon, 4 Apr 2005 15:54:50 +0000 (15:54 +0000)]
[project @ 2005-04-04 15:54:50 by simonpj]
More wibbles to HsSyn changes

19 years ago[project @ 2005-04-04 15:54:18 by simonmar]
simonmar [Mon, 4 Apr 2005 15:54:18 +0000 (15:54 +0000)]
[project @ 2005-04-04 15:54:18 by simonmar]
Use the imul instruction natively, rather than the braindead wrapper
around it.  The register allocator has been able to handle the fixed
register usage of imul for a while now.  Also, the wrapper was broken
on x86_64.

19 years ago[project @ 2005-04-04 15:51:45 by simonmar]
simonmar [Mon, 4 Apr 2005 15:51:45 +0000 (15:51 +0000)]
[project @ 2005-04-04 15:51:45 by simonmar]
wibble

19 years ago[project @ 2005-04-04 15:22:25 by simonpj]
simonpj [Mon, 4 Apr 2005 15:22:25 +0000 (15:22 +0000)]
[project @ 2005-04-04 15:22:25 by simonpj]
Further HsSyn wibbles

19 years ago[project @ 2005-04-04 14:11:29 by simonpj]
simonpj [Mon, 4 Apr 2005 14:11:29 +0000 (14:11 +0000)]
[project @ 2005-04-04 14:11:29 by simonpj]
Wibbles arising from HsSyn changes

19 years ago[project @ 2005-04-04 13:51:26 by simonmar]
simonmar [Mon, 4 Apr 2005 13:51:26 +0000 (13:51 +0000)]
[project @ 2005-04-04 13:51:26 by simonmar]
Big cleanup of the scheduler.

The main idea here was to extract as much stuff as possible from the
scheduler loop into seprate functions, so as to better expose the
control structure of the scheduler.  Now, the scheduler loop is down
to some 300+ lines; there's some more code that could be extracted,
but I think it looks pretty good now.

This work is partly due to an initial cleanup by the GRAN/PAR folks,
heavily re-worked by me.

19 years ago[project @ 2005-04-04 13:30:58 by simonpj]
simonpj [Mon, 4 Apr 2005 13:30:58 +0000 (13:30 +0000)]
[project @ 2005-04-04 13:30:58 by simonpj]
Update hs-boot file

19 years ago[project @ 2005-04-04 13:26:59 by simonpj]
simonpj [Mon, 4 Apr 2005 13:26:59 +0000 (13:26 +0000)]
[project @ 2005-04-04 13:26:59 by simonpj]
Wibble: invert sense of test

19 years ago[project @ 2005-04-04 13:16:09 by simonpj]
simonpj [Mon, 4 Apr 2005 13:16:09 +0000 (13:16 +0000)]
[project @ 2005-04-04 13:16:09 by simonpj]
Documentation for rebindable syntax

19 years ago[project @ 2005-04-04 11:55:11 by simonpj]
simonpj [Mon, 4 Apr 2005 11:55:17 +0000 (11:55 +0000)]
[project @ 2005-04-04 11:55:11 by simonpj]
This commit combines three overlapping things:

1.  Make rebindable syntax work for do-notation. The idea
    here is that, in particular, (>>=) can have a type that
    has class constraints on its argument types, e.g.
       (>>=) :: (Foo m, Baz a) => m a -> (a -> m b) -> m b
    The consequence is that a BindStmt and ExprStmt must have
    individual evidence attached -- previously it was one
    batch of evidence for the entire Do

    Sadly, we can't do this for MDo, because we use bind at
    a polymorphic type (to tie the knot), so we still use one
    blob of evidence (now in the HsStmtContext) for MDo.

    For arrow syntax, the evidence is in the HsCmd.

    For list comprehensions, it's all built-in anyway.

    So the evidence on a BindStmt is only used for ordinary
    do-notation.

2.  Tidy up HsSyn.  In particular:

- Eliminate a few "Out" forms, which we can manage
without (e.g.

- It ought to be the case that the type checker only
decorates the syntax tree, but doesn't change one
construct into another.  That wasn't true for NPat,
LitPat, NPlusKPat, so I've fixed that.

- Eliminate ResultStmts from Stmt.  They always had
to be the last Stmt, which led to awkward pattern
matching in some places; and the benefits didn't seem
to outweigh the costs.  Now each construct that uses
[Stmt] has a result expression too (e.g. GRHS).

3.  Make 'deriving( Ix )' generate a binding for unsafeIndex,
    rather than for index.  This is loads more efficient.

    (This item only affects TcGenDeriv, but some of point (2)
    also affects TcGenDeriv, so it has to be in one commit.)

19 years ago[project @ 2005-04-04 10:55:38 by simonmar]
simonmar [Mon, 4 Apr 2005 10:55:38 +0000 (10:55 +0000)]
[project @ 2005-04-04 10:55:38 by simonmar]
comment out parts of the Win32 DLLs section, specifically those that
don't apply to current Windows distributions.

19 years ago[project @ 2005-04-04 10:39:23 by simonmar]
simonmar [Mon, 4 Apr 2005 10:39:23 +0000 (10:39 +0000)]
[project @ 2005-04-04 10:39:23 by simonmar]
Give prototypes for getAllocations and revertCAFs.

19 years ago[project @ 2005-04-03 22:06:15 by simonmar]
simonmar [Sun, 3 Apr 2005 22:06:15 +0000 (22:06 +0000)]
[project @ 2005-04-03 22:06:15 by simonmar]
x86_64: some small optimisations to instruction selection, taking
advantage of automatic zero-extension of 32-bit results.

19 years ago[project @ 2005-04-03 22:04:31 by simonmar]
simonmar [Sun, 3 Apr 2005 22:04:31 +0000 (22:04 +0000)]
[project @ 2005-04-03 22:04:31 by simonmar]
regUsage(x86_64): tell the register allocator that argument registers are read
by call instructions.

mkSpillInstr/mkLoadInstr(x86_64): implement FP spills/loads, not sure
if this is quite right yet.

19 years ago[project @ 2005-04-03 22:01:32 by simonmar]
simonmar [Sun, 3 Apr 2005 22:01:32 +0000 (22:01 +0000)]
[project @ 2005-04-03 22:01:32 by simonmar]
x86_64: fix reg printing

19 years ago[project @ 2005-04-03 21:35:02 by simonmar]
simonmar [Sun, 3 Apr 2005 21:35:02 +0000 (21:35 +0000)]
[project @ 2005-04-03 21:35:02 by simonmar]
#include "MachDeps.h" to get WORD_SIZE_IN_BITS (fixes profasm breakages)

19 years ago[project @ 2005-04-02 19:56:18 by simonmar]
simonmar [Sat, 2 Apr 2005 19:56:18 +0000 (19:56 +0000)]
[project @ 2005-04-02 19:56:18 by simonmar]
unconditionally define oFFSET_StgRegTable_rL1

19 years ago[project @ 2005-04-01 12:15:15 by simonmar]
simonmar [Fri, 1 Apr 2005 12:15:15 +0000 (12:15 +0000)]
[project @ 2005-04-01 12:15:15 by simonmar]
enable x86_64 native codegen

19 years ago[project @ 2005-04-01 12:14:29 by simonmar]
simonmar [Fri, 1 Apr 2005 12:14:30 +0000 (12:14 +0000)]
[project @ 2005-04-01 12:14:29 by simonmar]
First cut at the x86_64 native code generator.  Lots of code is shared
with i386, but floating point uses SSE2.

This more or less works, the things I know that don't work are:

  - the floating-point primitives (sin, cos etc.) are missing
  - floating-point comparisons involving NaN are wrong
  - there's no PIC support yet

Also, I have a long list of small things to fix up to improve
performance.

I think the small memory model is assumed, for now.

19 years ago[project @ 2005-04-01 11:34:20 by simonmar]
simonmar [Fri, 1 Apr 2005 11:35:17 +0000 (11:35 +0000)]
[project @ 2005-04-01 11:34:20 by simonmar]
build fix when !GHCI

19 years ago[project @ 2005-03-31 16:11:49 by simonmar]
simonmar [Thu, 31 Mar 2005 16:11:50 +0000 (16:11 +0000)]
[project @ 2005-03-31 16:11:49 by simonmar]
DriverPipeline.compile: we should be grabbing the OPTIONS from the
StringBuffer, not reading the file again (duh!)

SysTools: some message cleanups

19 years ago[project @ 2005-03-31 15:16:53 by simonmar]
simonmar [Thu, 31 Mar 2005 15:16:54 +0000 (15:16 +0000)]
[project @ 2005-03-31 15:16:53 by simonmar]
More hacking on the GHC API to get it into shape for VS

 - load now takes a LoadHowMuch argument, which is either
LoadAllTargets
LoadUpTo Module
LoadDependenciesOf Module
   which should be self-explanatory.  LoadDependenciesOf might go
   away in the future, it's necessary at the moment because it is
   used in the implementation of:

 - checkModule :: Session -> Module -> MessageHandler -> IO CheckResult

   which is currently the only way to get at the parsed & typechecked
   abstract syntax for a module.

19 years ago[project @ 2005-03-31 14:22:11 by simonmar]
simonmar [Thu, 31 Mar 2005 14:22:38 +0000 (14:22 +0000)]
[project @ 2005-03-31 14:22:11 by simonmar]
- fix depends field
- remove Main module

19 years ago[project @ 2005-03-31 10:16:33 by simonmar]
simonmar [Thu, 31 Mar 2005 10:16:46 +0000 (10:16 +0000)]
[project @ 2005-03-31 10:16:33 by simonmar]
Tweaks to get the GHC sources through Haddock.  Doesn't quite work
yet, because Haddock complains about the recursive modules.  Haddock
needs to understand SOURCE imports (it can probably just ignore them
as a first attempt).

19 years ago[project @ 2005-03-31 09:17:37 by simonmar]
simonmar [Thu, 31 Mar 2005 09:17:37 +0000 (09:17 +0000)]
[project @ 2005-03-31 09:17:37 by simonmar]
foreign import syntax

19 years ago[project @ 2005-03-31 09:15:51 by simonmar]
simonmar [Thu, 31 Mar 2005 09:15:51 +0000 (09:15 +0000)]
[project @ 2005-03-31 09:15:51 by simonmar]
commas in export list

19 years ago[project @ 2005-03-31 09:14:32 by simonmar]
simonmar [Thu, 31 Mar 2005 09:14:32 +0000 (09:14 +0000)]
[project @ 2005-03-31 09:14:32 by simonmar]
remove extra commas in export list

19 years ago[project @ 2005-03-31 08:59:34 by simonmar]
simonmar [Thu, 31 Mar 2005 08:59:35 +0000 (08:59 +0000)]
[project @ 2005-03-31 08:59:34 by simonmar]
Make getourtimeofday() return lnat instead of nat, and propagate changes.

19 years ago[project @ 2005-03-31 08:46:05 by simonmar]
simonmar [Thu, 31 Mar 2005 08:46:05 +0000 (08:46 +0000)]
[project @ 2005-03-31 08:46:05 by simonmar]
Note change in behaviour of ghc -M: all modules must now have source files

19 years ago[project @ 2005-03-30 19:30:50 by simonmar]
simonmar [Wed, 30 Mar 2005 19:30:50 +0000 (19:30 +0000)]
[project @ 2005-03-30 19:30:50 by simonmar]
oops, undo accidental enabling of x86_64 native codegen

19 years ago[project @ 2005-03-30 16:45:58 by wolfgang]
wolfgang [Wed, 30 Mar 2005 16:45:58 +0000 (16:45 +0000)]
[project @ 2005-03-30 16:45:58 by wolfgang]
Track size change of alloc_blocks and alloc_blocks_lim.

(They are of type nat, which used to be the same size as W_, but now is
the same size as CInt).

19 years ago[project @ 2005-03-30 16:24:04 by simonmar]
simonmar [Wed, 30 Mar 2005 16:24:05 +0000 (16:24 +0000)]
[project @ 2005-03-30 16:24:04 by simonmar]
Add support for partial reloads in the GHC API.

This is mainly for VS: when editing a file you don't want to
continually reload the entire project whenever the current file
changes, you want to reload up to and including the current file only.
However, you also want to retain any other modules in the session that
are still stable.

I added a variant of :reload in GHCi to test this.  You can say
':reload M' to reload up to module M only.  This will bring M up to
date, and throw away any invalidated modules from the session.

19 years ago[project @ 2005-03-30 14:18:24 by simonmar]
simonmar [Wed, 30 Mar 2005 14:18:24 +0000 (14:18 +0000)]
[project @ 2005-03-30 14:18:24 by simonmar]
Add a few missing modules

19 years ago[project @ 2005-03-30 14:13:42 by simonmar]
simonmar [Wed, 30 Mar 2005 14:13:42 +0000 (14:13 +0000)]
[project @ 2005-03-30 14:13:42 by simonmar]
Update module list

19 years ago[project @ 2005-03-30 11:08:47 by simonmar]
simonmar [Wed, 30 Mar 2005 11:08:47 +0000 (11:08 +0000)]
[project @ 2005-03-30 11:08:47 by simonmar]
statsPrintf: add a gcc attribute to get better type errors

19 years ago[project @ 2005-03-30 11:07:48 by simonmar]
simonmar [Wed, 30 Mar 2005 11:07:48 +0000 (11:07 +0000)]
[project @ 2005-03-30 11:07:48 by simonmar]
reverse rev 1.4: nat should be unsigned int, not unsigned long.  I'm
doing this (a) to fix some printf type errors, and (b) to see what
breaks.

19 years ago[project @ 2005-03-30 10:28:08 by simonmar]
simonmar [Wed, 30 Mar 2005 10:28:08 +0000 (10:28 +0000)]
[project @ 2005-03-30 10:28:08 by simonmar]
Refine the default setting for GhcWithInterpreter, now exludes x86_64
for the time being.

19 years ago[project @ 2005-03-30 09:49:55 by simonmar]
simonmar [Wed, 30 Mar 2005 09:49:55 +0000 (09:49 +0000)]
[project @ 2005-03-30 09:49:55 by simonmar]
Hack around a nasty bug on x86_64, caused by failing to align %rsp
correctly at a C call.  See the comment for details.

19 years ago[project @ 2005-03-30 01:22:24 by sof]
sof [Wed, 30 Mar 2005 01:22:24 +0000 (01:22 +0000)]
[project @ 2005-03-30 01:22:24 by sof]
Avoid a (rather verbose) GHC warning from being issued -- initialize the
runPhase.mod_summary.ms_obj_date field.

19 years ago[project @ 2005-03-30 01:12:51 by sof]
sof [Wed, 30 Mar 2005 01:12:51 +0000 (01:12 +0000)]
[project @ 2005-03-30 01:12:51 by sof]
canonicalize ffi decls

19 years ago[project @ 2005-03-29 14:06:02 by simonmar]
simonmar [Tue, 29 Mar 2005 14:06:02 +0000 (14:06 +0000)]
[project @ 2005-03-29 14:06:02 by simonmar]
Simplify the -ignore-package/-package-name logic a bit

19 years ago[project @ 2005-03-29 14:02:06 by simonmar]
simonmar [Tue, 29 Mar 2005 14:02:06 +0000 (14:02 +0000)]
[project @ 2005-03-29 14:02:06 by simonmar]
Old GHCs used -package-name instead of -ignore-package.

19 years ago[project @ 2005-03-28 22:03:33 by wolfgang]
wolfgang [Mon, 28 Mar 2005 22:03:33 +0000 (22:03 +0000)]
[project @ 2005-03-28 22:03:33 by wolfgang]
Track recent dynamic flags changes; fixes the build for Mac OS X.

19 years ago[project @ 2005-03-27 13:41:13 by panne]
panne [Sun, 27 Mar 2005 13:41:19 +0000 (13:41 +0000)]
[project @ 2005-03-27 13:41:13 by panne]
* Some preprocessors don't like the C99/C++ '//' comments after a
  directive, so use '/* */' instead. For consistency, a lot of '//' in
  the include files were converted, too.

* UnDOSified libraries/base/cbits/runProcess.c.

* My favourite sport: Killed $Id$s.

19 years ago[project @ 2005-03-24 18:44:16 by sof]
sof [Thu, 24 Mar 2005 18:44:16 +0000 (18:44 +0000)]
[project @ 2005-03-24 18:44:16 by sof]
SRC_HC_OPTS: only add -ignore-package if supported by underlying GHC.
             (reqd to be able to compile greencard/lib, hdirect/(com)lib with
     non-cutting edge GHCen.)

Merge to STABLE.

19 years ago[project @ 2005-03-24 16:14:00 by simonmar]
simonmar [Thu, 24 Mar 2005 16:14:11 +0000 (16:14 +0000)]
[project @ 2005-03-24 16:14:00 by simonmar]
Cleanup the upsweep strategy in GHC.load.

Now it's hopefully clearer how we decide what modules to recompile,
and which are "stable" (not even looked at) during a reload.  See the
comments for details.

Also, I've taken some trouble to explicitly prune out things that
aren't required before a reload, which should reduce the memory
requirements for :reload in GHCi.  Currently I believe it keeps most
of the old program until the reload is complete, now it shouldn't
require any extra memory.

19 years ago[project @ 2005-03-24 15:22:33 by simonmar]
simonmar [Thu, 24 Mar 2005 15:22:33 +0000 (15:22 +0000)]
[project @ 2005-03-24 15:22:33 by simonmar]
tweaks to a (commented-out) trace message

19 years ago[project @ 2005-03-24 15:11:07 by simonmar]
simonmar [Thu, 24 Mar 2005 15:11:07 +0000 (15:11 +0000)]
[project @ 2005-03-24 15:11:07 by simonmar]
mkStgAltType: try to find the non-abstract TyCon if the one in the
type of the case binder turns out to be an HiBootTyCon.  Fixes
possible code generation bugs when compiling programs with recursive
modules.

19 years ago[project @ 2005-03-24 10:02:36 by simonmar]
simonmar [Thu, 24 Mar 2005 10:02:36 +0000 (10:02 +0000)]
[project @ 2005-03-24 10:02:36 by simonmar]
Don't build GHC in all of GhcLibWays, like we do for other libraries

19 years ago[project @ 2005-03-24 09:27:20 by simonmar]
simonmar [Thu, 24 Mar 2005 09:27:20 +0000 (09:27 +0000)]
[project @ 2005-03-24 09:27:20 by simonmar]
omit __hscore_getFolderPath if __GLASGOW_HASKELL__ < 604

19 years ago[project @ 2005-03-24 09:19:52 by simonmar]
simonmar [Thu, 24 Mar 2005 09:19:53 +0000 (09:19 +0000)]
[project @ 2005-03-24 09:19:52 by simonmar]
__hscore_getFolderPath is ccall, not stdcall.

19 years ago[project @ 2005-03-24 08:46:49 by simonmar]
simonmar [Thu, 24 Mar 2005 08:46:49 +0000 (08:46 +0000)]
[project @ 2005-03-24 08:46:49 by simonmar]
Disable SplitObjs when building stage2 (which is also package now, so
was getting the splitting treatment by default).

19 years ago[project @ 2005-03-24 00:38:57 by sof]
sof [Thu, 24 Mar 2005 00:38:57 +0000 (00:38 +0000)]
[project @ 2005-03-24 00:38:57 by sof]
FPTOOLS_HAPPY, FPTOOLS_ALEX: cope with version.mk:ProjectVersion 'x.y.z' formats (ignoring the 'z' patchlevel). Merge to STABLE (I suppose)

19 years ago[project @ 2005-03-23 18:51:33 by sof]
sof [Wed, 23 Mar 2005 18:51:34 +0000 (18:51 +0000)]
[project @ 2005-03-23 18:51:33 by sof]
Rename the filenames used for the 'win32' package to {lib}HSwin_32{1.o,2.o,.a}
so as to avoid conflicts with the 'Win32' package when installing to a common
library directory on a case-insensitive filesystem (as we do when building
binary dists under Windows.) This fixes the off-the-bat brokenness experienced
by people trying to load the 'Win32' package with ghci-6.4.

Note: package creators may want to make a note of this if they haven't already,
i.e., while the package infrastructure is case-sensitive, it's unsafe to assume
that the underlying filesystem is.

Merge to STABLE.

19 years ago[project @ 2005-03-23 13:27:42 by simonmar]
simonmar [Wed, 23 Mar 2005 13:27:44 +0000 (13:27 +0000)]
[project @ 2005-03-23 13:27:42 by simonmar]
Build GHC package as part of stage 2, and install it.

The following changes will affect those building the GHC package:

  - BuildPackageGHC=YES is no longer required in build.mk
  - You must build stage 2 in order to get package ghc.
  - 'make install-inplace-pkg' is not required (nor does it work)
  - -package ghc can be used with the local stage1 or stage2 compiler
    in the current build tree, and it will be available after a
    'make install'.

The GHC package is no longer optional, but it doesn't add much to the
build time.

19 years ago[project @ 2005-03-23 11:36:54 by simonmar]
simonmar [Wed, 23 Mar 2005 11:36:54 +0000 (11:36 +0000)]
[project @ 2005-03-23 11:36:54 by simonmar]
Fix XML (sorry, Sven)

19 years ago[project @ 2005-03-22 17:33:38 by simonpj]
simonpj [Tue, 22 Mar 2005 17:33:38 +0000 (17:33 +0000)]
[project @ 2005-03-22 17:33:38 by simonpj]
Windows wibbles

19 years ago[project @ 2005-03-22 17:13:12 by simonmar]
simonmar [Tue, 22 Mar 2005 17:13:55 +0000 (17:13 +0000)]
[project @ 2005-03-22 17:13:12 by simonmar]
A start on the GHC API:

Flesh out the GHC module so that it can replace CompManager.  Now, the
clients that used CompManager consume the GHC API instead (namely
Main, DriverMkDepend, and InteractiveUI).  Main is significantly
cleaner as a result.

The interface needs more work: in particular, getInfo returns results
in the form of IfaceDecls but we want to use full HsSyn and
Id/DataCon/Class across the boundary instead.

The interfaces for inspecting loaded modules are not yet implemented.

19 years ago[project @ 2005-03-22 11:57:05 by simonmar]
simonmar [Tue, 22 Mar 2005 11:57:05 +0000 (11:57 +0000)]
[project @ 2005-03-22 11:57:05 by simonmar]
wibble

19 years ago[project @ 2005-03-22 11:56:07 by simonmar]
simonmar [Tue, 22 Mar 2005 11:56:07 +0000 (11:56 +0000)]
[project @ 2005-03-22 11:56:07 by simonmar]
update list of files to be touched during bootstrapping

19 years ago[project @ 2005-03-22 11:53:48 by simonmar]
simonmar [Tue, 22 Mar 2005 11:53:48 +0000 (11:53 +0000)]
[project @ 2005-03-22 11:53:48 by simonmar]
remove redundant dependency

19 years ago[project @ 2005-03-22 06:37:57 by wolfgang]
wolfgang [Tue, 22 Mar 2005 06:37:59 +0000 (06:37 +0000)]
[project @ 2005-03-22 06:37:57 by wolfgang]
Mac OS X: Make bindist work with dynamic libraries

MERGE TO STABLE

19 years ago[project @ 2005-03-21 18:04:48 by sof]
sof [Mon, 21 Mar 2005 18:04:49 +0000 (18:04 +0000)]
[project @ 2005-03-21 18:04:48 by sof]
__hscore_getFolderPath(): Don't limit ourselves to shell32.dll, look up
  shfolder.dll too.

Merge to STABLE.

19 years ago[project @ 2005-03-21 13:57:28 by simonmar]
simonmar [Mon, 21 Mar 2005 13:57:28 +0000 (13:57 +0000)]
[project @ 2005-03-21 13:57:28 by simonmar]
Update the -fno-cse flags

19 years ago[project @ 2005-03-21 10:50:22 by simonmar]
simonmar [Mon, 21 Mar 2005 10:50:34 +0000 (10:50 +0000)]
[project @ 2005-03-21 10:50:22 by simonmar]
Complete the transition of -split-objs into a dynamic flag (looks like I
half-finished it in the last commit).

Also: complete the transition of -tmpdir into a dynamic flag, which
involves some rearrangement of code from SysTools into DynFlags.

Someday, initSysTools should move wholesale into initDynFlags, because
most of the state that it initialises is now part of the DynFlags
structure, and the rest could be moved in easily.

19 years ago[project @ 2005-03-19 02:03:26 by sof]
sof [Sat, 19 Mar 2005 02:03:28 +0000 (02:03 +0000)]
[project @ 2005-03-19 02:03:26 by sof]
[Windows only]
for System.Directory / Compat.Directory functionality that probes the OS
for local details re: misc user directories, perform late binding of
SHGetFolderPath() from shell32.dll, as it may not be present.
(cf. ghc-6.4's failure to operate on Win9x / NT boxes.) If the API isn't
there, fail with UnsupportedOperation.
Packages.readPackageConfigs: gracefully handle excns from getAppUserDataDirectory.

Merge to STABLE.

19 years ago[project @ 2005-03-18 17:17:02 by simonpj]
simonpj [Fri, 18 Mar 2005 17:17:02 +0000 (17:17 +0000)]
[project @ 2005-03-18 17:17:02 by simonpj]
Import wibble

19 years ago[project @ 2005-03-18 17:16:00 by simonpj]
simonpj [Fri, 18 Mar 2005 17:16:07 +0000 (17:16 +0000)]
[project @ 2005-03-18 17:16:00 by simonpj]
Fix stage-2 build

19 years ago[project @ 2005-03-18 13:53:34 by simonmar]
simonmar [Fri, 18 Mar 2005 13:53:34 +0000 (13:53 +0000)]
[project @ 2005-03-18 13:53:34 by simonmar]
Undo rev. 1.6, these changes shouldn't have been in this tree

19 years ago[project @ 2005-03-18 13:37:27 by simonmar]
simonmar [Fri, 18 Mar 2005 13:41:59 +0000 (13:41 +0000)]
[project @ 2005-03-18 13:37:27 by simonmar]
Flags cleanup.

Basically the purpose of this commit is to move more of the compiler's
global state into DynFlags, which is moving in the direction we need
to go for the GHC API which can have multiple active sessions
supported by a single GHC instance.

Before:

$ grep 'global_var' */*hs | wc -l
     78

After:

$ grep 'global_var' */*hs | wc -l
     27

Well, it's an improvement.  Most of what's left won't really affect
our ability to host multiple sessions.

Lots of static flags have become dynamic flags (yay!).  Notably lots
of flags that we used to think of as "driver" flags, like -I and -L,
are now dynamic.  The most notable static flags left behind are the
"way" flags, eg. -prof.  It would be nice to fix this, but it isn't
urgent.

On the way, lots of cleanup has happened.  Everything related to
static and dynamic flags lives in StaticFlags and DynFlags
respectively, and they share a common command-line parser library in
CmdLineParser.  The flags related to modes (--makde, --interactive
etc.) are now private to the front end: in fact private to Main
itself, for now.

19 years ago[project @ 2005-03-18 11:19:27 by simonmar]
simonmar [Fri, 18 Mar 2005 11:19:27 +0000 (11:19 +0000)]
[project @ 2005-03-18 11:19:27 by simonmar]
merge rev. 1.6.2.1, simplified slightly:

  Initialise a CostCentreStack by generating SIZEOF_CostCentreStack
  (gotten from the C compiler) zeros, padded to the nearest word.
  Improves on the previous fixes for unpredictable padding (see comment).

19 years ago[project @ 2005-03-18 11:16:27 by simonmar]
simonmar [Fri, 18 Mar 2005 11:16:27 +0000 (11:16 +0000)]
[project @ 2005-03-18 11:16:27 by simonmar]
Add SIZEOF_CostCentreStack

19 years ago[project @ 2005-03-18 09:38:12 by simonpj]
simonpj [Fri, 18 Mar 2005 09:38:12 +0000 (09:38 +0000)]
[project @ 2005-03-18 09:38:12 by simonpj]
Clarify -main-is documentation

19 years ago[project @ 2005-03-17 13:16:55 by simonmar]
simonmar [Thu, 17 Mar 2005 13:16:55 +0000 (13:16 +0000)]
[project @ 2005-03-17 13:16:55 by simonmar]
Fix a few CCCS that should be W_[CCCS] that I just noticed.  I suspect
that heap-profiling STM code might run into difficulties in 6.4.