simonmar [Wed, 6 Apr 2005 21:51:17 +0000 (21:51 +0000)]
[project @ 2005-04-06 21:51:17 by simonmar]
way fix
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.
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.
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
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.
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
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())
simonmar [Tue, 5 Apr 2005 21:27:54 +0000 (21:27 +0000)]
[project @ 2005-04-05 21:27:54 by simonmar]
wibble
simonmar [Tue, 5 Apr 2005 21:26:11 +0000 (21:26 +0000)]
[project @ 2005-04-05 21:26:11 by simonmar]
unreg wibble
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
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
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.
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
simonmar [Tue, 5 Apr 2005 14:39:13 +0000 (14:39 +0000)]
[project @ 2005-04-05 14:39:13 by simonmar]
blackhole updates
simonmar [Tue, 5 Apr 2005 14:31:17 +0000 (14:31 +0000)]
[project @ 2005-04-05 14:31:17 by simonmar]
wibble
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
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.
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.
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.
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.
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
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
simonmar [Tue, 5 Apr 2005 09:28:32 +0000 (09:28 +0000)]
[project @ 2005-04-05 09:28:32 by simonmar]
type fixups
simonmar [Tue, 5 Apr 2005 09:23:12 +0000 (09:23 +0000)]
[project @ 2005-04-05 09:22:27 by simonmar]
type fixup
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.
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
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
simonpj [Mon, 4 Apr 2005 16:15:04 +0000 (16:15 +0000)]
[project @ 2005-04-04 16:15:04 by simonpj]
More stage2 wibbles
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
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.
simonmar [Mon, 4 Apr 2005 15:51:45 +0000 (15:51 +0000)]
[project @ 2005-04-04 15:51:45 by simonmar]
wibble
simonpj [Mon, 4 Apr 2005 15:22:25 +0000 (15:22 +0000)]
[project @ 2005-04-04 15:22:25 by simonpj]
Further HsSyn wibbles
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
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.
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
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
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
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.)
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.
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.
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.
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.
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
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)
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
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
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.
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
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
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.
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
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).
simonmar [Thu, 31 Mar 2005 09:17:37 +0000 (09:17 +0000)]
[project @ 2005-03-31 09:17:37 by simonmar]
foreign import syntax
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
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
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.
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
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
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).
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.
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
simonmar [Wed, 30 Mar 2005 14:13:42 +0000 (14:13 +0000)]
[project @ 2005-03-30 14:13:42 by simonmar]
Update module list
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
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.
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.
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.
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.
sof [Wed, 30 Mar 2005 01:12:51 +0000 (01:12 +0000)]
[project @ 2005-03-30 01:12:51 by sof]
canonicalize ffi decls
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
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.
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.
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.
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.
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.
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
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.
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
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
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.
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).
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)
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.
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.
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)
simonpj [Tue, 22 Mar 2005 17:33:38 +0000 (17:33 +0000)]
[project @ 2005-03-22 17:33:38 by simonpj]
Windows wibbles
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.
simonmar [Tue, 22 Mar 2005 11:57:05 +0000 (11:57 +0000)]
[project @ 2005-03-22 11:57:05 by simonmar]
wibble
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
simonmar [Tue, 22 Mar 2005 11:53:48 +0000 (11:53 +0000)]
[project @ 2005-03-22 11:53:48 by simonmar]
remove redundant dependency
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
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.
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
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.
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.
simonpj [Fri, 18 Mar 2005 17:17:02 +0000 (17:17 +0000)]
[project @ 2005-03-18 17:17:02 by simonpj]
Import wibble
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
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
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.
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).
simonmar [Fri, 18 Mar 2005 11:16:27 +0000 (11:16 +0000)]
[project @ 2005-03-18 11:16:27 by simonmar]
Add SIZEOF_CostCentreStack