- 08 Aug, 2001 6 commits
-
-
simonmar authored
oops, don't set the -M size to the -H size if -M is zero (i.e. turned off). Should fix the breakage encountered by last night's nightly build.
-
sewardj authored
"Greetings, earthlings. Take us to your mutable variables." ^A^K^K Build the bytecode generator's monad on top of IO, and as a result get rid of various unsafePerformIOs.
-
simonmar authored
Had a brainwave on the way to work this morning, and realised that the garbage collector can handle "pinned objects" as long as they don't contain any pointers. This is absolutely ideal for doing temporary allocation in the FFI, because what we really want to do is allocate a pinned ByteArray and let the GC clean it up later. So this set of changes adds the required framework. There are two new primops: newPinnedByteArray# :: Int# -> State# s -> (# State# s, MutByteArr# s #) byteArrayContents# :: ByteArr# -> Addr# obviously byteArrayContents# is highly unsafe. Allocating a pinned ByteArr# isn't the default, because a pinned ByteArr# will hold an entire block (currently 4k) live until it is garbage collected (that doesn't mean each pinned ByteArr# requires 4k of storage, just that if a block contains a single live pinned ByteArray, the whole block must be retained).
-
simonmar authored
update expected output
-
chak authored
As discussed at HIM in Cambridge, the GHC Commentary is now located in the main repository. The idea is that any developer who wants to share his wisdom with the world-at-large can alter the document. Obviously, it would be nice to keep the structure and style of the document as I have written it so far (admittedly not terribly much). In particular, please add links to the files in CVS where appropriate. Moreover, I have now included a version number in the title, which should be pumped whenever there are substantial changes; check the file index.html. I am planing to set up a cron job that updates the version of the Commentary on my Web page with the CVS version every night (this is also the version linked from GHC's documentation page).
-
simonmar authored
Nuke the "Compilation had errors" message again.
-
- 07 Aug, 2001 26 commits
-
-
ken authored
Back up previous change, which was not really a fix of any bug, let alone the bug it seemed to have fixed.
-
ken authored
Change the number of threads to spawn in this test from 1000000 to 10000000, to (more likely) trigger the Alpha StgRun() bug that I just fixed.
-
ken authored
Fixed (I hope, and have reason to believe) mysterious segfaulting problem on the Alpha. The problem (I hope, and have reason to believe) was that, during a few instructions, the register saving/restoring code in StgRun() places data below the current SP value. (I.e., it should first reserve stack space, then put data in said space, rather than first put data in, then reserve the space.) "The SP value might be used by the hardware when raising exceptions and asynchronous interrupts. It must be assumed that the contents of the stack below the current SP value and within the stack for the current thread are continually and unpredictably modified, as specified in the _Alpha Architecture Reference Manual_, and as a result of asynchronous software actions." -- Compaq Computer Corporation, Houston. Tru64 UNIX Calling Standard for Alpha Systems, 5.1 edition, August 2000, section 3.2.1. http://www. tru64unix.compaq.com/docs/base_doc/DOCUMENTATION/V51_PDF/ARH9MBTE.PDF
-
ken authored
Fix 32-bit assumptions in debugging fprintf's.
-
ken authored
For now, let mkMarshalCode_wrk = undefined for non-i386 architectures.
-
sewardj authored
Rewrite the machinery for pushing args to CCalls so that it can suitably mangle those :: ForeignObj# and ByteArray# and PtrArray#.
-
ken authored
Allow (and ignore, i.e., strip away) "-optc" prefix in command-line options. This is for mkdependC-ing and compiling C code under ghc/rts, where we use ghc-inplace as CC and give -optc-Dxxx options in CC_OPTS. We used to generate inaccurate (insufficient) dependencies.
-
dsyme authored
This is the implementation of many of the GHC primitive operations and types for the .NET CLR port of GHC.
-
simonmar authored
Make this compile with newer GHCs.
-
simonmar authored
- describe NOTINLINE as a synonym for NOINLINE - describe the general form of a pragma - mention that case is irrelevant in the first word of a pragma - mention that unrecognised pragmas are silently ignored
-
simonmar authored
Back out the ExitException change; it's already taken into account by DriverUtil.handle. Sigbjorn: I'm not sure what was going on with your Win32 build, but it looks like it was a bug somewhere else.
-
simonmar authored
(forced commit) Note that the previous commit also fixed the bug reported by Ken Shan yesterday, namely that the conc004.hs test was failing.
-
simonmar authored
Note that you need to give the same -package options to ghc -M as you would for normal compilation. Also clarify the meaning of the (historically named) --include-prelude option.
-
simonmar authored
(forced commit, the last one had the wrong message) Make RTS flags given on the command line override those from the GHCRTS environment variable.
-
simonmar authored
Move RtsFlags.h into ghc/includes, so it's available in a binary installation. RtsFlags.h was repository-copied behind the scenes to keep the revision history.
-
simonmar authored
Move RtsFlags.h into ghc/includes, so it's available in a binary installation. RtsFlags.h was repository-copied behind the scenes to keep the revision history.
-
simonmar authored
markup wibbles
-
simonmar authored
Document the GHCRTS env. var.
-
simonmar authored
markup wibbles
-
simonmar authored
mark up wibbles (don't people try to format the documentation before checking in changes?)
-
sewardj authored
x86: remember to pop the floating-point stack when moving float/double results back to the Haskell stack. Viz, use fstps/fstpl, not fsts/fstl.
-
simonmar authored
- Allow RTS options to be given using the GHCRTS environment variable. - Fix the heap size calculation to take into account all generations. It's more conservative than it used to be, but now it is less likely that the maximum heap size will be exceeded. - Compacting collection is turned on automatically when residency reaches 30% of the maximum heap size, tunable with +RTS -c<n>. +RTS -c turns off compaction altogether. - The maximum heap size is off by default. NOTE: this also means no compaction by default. It is recommended that people enable a maximum heap size for their system using the GHCRTS environment var; eg: GHCRTS=-M128m.
-
sewardj authored
This buffer is for notes you don't want to save, and for Lisp evaluation. If you want to create a file, visit that file with C-x C-f, then enter the text in that file's own buffer. Interpreter FFI improvements: * Support f-i dynamic. * Correctly handle fns which don't return anything. * Support x86 stdcall call-conv. Clean-up of FFI-related code in ByteCodeGen.lhs.
-
sewardj authored
Do suspendThread/resumeThread round ccalls so that ccall_gc is supported.
-
rrt authored
Revert to shell-based method on Windows; the raw CreateProcess method is now in hslibs/lang/SystemExts.
-
rrt authored
Revert to System.system using the shell, hence need to use new rawSystem on Windows to launch GHC's sub-processes.
-
- 06 Aug, 2001 1 commit
-
-
sof authored
Make recent _hsc.c / cbits changes work (i.e., need to add . to the include path)
-
- 05 Aug, 2001 3 commits
-
-
ken authored
Adjustor code cleanup. Added code to generate Alpha adjustors. The way we generate Alpha adjustors right now, it only works if the wptr function (the stub function for the Haskell side, that is) takes no argument other than the hptr (the Haskell closure to call)! I believe the same deficiency exists in the Sparc adjustors code.
-
ken authored
Steps towards getting GHCi working on alpha-dec-osf3 -- Clean up ghci/ByteCodeItbls.lhs, and add code for generating a jump instruction on alpha.
-
ken authored
#include <string.h> for memcpy prototype.
-
- 04 Aug, 2001 4 commits
-
-
ken authored
NB: This commit renames some files. In each of your build directories, you will need to: rm -f ghc/compiler/prelude/primops.txt rm -f ghc/compiler/prelude/primops.i rm -f ghc/lib/std/PrelGHC.hi-boot lndir ../fptools # or wherever your CVS working directory is The change: Run PrelGHC.hi-boot through the preprocesor, as we already do primops.txt. This commit introduces a new prefix, ".pp", which means "run through preprocesor". In a previous commit, I changed ghc/compiler/Makefile to preprocess primops.txt into primops.i. That is gone now. We now preprocess primops.txt.pp (a file in the CVS repository) into primops.txt (a platform-dependent file, created at build time). We also preprocess PrelGHC.hi-boot.pp (a file in the CVS repository) into PrelGHC.hi-boot (a platform-dependent file, created at build time). The reason for using the preprocessor is because fewer primops are defined if SUPPORT_LONG_LONGS is undefined. SUPPORT_LONG_LONGS is undefined on 64-bit architectures such as the Alpha.
-
ken authored
Changed # Add _hsc.c files to the cbits library SRCS += $(wildcard ../*_hsc.c) (which didn't work because SRCS has already been pattern-matched and substituted into other make variables to death by then) to # Add _hsc.c files to the cbits library C_SRCS += $(wildcard ../*_hsc.c)
-
ken authored
Fixed assumption that int and HsInt are the same.
-
ken authored
Change the generation of package.conf and package.conf.inplace, so that -lbfd and -liberty are included when necessary.
-