- 09 Aug, 2001 7 commits
-
-
sewardj authored
Remember to initialise stp->bitmap. Avoids a potential segfault with +RTS -c.
-
sewardj authored
Initialise n_large_blocks and n_scavenged_large_blocks.
-
simonmar authored
Oops, only ASCII alphanumeric characters are allowed to be used unencoded in C identifiers, but Char.isAlphaNum includes ISO-8851 alphanumeric characters.
-
sewardj authored
Disable debugging machinery which skeaked in in the last commit.
-
sewardj authored
C-side FFI support for Byte/Ptr arrays.
-
sewardj authored
Change "dunno, mate" into something a bit more helpful.
-
sewardj authored
Add support for passing ptr/byte arrays to C.
-
- 08 Aug, 2001 27 commits
-
-
simonmar authored
Fix a bug in gcStablePtrTable().
-
sewardj authored
Disable use of finalisers attached to UnlinkedBCOs, since finalisers attached to non-atomic objects may run too early :-(
-
sewardj authored
Attach finaliser for malloc'd blocks to the UnlinkedBCOs, not to linked really-really-really BCOs. This is because an unlinked BCO may be copied many times to generated LinkedBCOs before it dies. Attaching finalisers to linked BCOs could mean multiple free()s on the same address.
-
simonmar authored
Define allocaBytes in terms of the new pinned ByteArray primitives. This version is over 6 times faster than the old version using malloc/free.
-
simonmar authored
update expected output
-
simonmar authored
Remove parse error. This test actually doesn't work!
-
simonmar authored
Fix parse error and remove ^Ms (an untested test?)
-
simonmar authored
update expected output
-
simonmar authored
semantics of take, drop and splitAt have changed
-
simonmar authored
update expected output
-
simonmar authored
Flag tweaks: +RTS -c now means "enable compaction all the time" (previously there was no way to do this *and* run without a maximum heap size). The heuristics for determining the generation sizes are also slightly better now.
-
sewardj authored
Use the bytecode generator's monad to keep track of the malloc'd blocks created for each BCO. Eventually use this info to generate a finaliser which is tied to the real, linked BCO
-
simonmar authored
wibble
-
simonmar authored
oops, forgot to thread the link and global_link fields of a large TSO. Fixes a potential crash with the compacting collector.
-
simonmar authored
update expected output
-
simonmar authored
lib specifications aren't allowed any more [ merge into new test suite ]
-
qrczak authored
Remove -H80M options introduced a week ago.
-
simonmar authored
Change some section ids so they aren't as likely to clash with the User Guide.
-
simonmar authored
- Rearrange the FFI documentation: put it all in chapter 8. - Add a section "Using the FFI with GHC", and add some information about the stub files generated by GHC for foreign export dynamic.
-
rrt authored
Instead of copying the assemblies we need to this directory, write an app.exe.config file for each program we run.
-
sewardj authored
Remove the last use of unsavouryPerformIO in this module. What a lot of hassle. Gimme a Von Neumann machine any day.
-
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 6 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#.
-