ghc-hetmet.git
18 years agoEnable shortcutting of stack squeezing
Simon Marlow [Fri, 10 Mar 2006 20:44:49 +0000 (20:44 +0000)]
Enable shortcutting of stack squeezing
Not sure why it was disabled, probably by accident.

18 years agoextra sanity checking: call checkTSO() in resumeThread()
Simon Marlow [Fri, 10 Mar 2006 20:43:43 +0000 (20:43 +0000)]
extra sanity checking: call checkTSO() in resumeThread()

18 years agoGive WHITEHOLE the BLACKHOLE closure type, instead of INVALID_OBJECT
Simon Marlow [Fri, 10 Mar 2006 20:42:56 +0000 (20:42 +0000)]
Give WHITEHOLE the BLACKHOLE closure type, instead of INVALID_OBJECT
Just to keep sanity checking happy, and so we don't need a completely
new closure type.

18 years agoLook for a package.conf.d directory containing per-package .conf files
Simon Marlow [Mon, 13 Mar 2006 13:32:11 +0000 (13:32 +0000)]
Look for a package.conf.d directory containing per-package .conf files
Contributed by Duncan Coutts, with changes to merge into the HEAD.
This isn't the full deal, ghc-pkg still modifies files only, but it's
enough to help the Gentoo folk along.

18 years agoMove the very broad "i[[3456]]86-*-gnu*" HostPlatform pattern to the end.
Ian Lynagh [Tue, 7 Mar 2006 16:11:40 +0000 (16:11 +0000)]
Move the very broad "i[[3456]]86-*-gnu*" HostPlatform pattern to the end.

18 years agofix the build with GHC 6.4 (not 6.4.1)
Simon Marlow [Fri, 10 Mar 2006 11:04:09 +0000 (11:04 +0000)]
fix the build with GHC 6.4 (not 6.4.1)

18 years agoWibble in HscMain.
Lemmih [Fri, 10 Mar 2006 02:14:42 +0000 (02:14 +0000)]
Wibble in HscMain.

18 years agoInitial foundation for quickcheck tests.
Lemmih [Fri, 10 Mar 2006 02:05:14 +0000 (02:05 +0000)]
Initial foundation for quickcheck tests.

I have no idea how to use the testsuite so I'll start
making QuickCheck tests instead.
I've included tests for 'HeaderInfo.getOptions'.

18 years agoParse OPTIONS properly and cache the result.
Lemmih [Fri, 10 Mar 2006 01:10:35 +0000 (01:10 +0000)]
Parse OPTIONS properly and cache the result.

Use the lexer to parse OPTIONS, LANGUAGE and INCLUDE pragmas.
This gives us greater flexibility and far better error
messages. However, I had to make a few quirks:
  * The token parser is written manually since Happy doesn't
    like lexer errors (we need to extract options before the
    buffer is passed through 'cpp'). Still better than
    manually parsing a String, though.
  * The StringBuffer API has been extended so files can be
    read in blocks.
I also made a new field in ModSummary called ms_hspp_opts
which stores the updated DynFlags. Oh, and I took the liberty
of moving 'getImports' into HeaderInfo together with
'getOptions'.

18 years agoFix -ddump-if-trace
Lemmih [Wed, 8 Mar 2006 17:52:10 +0000 (17:52 +0000)]
Fix -ddump-if-trace

18 years agoBug fix in the new HscMain code.
Lemmih [Wed, 8 Mar 2006 17:50:36 +0000 (17:50 +0000)]
Bug fix in the new HscMain code.

I'm not sure what really happens here but this is how it's
done in the old HscMain code and it appears to work.

18 years agofix one #ifdef SMP that didn't get turned into #ifdef THREADED_RTS
Simon Marlow [Tue, 7 Mar 2006 09:59:49 +0000 (09:59 +0000)]
fix one #ifdef SMP that didn't get turned into #ifdef THREADED_RTS

18 years agox86_64: add -fno-builtin to gcc command line for .hc files.
Simon Marlow [Tue, 7 Mar 2006 09:38:00 +0000 (09:38 +0000)]
x86_64: add -fno-builtin to gcc command line for .hc files.
This seems to be required now that we're stealing more registers.

18 years agoMore work thrown at HscMain.
Lemmih [Tue, 7 Mar 2006 07:37:36 +0000 (07:37 +0000)]
More work thrown at HscMain.

MkIface.writeIfaceFile doesn't check GhcMode anymore. All it does
is what the name say: write an interface to disk.
I've refactored HscMain so the logic is easier to manage. That means
we can avoid running the simplifier when typechecking (: And best of
all, HscMain doesn't use GhcMode at all, anymore!

The new HscMain intro looks like this:

It's the task of the compilation proper to compile Haskell, hs-boot and
core files to either byte-code, hard-code (C, asm, Java, ect) or to
nothing at all (the module is still parsed and type-checked. This
feature is mostly used by IDE's and the likes).
Compilation can happen in either 'one-shot', 'batch', 'nothing',
or 'interactive' mode. 'One-shot' mode targets hard-code, 'batch' mode
targets hard-code, 'nothing' mode targets nothing and 'interactive' mode
targets byte-code.
The modes are kept separate because of their different types and meanings.
In 'one-shot' mode, we're only compiling a single file and can therefore
discard the new ModIface and ModDetails. This is also the reason it only
targets hard-code; compiling to byte-code or nothing doesn't make sense
when we discard the result.
'Batch' mode is like 'one-shot' except that we keep the resulting ModIface
and ModDetails. 'Batch' mode doesn't target byte-code since that require
us to return the newly compiled byte-code.
'Nothing' mode has exactly the same type as 'batch' mode but they're still
kept separate. This is because compiling to nothing is fairly special: We
don't output any interface files, we don't run the simplifier and we don't
generate any code.
'Interactive' mode is similar to 'batch' mode except that we return the
compiled byte-code together with the ModIface and ModDetails.

18 years agoMake it clear when the symbols are using by the interpreter.
Lemmih [Mon, 6 Mar 2006 03:34:26 +0000 (03:34 +0000)]
Make it clear when the symbols are using by the interpreter.

18 years agoUse Darwin-compatible x86 assembly syntax in SMP.h (lock/cmpxchg with a slash)
wolfgang.thaller@gmx.net [Mon, 6 Mar 2006 03:48:20 +0000 (03:48 +0000)]
Use Darwin-compatible x86 assembly syntax in SMP.h (lock/cmpxchg with a slash)

18 years agoDarwin/x86: Implement object splitting
wolfgang.thaller@gmx.net [Mon, 6 Mar 2006 03:47:20 +0000 (03:47 +0000)]
Darwin/x86: Implement object splitting

18 years agoMach-O Linker: handle multiple import sections
wolfgang.thaller@gmx.net [Mon, 6 Mar 2006 03:30:52 +0000 (03:30 +0000)]
Mach-O Linker: handle multiple import sections

In the rare event that a .o file contains more than one flavour of a
[non]lazy pointers sections, resolve all of them, not just one.

18 years agoImport symbols needed by the interpreter.
Lemmih [Mon, 6 Mar 2006 01:39:26 +0000 (01:39 +0000)]
Import symbols needed by the interpreter.

18 years agoThe parser needs a set of parentheses when we don't use unsafeCoerce.
Lemmih [Sun, 5 Mar 2006 17:35:39 +0000 (17:35 +0000)]
The parser needs a set of parentheses when we don't use unsafeCoerce.

18 years ago'have_object' isn't needed in a typed environment.
Lemmih [Sat, 4 Mar 2006 19:14:10 +0000 (19:14 +0000)]
'have_object' isn't needed in a typed environment.

18 years agoFIXME's.
Lemmih [Sat, 4 Mar 2006 18:54:35 +0000 (18:54 +0000)]
FIXME's.

18 years agoWhy name a function 'getGhciMode' when it returns GhcMode?
Lemmih [Sat, 4 Mar 2006 16:53:03 +0000 (16:53 +0000)]
Why name a function 'getGhciMode' when it returns GhcMode?

I've changed the name to 'getGhcMode'. If someone changes
it back, please write an explanation above it.

18 years agoEnumerate imports and remove dead code.
Lemmih [Sat, 4 Mar 2006 13:41:50 +0000 (13:41 +0000)]
Enumerate imports and remove dead code.

18 years agoUse hscCodeGenNothing instead of hscCodeGenSimple.
Lemmih [Sat, 4 Mar 2006 13:30:08 +0000 (13:30 +0000)]
Use hscCodeGenNothing instead of hscCodeGenSimple.

18 years agoComments and esthetical changes.
Lemmih [Sat, 4 Mar 2006 13:27:12 +0000 (13:27 +0000)]
Comments and esthetical changes.

18 years agoRemove the old HscMain code.
Lemmih [Sat, 4 Mar 2006 13:03:27 +0000 (13:03 +0000)]
Remove the old HscMain code.

18 years agoUse the new HscMain API in DriverPipeline.
Lemmih [Sat, 4 Mar 2006 12:41:11 +0000 (12:41 +0000)]
Use the new HscMain API in DriverPipeline.

18 years agoExport the new HscMain API.
Lemmih [Sat, 4 Mar 2006 12:40:51 +0000 (12:40 +0000)]
Export the new HscMain API.

18 years agoAllow hscCompileMake to target HscNothing.
Lemmih [Sat, 4 Mar 2006 12:39:57 +0000 (12:39 +0000)]
Allow hscCompileMake to target HscNothing.

18 years agoDescription of the new HscMain.
Lemmih [Sat, 4 Mar 2006 12:35:55 +0000 (12:35 +0000)]
Description of the new HscMain.

18 years agoInitial hack on the new low-level compiler API.
Lemmih [Sat, 4 Mar 2006 00:24:40 +0000 (00:24 +0000)]
Initial hack on the new low-level compiler API.

None of the new code is in use yet.

The current Haskell compiler (HscMain.hscMain) isn't as typed
and as hack-free as we'd like. Here's a list of the things it
does wrong:
  * In one shot mode, it returns the new interface as _|_,
    when recompilation isn't required. It's then up to the
    users of hscMain to keep their hands off the result.
  * (Maybe ModIface) is passed around when it's known that it's
    a Just. Hey, we got a type-system, let's use it.
  * In one shot mode, the backend is returning _|_ for the
    new interface. This is done to prevent space leaks since
    we know that the result of a one shot compilation is never
    used. Again, it's up to the users of hscMain to keep their
    hands off the result.
  * It is allowed to compile a hs-boot file to bytecode even
    though that doesn't make sense (it always returns
    Nothing::Maybe CompiledByteCode).
  * Logic and grunt work is completely mixed. The frontend
    and backend keeps checking what kind of input they're handling.
    This makes it very hard to get an idea of what the functions
    actually do.
  * Extra work is performed when using a null code generator.

The new code refactors out the frontends (Haskell, Core), the
backends (Haskell, boot) and the code generators (one-shot, make,
nothing, interactive) and allows them to be combined in typesafe ways.
A one-shot compilation doesn't return new interfaces at all so we
don't need the _|_ space-leak hack. In 'make' mode (when not
targeting bytecode) the result doesn't contain
Nothing::Maybe CompiledByteCode. In interactive mode, the result
is always a CompiledByteCode. The code gens are completely separate
so compiling to Nothing doesn't perform any extra work.

DriverPipeline needs a bit of work before it can use the new
API.

18 years agocallerSaveVolatileRegs: fix the Nothing case
Simon Marlow [Fri, 3 Mar 2006 13:31:35 +0000 (13:31 +0000)]
callerSaveVolatileRegs: fix the Nothing case
When the volatile regs attached to a CmmCall is Nothing, it means
"save everything", not "save nothing".

18 years agoDarwin/x86: Support __IMPORT segments in the Linker
wolfgang.thaller@gmx.net [Thu, 9 Feb 2006 06:16:09 +0000 (06:16 +0000)]
Darwin/x86: Support __IMPORT segments in the Linker

18 years agoDarwin/x86 Mangler: Make sure each imported symbol stub gets a separate chunk.
wolfgang.thaller@gmx.net [Sun, 5 Feb 2006 16:26:18 +0000 (16:26 +0000)]
Darwin/x86 Mangler: Make sure each imported symbol stub gets a separate chunk.

18 years agoDarwin/x86: Print 64-bit literals in a way Apple understands.
wolfgang.thaller@gmx.net [Sun, 5 Feb 2006 16:24:53 +0000 (16:24 +0000)]
Darwin/x86: Print 64-bit literals in a way Apple understands.

18 years agoDarwin/x86: Handle IMPORT sections in mangler
wolfgang.thaller@gmx.net [Fri, 3 Feb 2006 03:52:20 +0000 (03:52 +0000)]
Darwin/x86: Handle IMPORT sections in mangler

18 years agoFix free-variable finder
simonpj@microsoft.com [Thu, 2 Mar 2006 17:52:47 +0000 (17:52 +0000)]
Fix free-variable finder

After a long hunt I discovered that the reason that GHC.Enum.eftIntFB
was being marked as a loop-breaker was the bizare behaviour of exprFreeVars,
which returned not only the free variables of an expression but also the
free variables of RULES attached to variables occuring in the expression!

This was clearly deliberate (the comment was CoreFVs rev 1.1 in 1999) but
I've removed it; I've left the comment with further notes in case there
turns out to be a Deep Reason.

18 years agoMake -split-objs work with --make
Simon Marlow [Thu, 2 Mar 2006 17:05:05 +0000 (17:05 +0000)]
Make -split-objs work with --make
This turned out to be a lot easier than I thought.  Just moving a few
bits of -split-objs support from the build system into the compiler
was enough.  The only thing that Cabal needs to do in order to support
-split-objs now is to pass the names of the split objects rather than
the monolithic ones to 'ar'.

18 years agofix for compiling the base package with --make
Simon Marlow [Thu, 2 Mar 2006 16:30:59 +0000 (16:30 +0000)]
fix for compiling the base package with --make

18 years agoreplace several 'fromJust's with 'expectJust's
Simon Marlow [Thu, 2 Mar 2006 14:16:28 +0000 (14:16 +0000)]
replace several 'fromJust's with 'expectJust's

18 years agominor cleanup; remove one use of fromJust
Simon Marlow [Thu, 2 Mar 2006 14:08:18 +0000 (14:08 +0000)]
minor cleanup; remove one use of fromJust

18 years agoSigh: one more fix to undoing the erroneous patch
simonpj@microsoft.com [Thu, 2 Mar 2006 13:52:58 +0000 (13:52 +0000)]
Sigh: one more fix to undoing the erroneous patch

18 years agoRemember the free vars in HsRule.
Lemmih [Wed, 1 Mar 2006 19:41:45 +0000 (19:41 +0000)]
Remember the free vars in HsRule.

18 years agoComplete undo of Simplify-the-IdInfo-before-any-RHSs
simonpj@microsoft.com [Wed, 1 Mar 2006 17:56:00 +0000 (17:56 +0000)]
Complete undo of Simplify-the-IdInfo-before-any-RHSs

18 years agoDisable the NCG if GhcUnregisterised=YES
Simon Marlow [Wed, 1 Mar 2006 16:53:41 +0000 (16:53 +0000)]
Disable the NCG if GhcUnregisterised=YES
The NCG cannot be used in an unregisterised compiler, so there's no
point in including it.

18 years agoUndo patch Simplify-the-IdInfo-before-any-RHSs
simonpj@microsoft.com [Wed, 1 Mar 2006 16:14:23 +0000 (16:14 +0000)]
Undo patch Simplify-the-IdInfo-before-any-RHSs

Sadly the above patch wasn't right, because it fouls
up pre/postInlineUnconditionally.  This patch puts
things back as they were functionally, but with slightly
tidied-up code.

18 years agofix parse error
Simon Marlow [Wed, 1 Mar 2006 16:07:01 +0000 (16:07 +0000)]
fix parse error

18 years agofix compilation with older GHCs
Simon Marlow [Wed, 1 Mar 2006 14:09:31 +0000 (14:09 +0000)]
fix compilation with older GHCs

18 years agoupdate docs w.r.t. dllMain() definition (EXTFUN is no more)
Simon Marlow [Wed, 1 Mar 2006 13:07:36 +0000 (13:07 +0000)]
update docs w.r.t. dllMain() definition (EXTFUN is no more)

18 years agoadd comments
Simon Marlow [Wed, 1 Mar 2006 13:20:18 +0000 (13:20 +0000)]
add comments

18 years agoadd ':set prompt' command
Simon Marlow [Wed, 1 Mar 2006 13:19:48 +0000 (13:19 +0000)]
add ':set prompt' command

contributed by Neil Mitchell <ndmitchell@gmail.com>, with docs by me.

18 years agoAdd support for Data.Char.generalCategory to libcompat
Simon Marlow [Wed, 1 Mar 2006 11:35:36 +0000 (11:35 +0000)]
Add support for Data.Char.generalCategory to libcompat

this is so that the stage1 compiler has proper support for Unicode.
Should fix these errors:

  lexical error in string/character literal at character '\8759'

when building the stage2 compiler.

18 years agotakeMVar/putMVar were missing some write barriers when modifying a TSO
Simon Marlow [Tue, 28 Feb 2006 16:37:24 +0000 (16:37 +0000)]
takeMVar/putMVar were missing some write barriers when modifying a TSO

This relates to the recent introduction of clean/dirty TSOs, and the
consqeuent write barriers required.  We were missing some write
barriers in the takeMVar/putMVar family of primops, when performing
the take/put directly on another TSO.

Fixes #705, and probably some test failures.

18 years agoA better x86_64 register mapping, with more argument registers.
Simon Marlow [Tue, 28 Feb 2006 15:36:40 +0000 (15:36 +0000)]
A better x86_64 register mapping, with more argument registers.

Now that we can handle using C argument registers as global registers,
extend the x86_64 register mapping.  We now have 5 integer argument
registers, 4 float, and 2 double (all caller-saves).  This results in a
reasonable speedup on x86_64.

18 years agofilter the messages generated by gcc
Simon Marlow [Tue, 28 Feb 2006 15:31:34 +0000 (15:31 +0000)]
filter the messages generated by gcc

Eliminate things like "warning: call-clobbered register used as global
register variable", which is an non-suppressible warning from gcc.

18 years agoAllow C argument regs to be used as global regs (R1, R2, etc.)
Simon Marlow [Tue, 28 Feb 2006 15:29:42 +0000 (15:29 +0000)]
Allow C argument regs to be used as global regs (R1, R2, etc.)

The problem here was that we generated C calls with expressions
involving R1 etc. as parameters.  When some of the R registers are
also C argument registers, both GCC and the native code generator
generate incorrect code.  The hacky workaround is to assign
problematic arguments to temporaries first; fortunately this works
with both GCC and the NCG, but we have to be careful not to undo this
with later optimisations (see changes to CmmOpt).

18 years agopass arguments to unknown function calls in registers
Simon Marlow [Tue, 28 Feb 2006 15:25:24 +0000 (15:25 +0000)]
pass arguments to unknown function calls in registers

We now have more stg_ap entry points: stg_ap_*_fast, which take
arguments in registers according to the platform calling convention.
This is faster if the function being called is evaluated and has the
right arity, which is the common case (see the eval/apply paper for
measurements).

We still need the stg_ap_*_info entry points for stack-based
application, such as an overflows when a function is applied to too
many argumnets.  The stg_ap_*_fast functions actually just check for
an evaluated function, and if they don't find one, push the args on
the stack and invoke stg_ap_*_info.  (this might be slightly slower in
some cases, but not the common case).

18 years agofix live register annotations on foreign calls
Simon Marlow [Tue, 28 Feb 2006 15:18:15 +0000 (15:18 +0000)]
fix live register annotations on foreign calls

fix one incorrect case, and made several more accurate

18 years ago Simplify the IdInfo before any RHSs
simonpj@microsoft.com [Tue, 28 Feb 2006 13:31:57 +0000 (13:31 +0000)]
Simplify the IdInfo before any RHSs
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Simplfy (i.e. substitute) the IdInfo of a recursive group of Ids
before looking at the RHSs of *any* of them.  That way, the rules
are available throughout the letrec, which means we don't have to
be careful about function to put first.

Before, we just simplified the IdInfo of f before looking at f's RHS,
but that's not so good when f and g both have RULES, and both rules
mention the other.

This change makes things simpler, but shouldn't change performance.

18 years agoAdd floating-point symbols to the list
simonpj@microsoft.com [Tue, 28 Feb 2006 11:45:02 +0000 (11:45 +0000)]
Add floating-point symbols to the list

18 years agoslightly better dependencies for GenApply.hs
Simon Marlow [Mon, 27 Feb 2006 15:38:28 +0000 (15:38 +0000)]
slightly better dependencies for GenApply.hs

18 years agox86_64: include .type and .size directives in the output, for valgrind
Simon Marlow [Mon, 27 Feb 2006 15:28:22 +0000 (15:28 +0000)]
x86_64: include .type and .size directives in the output, for valgrind

18 years agoThe initStablePtrTable should be called before ACQUIRE_LOCK(&stable_mutex)
kr.angelov@gmail.com [Wed, 22 Feb 2006 20:29:12 +0000 (20:29 +0000)]
The initStablePtrTable should be called before ACQUIRE_LOCK(&stable_mutex)

18 years agosupport LOCK_DEBUG for Windows
kr.angelov@gmail.com [Wed, 22 Feb 2006 20:17:21 +0000 (20:17 +0000)]
support LOCK_DEBUG for Windows

18 years agommap() errors on Darwin: use errorBelch/exit instead of barf()
Simon Marlow [Mon, 27 Feb 2006 11:11:03 +0000 (11:11 +0000)]
mmap() errors on Darwin: use errorBelch/exit instead of barf()

The most likely cause is out-of-memory, not an RTS error.

18 years agoremove empty .SECONDARY target
Simon Marlow [Mon, 27 Feb 2006 10:59:39 +0000 (10:59 +0000)]
remove empty .SECONDARY target

This works around a problem with recent versions of GNU make that take
a long time when all targets are declared intermediate with
.SECONDARY.  See

  https://savannah.gnu.org/bugs/?func=detailitem&item_id=15584

for discussion of the GNU make issue.

18 years agothese tables have four columns, not three
claus.reinke@talk21.com [Sat, 25 Feb 2006 21:59:45 +0000 (21:59 +0000)]
these tables have four columns, not three

18 years agoRemove comment about imports and exports not being in the renamer result.
Lemmih [Sun, 26 Feb 2006 12:04:07 +0000 (12:04 +0000)]
Remove comment about imports and exports not being in the renamer result.

18 years agoNCG: fix mkRegRegMoveInstr for x86-64
wolfgang.thaller@gmx.net [Sat, 25 Feb 2006 22:59:20 +0000 (22:59 +0000)]
NCG: fix mkRegRegMoveInstr for x86-64

18 years agoNCG: Fix Typo in Register Allocator Loop Patch
wolfgang.thaller@gmx.net [Sat, 25 Feb 2006 03:39:54 +0000 (03:39 +0000)]
NCG: Fix Typo in Register Allocator Loop Patch

Fix previous patch "NCG: Handle loops in register allocator"
Of course, I broke it when correcting a style problem just before committing.

18 years agoNCG: Handle loops in register allocator
wolfgang.thaller@gmx.net [Sat, 25 Feb 2006 03:14:34 +0000 (03:14 +0000)]
NCG: Handle loops in register allocator

Fill in the missing parts in the register allocator so that it can
handle loops.

*) The register allocator now runs in the UniqSuppy monad, as it needs
   to be able to generate unique labels for fixup code blocks.

*) A few functions have been added to RegAllocInfo:
mkRegRegMoveInstr -- generates a good old move instruction
mkBranchInstr     -- used to be MachCodeGen.genBranch
patchJump         -- Change the destination of a jump

*) The register allocator now makes sure that only one spill slot is used
   for each temporary, even if it is spilled and reloaded several times.
   This obviates the need for memory-to-memory moves in fixup code.

LIMITATIONS:

*) The case where the fixup code needs to cyclically permute a group of
   registers is currently unhandled. This will need more work once we come
   accross code where this actually happens.

*) Register allocation for code with loop is probably very inefficient
   (both at compile-time and at run-time).

*) We still cannot compile the RTS via NCG, for various other reasons.

18 years agoOops, I got a little trigger happy while trimming package.conf.in.
Lemmih [Fri, 24 Feb 2006 22:37:04 +0000 (22:37 +0000)]
Oops, I got a little trigger happy while trimming package.conf.in.

18 years agoPrettify parts of RnNames. No change of functionality.
Lemmih [Fri, 24 Feb 2006 21:50:20 +0000 (21:50 +0000)]
Prettify parts of RnNames. No change of functionality.

18 years agoRemove duplicate code from RnNames.
Lemmih [Fri, 24 Feb 2006 21:27:48 +0000 (21:27 +0000)]
Remove duplicate code from RnNames.

18 years agoRemove non-existing modules from package.conf.in
Lemmih [Fri, 24 Feb 2006 20:37:27 +0000 (20:37 +0000)]
Remove non-existing modules from package.conf.in

18 years agoRemove some unused bindings frm RnNames.
Lemmih [Fri, 24 Feb 2006 16:54:09 +0000 (16:54 +0000)]
Remove some unused bindings frm RnNames.

18 years agoRather large refactoring of RnNames.
Lemmih [Fri, 24 Feb 2006 15:47:04 +0000 (15:47 +0000)]
Rather large refactoring of RnNames.

This restructoring makes the renamed export and import lists
available in IDE mode.

18 years agoadd file to go with "extract some of the generic..." patch
Simon Marlow [Fri, 24 Feb 2006 14:41:26 +0000 (14:41 +0000)]
add file to go with "extract some of the generic..." patch

18 years agooops, undo accidental addition of package-time settings
Simon Marlow [Fri, 24 Feb 2006 14:30:51 +0000 (14:30 +0000)]
oops, undo accidental addition of package-time settings

18 years agoturn off a trace
Simon Marlow [Fri, 24 Feb 2006 12:46:08 +0000 (12:46 +0000)]
turn off a trace

18 years agoadd instance Outputable CLabel
Simon Marlow [Fri, 24 Feb 2006 12:43:49 +0000 (12:43 +0000)]
add instance Outputable CLabel

18 years ago-O2 implies -optc-O2 now
Simon Marlow [Fri, 24 Feb 2006 12:40:33 +0000 (12:40 +0000)]
-O2 implies -optc-O2 now

18 years agoextract some of the generic C-- optimisations from the NCG
Simon Marlow [Fri, 24 Feb 2006 11:17:53 +0000 (11:17 +0000)]
extract some of the generic C-- optimisations from the NCG

18 years agolag/drag/void: add an extra assertion, and some commentary
Simon Marlow [Thu, 23 Feb 2006 15:51:20 +0000 (15:51 +0000)]
lag/drag/void: add an extra assertion, and some commentary

18 years agolag/drag/void profiling fix
Simon Marlow [Thu, 23 Feb 2006 15:50:46 +0000 (15:50 +0000)]
lag/drag/void profiling fix

We were searching the wrong part of the heap for dead objects, this
was broken by recent changes to the step structure: from-space is now
in step->old_blocks, not step->blocks.  Fortunately some assertions in
ProfHeap picked up the problem.

18 years agoadd (trivial) support for STM objects in lag/drag/void profiling
Simon Marlow [Thu, 23 Feb 2006 15:48:59 +0000 (15:48 +0000)]
add (trivial) support for STM objects in lag/drag/void profiling

18 years agobugfix for LDV profiling on 64-bit platforms
Simon Marlow [Thu, 23 Feb 2006 15:09:04 +0000 (15:09 +0000)]
bugfix for LDV profiling on 64-bit platforms

There was an integer overflow in the definition of LDV_RECORD_CREATE
when StgWord is 64 bits.

18 years agowarning fix
Simon Marlow [Thu, 23 Feb 2006 14:45:37 +0000 (14:45 +0000)]
warning fix

18 years agofurther fix for floating point primitives
Simon Marlow [Thu, 23 Feb 2006 14:30:13 +0000 (14:30 +0000)]
further fix for floating point primitives

18 years agoComment wibbles
simonpj@microsoft.com [Thu, 23 Feb 2006 14:21:01 +0000 (14:21 +0000)]
Comment wibbles

18 years agoWibbles to instance validity checking
simonpj@microsoft.com [Thu, 23 Feb 2006 13:41:54 +0000 (13:41 +0000)]
Wibbles to instance validity checking

18 years agoFix comment
simonpj@microsoft.com [Thu, 23 Feb 2006 13:01:04 +0000 (13:01 +0000)]
Fix comment

18 years agoImprove error reporting for type-improvement errors
simonpj@microsoft.com [Thu, 23 Feb 2006 13:00:29 +0000 (13:00 +0000)]
Improve error reporting for type-improvement errors

18 years agoReject polytypes in instance declarations (for now anyway)
simonpj@microsoft.com [Thu, 23 Feb 2006 12:59:58 +0000 (12:59 +0000)]
Reject polytypes in instance declarations (for now anyway)

18 years agoRemove duplicate comment
simonpj@microsoft.com [Fri, 10 Feb 2006 10:40:28 +0000 (10:40 +0000)]
Remove duplicate comment

18 years agoAdd renamed fixities to HsGroup.
Lemmih [Wed, 22 Feb 2006 17:36:48 +0000 (17:36 +0000)]
Add renamed fixities to HsGroup.

18 years agooops, initialize atomic_modify_mutvar_mutex
Simon Marlow [Wed, 22 Feb 2006 16:38:27 +0000 (16:38 +0000)]
oops, initialize atomic_modify_mutvar_mutex

18 years agocheck black holes before doing GC in scheduleDoHeapProfile()
Simon Marlow [Wed, 22 Feb 2006 16:07:33 +0000 (16:07 +0000)]
check black holes before doing GC in scheduleDoHeapProfile()

fixes #687, see comment for details.

18 years agofix for ASSIGN_BaseReg() in the unregisterised way
Simon Marlow [Wed, 22 Feb 2006 14:18:36 +0000 (14:18 +0000)]
fix for ASSIGN_BaseReg() in the unregisterised way