This project is mirrored from https://gitlab.haskell.org/ghc/ghc.git.
Pull mirroring failed .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
Repository mirroring has been paused due to too many failed attempts. It can be resumed by a project maintainer.
Last successful update .
- 31 Jan, 2000 5 commits
-
-
sewardj authored
Spilling and x86 shift-code cleanups.
-
simonmar authored
Add configure target to detect when autoconf needs to be run.
-
simonmar authored
Include the configure script in a src dist.
-
sewardj authored
Change primOpUsg(CatchOp) to reflect changed arity of catch#. Also update primOpStrictness(CatchOp).
-
simonmar authored
We don't want -keep-{hc,s}-files-too on by default, and why do we need -H32M -K32M for PrelBase.lhs? Hans: I want a word with you :)
-
- 30 Jan, 2000 5 commits
-
-
simonmar authored
Change the type of catch# to catch# :: (W# -> (# W#, a #)) -> (b -> W# -> (# W#, a #)) -> W# -> (# W# , a #) where W# == State# RealWorld. In other words, make it explicit that catch# is an IO operation and takes IO operations as arguments. The previous type was too general, and resulted in catch# having the wrong arity which could cause mis-optimisations. The down side is that we now have to pass the state token around inside the primop instead of doing it in the Haskell wrapper, and raiseAsync() also has to build a PAP(handler,exception,realworld) instead of just a PAP(handler,exception) when it invokes a handler as a result of an async exception. I also added some optimisations to (un)?blockAsyncException to not grow the stack if it can be avoided, such as when we're about to block async exceptions and there's a blockAsyncExceptions_ret stack frame on the top of the stack.
-
simonmar authored
The bd->free field of a block descriptor is supposed to be set to -1 for free blocks, if we're #ifdef DEBUGging. It wasn't sometimes.
-
simonmar authored
Deal with ThreadRelocated in checkTSO().
-
simonmar authored
Add notes about where the IO representation is wired in to various parts of the source tree, since I'm about to add some more.
-
simonmar authored
comment fixup
-
- 28 Jan, 2000 5 commits
-
-
lewie authored
First pass at implicit parameters. Honest, I didn't really go in *intending* to modify every file in the typechecker... ;-) The breadth of the change is partly due to generalizing contexts so that they are not hardwired to be (Class, [Type]) pairs. See types/Type.lhs for details (look for PredType).
-
sewardj authored
Modifications to make x86 register spilling to work reasonably. It should work ok most of the time, although there is still a remote possibility that the allocator simply will be unable to complete spilling, and will just give up. -- Incrementally try with 0, 1, 2 and 3 spill regs, so as not to unduly restrict the supply of regs in code which doesn't need spilling. -- Remove the use of %ecx for shift values, so it is always available as the first-choice spill temporary. For code which doesn't do int division, make %edx and %eax available for spilling too. Shifts by a non-constant amount (very rare) are now done by a short test-and-jump sequence, so that %ecx is not tied up. -- x86 FP: do sin, cos, tan in-line so we get the same answers as gcc. -- Moved a little code around to remove recursive dependencies. -- Fix a subtle bug in x86 regUsage, which could cause underestimation of live ranges.
-
simonmar authored
bump version to 4.07 on the main trunk.
-
simonmar authored
don't use ^ in patterns, Solaris sh barfs on it.
-
sewardj authored
Commit all changes prior to addressing the x86 spilling situation in the register allocator. -- Fix nonsensical x86 addressing mode hacks in mangleIndexTree and getAmode. -- Make char-sized loads work properly, using MOVZBL. -- In assignIntCode, use primRep on the assign node to determine the size of data transfer, not the size of the source. -- Redo Integer primitives to be in line with current representation of Integers.
-
- 27 Jan, 2000 1 commit
-
-
rrt authored
Added note about the necessity of using the Cygnus DocBook tools (rather than, e.g., SuSE).
-
- 26 Jan, 2000 12 commits
-
-
rrt authored
Removed redundant rules (%.dvi : %.tex &c.) that were breaking DocBook (re)building.
-
rrt authored
Corrected release notes URLs
-
sewardj authored
Observe the C conventions for use of the FP register stack. In particular, free up any live fp registers prior to non-local control transfers. Sigh. This is not good. The FP situation needs to be reviewed once the rest of x86 nativeGen is stable.
-
sewardj authored
genCCall (x86): pass float args in double format.
-
sewardj authored
spillReg, loadReg (x86): always spill fp registers using double-sized loads/stores, even if they nominally contain only a float value -- otherwise the spill loses the extra guard bits.
-
simonmar authored
Finish pass 1 over the build system docs.
-
simonmar authored
Fix some of the gross inaccuracies in this documentation.
-
rrt authored
Removed version number and reelucidated some text swallowed by index entries.
-
rrt authored
Changed default text size to "normal".
-
sewardj authored
spillReg, loadReg (x86): spill above %esp, not below it. Duh. If you spill below %esp, ccalls, which use stack below %esp, can trash the spill area.
-
rrt authored
Updated version to 4.06
-
panne authored
Sven's first autoheader commandment: Don't change config.h.in manually...! (Why is mk/config.h.in in the repository? configure is not, either.)
-
- 25 Jan, 2000 12 commits
-
-
sewardj authored
Teach magicIdRegMaybe about R9 and R10.
-
sewardj authored
Print a useful panic msg if getRegister(x86) can't reduce a tree.
-
sewardj authored
pprInstr: implement GABS, GNEG, GSQRT.
-
sewardj authored
Handle float args correctly for x86 ccalls.
-
sewardj authored
Disable a dubious looking clause for trivialCode (x86), which was generating bad code for some subtracts.
-
sewardj authored
Implement the HP_CHK_GEN macro. As a result, teach mkNativeHdr et al about R9 and R10.
-
sewardj authored
wibble
-
sewardj authored
amodeToStix, GET_TAG: implement correctly for little-endian-32 and supply implementation for big-endian-32. Definitely won't work on 64-bit platforms.
-
sewardj authored
genCodeInfoTable: put tag value into srt_len field for constr info tables.
-
panne authored
"installing" is now called "building"
-
sewardj authored
x86: free up all FP regs before doing a ccall. This appears to be a part of the x86 calling convention(s).
-
panne authored
Added a bunch of #defines for {SIZEOF,ALIGNMENT}_{INT,WORD}{8,16,32,64}. All this is a real hack: The include files need a more thorough restructuring.
-