- Aug 04, 2000
-
-
Simon Marlow authored
Another attempt at getting the pipeline stuff right. Fixed at least one bug.
-
Simon Marlow authored
-split-objs is entirely reasonable in conjunction with -fasm
-
- Aug 03, 2000
-
-
Simon Marlow authored
wibble
-
Simon Marlow authored
- Implement the mkdepend -X<dir> and --exclude-directory=<dir> options. - some small cleanups
-
Reuben Thomas authored
Removed isLocallyDefinedName test in isDllName, as SPJ's with SM's suggestion that it's redundant.
-
Simon Marlow authored
The parser didn't properly check that the constructor in a data declaration really are constructors (ie. begin with an upper case character). This patch fixes the problem. bug reported by: Tim Giesler, a couple of weeks ago.
-
Simon Marlow authored
Update the documentation on the +RTS -C option, and remove the note saying that it doesn't work.
-
Simon Marlow authored
Implement +RTS -C<n>, the context switch interval flag. This was previously advertised in the usage message, but there was a note in the Users' Guide stating that it didn't work. Anwyay, I'm going to consider it a bug and backport to 4.08.1.
-
Simon Marlow authored
Add a cross-ref to the section on Packages from the mention of the -package flag in the section on linking.
-
- Aug 02, 2000
-
-
Simon Marlow authored
remove mkdependHS from the list of directories.
-
Simon Marlow authored
Remove the old mkdependHS cruft.
-
Simon Marlow authored
Assimilate mkdependHS into the driver, obsoleting the old Perl version. The functionality is pretty much identical, except a few of the flags accepted by the old version aren't implemented (--exclude-module, --exclude-directory, --include-module). If anyone needs these options, please speak up.
-
Reuben Thomas authored
Many fixes to DLLisation. These were previously covered up because code was leaking into the import libraries for DLLs, so the fact that some symbols were thought of as local rather than in another DLL wasn't a problem. The main problems addressed by this commit are: 1. Fixes RTS symbols working properly when DLLised. They didn't before. 2. Uses NULL instead of stg_error_entry, because DLL entry points can't be used as static initialisers. 3. PrelGHC.hi-boot changed to be in package RTS, and export of PrelNum and PrelErr moved to PrelBase, so that references to primops & the like are cross-DLL as they should be. 4. Pass imports around as Modules rather than ModuleNames, so that ModuleInitLabels can be checked to see if they're in a DLL or not.
-
Reuben Thomas authored
Now copied from ghc/rts/gmp.h
-
Reuben Thomas authored
Allow GMP to be compiled as a DLL.
-
- Aug 01, 2000
-
-
Simon Peyton Jones authored
Simon's Marktoberdorf Commits 1. Tidy up the renaming story for "system binders", such as dictionary functions, default methods, constructor workers etc. These are now documented in HsDecls. The main effect of the change, apart from tidying up, is to make the *type-checker* (instead of the renamer) generate names for dict-funs and default-methods. This is good because Sergei's generic-class stuff generates new classes at typecheck time. 2. Fix the CSE pass so it does not require the no-shadowing invariant. Keith discovered that the simplifier occasionally returns a result with shadowing. After much fiddling around (which has improved the code in the simplifier a bit) I found that it is nearly impossible to arrange that it really does do no-shadowing. So I gave up and fixed the CSE pass (which is the only one to rely on it) instead. 3. Fix a performance bug in the simplifier. The change is in SimplUtils.interestingArg. It computes whether an argment should be considered "interesting"; if a function is applied to an interesting argument, we are more likely to inline that function. Consider this case let x = 3 in f x The 'x' argument was considered "uninteresting" for a silly reason. Since x only occurs once, it was unconditionally substituted, but interestingArg didn't take account of that case. Now it does. I also made interestingArg a bit more liberal. Let's see if we get too much inlining now. 4. In the occurrence analyser, we were choosing a bad loop breaker. Here's the comment that's now in OccurAnal.reOrderRec score ((bndr, rhs), _, _) | exprIsTrivial rhs = 3 -- Practically certain to be inlined -- Used to have also: && not (isExportedId bndr) -- But I found this sometimes cost an extra iteration when we have -- rec { d = (a,b); a = ...df...; b = ...df...; df = d } -- where df is the exported dictionary. Then df makes a really -- bad choice for loop breaker I also increased the score for bindings with a non-functional type, so that dictionaries have a better chance of getting inlined early 5. Add a hash code to the InScopeSet (and make it properly abstract) This should make uniqAway a lot more robust. Simple experiments suggest that uniqAway no longer gets into the long iteration chains that it used to. 6. Fix a bug in the inliner that made the simplifier tend to get into a loop where it would keep iterating ("4 iterations, bailing out" message). In SimplUtils.mkRhsTyLam we float bindings out past a big lambda, thus: x = /\ b -> let g = \x -> f x x in E becomes g* = /\a -> \x -> f x x x = /\ b -> let g = g* b in E It's essential that we don't simply inling g* back into the RHS of g, else we will be back to square 1. The inliner is meant not to do this because there's no benefit to the inlining, but the size calculation was a little off in CoreUnfold. 7. In SetLevels we were bogus-ly building a Subst with an empty in-scope set, so a WARNING popped up when compiling some modules. (knights/ChessSetList was the example that tickled it.) Now in fact the warning wasn't an error, but the Right Thing to do is to carry down a proper Subst in SetLevels, so that is what I have now done. It is very little more expensive.
-
- Jul 31, 2000
-
-
Simon Marlow authored
include GMP's configure files in a src dist.
-
Simon Marlow authored
x.yy.DDMMYYYY should be x.yy.YYYYMMDD for unstable snapshots.
-
- Jul 27, 2000
-
-
Michael Weber authored
typo
-
Simon Marlow authored
fix for .hc files
-
Simon Marlow authored
Cleanup of the compilation pipeline. Now the list of phases to run for each filename is generated statically, rather than on-the-fly. Things should be more robust; some nonsense combinations of flags and input files are now thrown out.
-
Julian Seward authored
Redo the sparc Ccall machinery, so as to correctly handle the case where one or more of the args to a Ccall is itself a Ccall. Prior to the advent of the Stix inliner, this could never happen, but now it does.
-
- Jul 26, 2000
-
-
Michael Weber authored
* backup files are only generated, if there is an old dependency file. * if $Makefile is "-", print dependencies to STDOUT *without* creating a backup file. *** MERGE with 4.08.1 ***
-
Michael Weber authored
added newline at EOF of package files
-
Simon Marlow authored
Panic if we try to allocate more than a block's worth of memory in one go. No fix yet, but at least this is better than going into an infinite loop at runtime.
-
Simon Marlow authored
- add wORD_SIZE (size of an StgWord in bytes) - add bLOCK_SIZE_W (size of a storage manager block in words)
-
Simon Marlow authored
Add a constant definition for WORD_SIZE, the size of an StgWord in bytes.
-
Simon Marlow authored
Revert part of the previous change, which broke the build by generating a PrelStable.hi with some bogus kind information in it.
-
- Jul 25, 2000
-
-
Reuben Thomas authored
Advised Windows users to read the Windows installation notes for GHC before trying to build anything.
-
Reuben Thomas authored
Pointed out that Windows users should read the GHC installation guide before trying to build anything.
-
Simon Marlow authored
increase the repeat count; this bug is pretty fragile
-
Simon Marlow authored
Add test for handle finalization bug, fixed in 1.60 +1 -2 fptools/ghc/lib/std/PrelHandle.lhs 1.15 +4 -10 fptools/ghc/lib/std/PrelIO.lhs
-
Simon Marlow authored
Fix bug reported by Hannah Schroeter: reading a file lazily using hGetContents and then closing it using hClose can cause the program to fall over with a deadlock. The reason is that when closing the file in lazyRead{Block,Line,Char}, we set the foreign object in the handle to nullFile__, which causes the finalizer to run (at some point in the future). The finalizer takes the MVar in the handle, frees the contents, but never puts the MVar back. hClose then tries to take the MVar, and deadlocks. The solution is not to set the foreign object to nullFile__ in the first place; I'm not sure why it was done this way, and in fact it leads to a memory leak. hClose itself has a similar problem, leading to a leak of the fileObject.
-
Michael Weber authored
giving the version number when asked for is NOT an error, therefore output now goes to stdout (cf. Coding Standards)
-
- Jul 24, 2000
-
-
Simon Marlow authored
update documentation to reflect changes in the format of a package spec.
-
Simon Marlow authored
Sigh, change the package definition again. We weren't making a distinction between libraries which need a suffix tag (eg. libHSstd_p), and those that don't (eg. libHSstd_cbits). The package spec now has two components for libraries, hs_libraries (tagged) and extra_libraries (untagged). The ordering of these components is important: we specify that hs_libraries are linked before extra_libraries. This sounds problematic if you want to link some plain C libraries before some Haskell libs, but in these cases it should be possible to create separate packages for the two libs and specify the dependencies explicitly.
-
Simon Marlow authored
Some changes to the way FFI decls are handled: - a foreign export dynamic which returns a newtype of an Addr now works correctly. Similarly for foreign label. - unlifted types are not allowed in the arguments of a foreign export. Previously we generated incorrect code for these cases. Newtypes in FFI declarations now work everywhere they should, as far as I can see. These changes will be backported into 4.08.1.
-
- Jul 23, 2000
-
-
sven.panne@aedion.de authored
Strictfp-like behaviour is the default now, which can be switched off via -fexcess-precision. (Has anybody a better name for this option?)
-
- Jul 21, 2000
-
-
Reuben Thomas authored
Fix EXTINFO_RTS.
-
Reuben Thomas authored
Add EXTINFO_RTS and use it (same as EXTFUN_RTS for info tables).
-