- Mar 01, 2000
-
-
Keith Wansbrough authored
Display (overall) averages for per-module statistics as well as for per-program statistics. Also, with `-d' (default; `-n' to turn off) compute geometric standard deviations and display +/- 1 s.d. points as well as average. Note that since these are *geometric*, the lower point will appear closer to the average than the upper. This is correct behaviour.
-
Jeff Lewis authored
Filled in some missing support for importing defs w/ implicit params. Fixed bug in improvement w/ implicit params.
-
Julian Seward authored
forceIO_ret_entry, when #ifndef REG_R1: remember to load Node.
-
sven.panne@aedion.de authored
Because of the previous HaXml-"improvement" :-}, syslib text now depends on syslib data.
-
Julian Seward authored
Temporarily disable Stix inlining whilst we figure out how to fix obscure bugs in the register allocator. With inlining off, everything seems to work, and the compiler can boot itself, but when enabled, inlining exposes a register allocation bug which causes ghc/compiler/utils/FastString.lhs to be miscompiled on Linux (the big arithmetic expressions for computing hash values).
-
Simon Marlow authored
oops, remove assigment to non-existent "emitted" field in a CCS.
-
- Feb 29, 2000
-
-
sof authored
Added removeIndirections() and make use of it in lookupStableName() -- increases the possibilities of StableName sharing.
-
Simon Marlow authored
Change the behaviour of the cost-centre stack profiler for recursive sccs. Before, we used to remove the old copy of the CC from the stack and push the new one on. Now, we record back-edges in the graph when a recursive scc is detected. This should give saner-looking cost-centre stacks for heavily recursive code. Indeed, it reduces the number of stacks in the profile for some examples considerably.
-
Simon Marlow authored
Ctrl-C now interrupts the RTS safely. Previously it called shutdownHaskellAndExit() from the signal handler directly, which isn't safe because we may have been interrupted during GC or whatever. Now we set the interrupted flag and wait for the RTS to shut down by itself.
-
Julian Seward authored
Make foreign import work in combined mode: -- Allow interpreter to do ccall primops even in combined mode -- Implement hugsprimMkIO in combined mode, so as to wrap up a an IO value created by Hugs in a form compatible with GHC's IO representation.
-
Julian Seward authored
The GHC Prelude doesn't seem to export Addr. Make it do so in combined mode for compatibility with standalone mode.
-
Simon Marlow authored
Fix boundary cases for quotInteger, remInteger & a few others. These changes somehow escaped 4.06 and have been sitting in my tree for a while.
-
Julian Seward authored
Update sparc-specific parts of NCG to use new infrastructure, so they will at least compile under Solaris. Won't work (yet) tho.
-
- Feb 28, 2000
-
-
Jeff Lewis authored
Fix signatures w/ implicit parameter types in them (in particular, correctly handle the case where there are no type variables). Also made a few more things Outputable. Nuke outdated comment in Parser.y.
-
Simon Marlow authored
Add haxml/lib to imports for -syslib text.
-
Simon Marlow authored
Only fill in the ARG_TAG when DEBUG is on, for unregisterised.
-
Julian Seward authored
Many changes to improve the quality and correctness of generated code, both for x86 and all-platforms. The intent is that the x86 NCG will now be good enough for general use. -- Add an almost-trivial Stix (generic) peephole optimiser, whose sole purpose is elide assignments to temporaries used only once, in the very next tree. This generates substantially better code for conditionals on all platforms. Enhance Stix constant folding to take advantage of the inlining. The inlining presents subsequent insn selection phases with more complex trees than would have previously been used to. This has shown up several bugs in the x86 insn selectors, now fixed. (assumptions that data size is Word, when could be Byte, assumptions that an operand will always be in a temp reg, etc) -- x86: Use the FLDZ and FLD1 insns. -- x86: spill FP registers with 80-bit loads/stores so that Intel's extra 16 bits of accuracy are not lost. If this isn't done, FP spills are not suitably transparent. Increase the number of spill words available to 2048. -- x86: give the register allocator more flexibility in choosing spill temporaries. -- x86, RegAllocInfo.regUsage: fix error for GST, and rewrite to make it clearer. -- Correctly track movements in the C stack pointer, and generate correct spill code for archs which spill against the stack pointer even when the stack pointer moves. Redo the x86 ccall mechanism to push args on the C stack in the normal way. Rather than have the spiller have to analyse code sequences to determine the current stack offset, the insn selectors communicate the current offset whenever it changes by inserting a DELTA pseudo-insn. Then the spiller only has to spot DELTAs. This means having a new native-code-generator monad (Stix.NatM) which carries both a UniqSupply and the current stack offset. -- Remove the asmPar/asmSeq ways of grouping insns together. In the presence of fixed registers, it is hard to demonstrate that insn selectors using asmPar always give correct code, and the extra complication doesn't help any. Also, directly construct code sequences using tree-based ordered lists (utils/OrdList.lhs) for linear-time appends, rather than the bizarrely complex method using fns and fn composition. -- Inline some hcats in printing of x86 address modes. -- Document more of the hidden assumptions which insn selection relies on, particular wrt addressing modes.
-
Simon Marlow authored
oops, back out local patch that accidentally got committed with rev. 1.139.
-
Simon Marlow authored
fix = vs. == in conditional
-
Simon Marlow authored
document the -recomp option explicitly.
-
Simon Marlow authored
'IPVARID :: type' moved from btype to type, to reduce conflicts.
-
- Feb 25, 2000
-
-
AndyGill authored
Wibble. (#ifdef incorrectly nested inside begin-end code)
-
Julian Seward authored
Use createIOThread and not createGenThread, even for the interpreter.
-
Simon Marlow authored
Add simple mkWeakPtr/addFinalizer test.
-
Simon Marlow authored
The finalizer passed to mkWeak# might be NULL, so we'd better not claim it's always pointer if we need to GC. Another bug squashed...
-
sven.panne@aedion.de authored
*ahem* Re-enable -fwarn-unused-binds and -fwarn-unused-imports... :-}
-
sven.panne@aedion.de authored
Deprecations of variables now works, although the source location is not yet reported correctly and the code needs some cleanup. Added a new flag -fwarn-deprecations to the set of standard warnings. The syntax of deprecations has been extended to deprecate types, classes, or even constructors, although this does not work yet.
-
Simon Marlow authored
add -ltermcap when looking for -lreadline. From: Michael Weber.
-
Julian Seward authored
Nuke PTR_ON_HEAP and all associated ifdeffery; we always need it.
-
Simon Marlow authored
Make the desugarer a little more liberal about the class of case expressions which get the special unboxed tuple treatment.
-
Simon Marlow authored
silence linker warnings on HP/UX. From: Eric Schweitz <schweitz@nortelnetworks.com>
-
- Feb 24, 2000
-
-
Simon Marlow authored
update for format changes in cacheprof.out.summary.
-
Julian Seward authored
primUnpackString --> hugsprimUnpackString
-
Simon Marlow authored
Correct [un]blockAsyncExceptionszh_ret in the #ifndef REG_R1 case.
-
Julian Seward authored
Don't always use GMP from ghc/rts; instead consult HaveLibGmp first.
-
Julian Seward authored
Remove debugging junk accidentally left in :-(
-
Julian Seward authored
Wibbles for Win32 standalone compilation of Hugs: -- Turn off debugging miniinterpreter -- Change SIZEOF_INTP (which no longer exists) into SIZEOF_VOID_P
-
Julian Seward authored
Use the GMP library built in ghc/rts, not the system-supplied one, since that doesn't exist on Cygwin.
-
Julian Seward authored
#ifdef wurbles to aid Win32 compilation.
-
- Feb 23, 2000
-
-
Jeff Lewis authored
Handle `with' more cleverly. I was generating partially applied methods for the case where the `with' expression was also overloaded, but this was buggy, and completely unnecessary. Instead, simply force the method binding at the point of the `with' expression (we reap no benefits from pushing the sharing further out anyway), and release the remainder of the method's context into the LIE.
-