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

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.