- Mar 12, 2009
-
-
Simon Marlow authored
I ended up rewriting this horrible bit of code, using (yikes) lazy I/O to slurp in the source file a chunk at a time. The old code tried to read the file a chunk at a time, but failed with LANGUAGE pragmas because the parser for LANGUAGE has state and the state wasn't being saved between chunks. We're still closing the Handle eagerly, so there shouldn't be any problems here.
-
- Mar 11, 2009
-
-
Simon Marlow authored
-
Ian Lynagh authored
-
Simon Marlow authored
This is just a hack, since we don't have correct unicode output for Handles in general, I just fixed a couple of places where we were not converting to UTF-8 for output.
-
Simon Marlow authored
Evidently I misread the docs for CreateEvent: if you pass a name to CreateEvent, then it creates a single shared system-wide Event with that name. So all Haskell processes on the machine were sharing the same Event object. duh.
-
Simon Marlow authored
Now ghc --info reports whether-split-objs is supported, rather than whether the libraries were built using -split-objs.
-
Simon Marlow authored
-
- Mar 10, 2009
-
-
Ian Lynagh authored
-
- Mar 09, 2009
-
-
Simon Marlow authored
A long-running GC would cause the timer signal to declare the system to be idle, which would cause a major GC immediately following the current GC. This only happened with +RTS -N2 or greater.
-
Simon Marlow authored
After much experimentation, I've found a formulation for HEAP_ALLOCED that (a) improves performance, and (b) doesn't have any race conditions when used concurrently. GC performance on x86_64 should be improved slightly. See extensive comments in MBlock.h for the details.
-
- Mar 06, 2009
-
-
Simon Marlow authored
- add newAlignedPinnedByteArray# for allocating pinned BAs with arbitrary alignment - the old newPinnedByteArray# now aligns to 16 bytes Foreign.alloca will use newAlignedPinnedByteArray#, and so might end up wasting less space than before (we used to align to 8 by default). Foreign.allocaBytes and Foreign.mallocForeignPtrBytes will get 16-byte aligned memory, which is enough to avoid problems with SSE instructions on x86, for example. There was a bug in the old newPinnedByteArray#: it aligned to 8 bytes, but would have failed if the header was not a multiple of 8 (fortunately it always was, even with profiling). Also we occasionally wasted some space unnecessarily due to alignment in allocatePinned(). I haven't done anything about Foreign.malloc/mallocBytes, which will give you the same alignment guarantees as malloc() (8 bytes on Linux/x86 here).
-
- Mar 08, 2009
-
-
Ian Lynagh authored
This removes a burden from developers, and I can't remember an occasion where it would have caught a regression.
-
- Mar 06, 2009
-
-
Ian Lynagh authored
It's used by ESC/Haskell.
-
- Mar 07, 2009
-
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
- Mar 06, 2009
-
-
Ian Lynagh authored
-
rl@cse.unsw.edu.au authored
-
rl@cse.unsw.edu.au authored
-
chak@cse.unsw.edu.au. authored
-
- Mar 05, 2009
-
-
Ian Lynagh authored
We use the GHC version number, as the old runghc one doesn't seem very useful.
-
Simon Marlow authored
My Windows build has started complaining about lacking final newlines, I'm not entirely sure why.
-
Simon Marlow authored
-
Simon Marlow authored
-
Ian Lynagh authored
-
Ian Lynagh authored
By default, gcc on OS X will generate SSE instructions, which need things 16-byte aligned, but we don't 16-byte align things. Thus drop back to generic i686 compatibility.
-
Ian Lynagh authored
If you manually set HSCOLOUR_SRCS=YES then the build will fail if HsColour wasn't found.
-
Simon Peyton Jones authored
See the Note [Dictionary-like types] in TcType for the full story here Should only affect programs that use -fdicts-cheap, for which you'll get better arities
-
Simon Peyton Jones authored
This is a fix to Tue Mar 3 17:42:58 GMT 2009 simonpj@microsoft.com * Fix Trac #3066: checking argument types in foreign calls which I embarassingly got wrong. Have to be careful when expanding recursive newtypes. Pls merge.
-
- Mar 04, 2009
-
-
Ian Lynagh authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
- Mar 03, 2009
-
-
mnislaih authored
The problem is that calls to boxyUnify would panic if the types involved contained type functions. It looks like one should wrap these calls with getLIE, although I don't really know what I am doing here
-
Simon Peyton Jones authored
When checking argument types in a foreign call we were stupidly looking through foralls. The fix is easy. Merge to 6.10.2
-
Simon Peyton Jones authored
The universal type variables of a data constructor are not necessarily identical to those of its parent type constructor, especially if the data type is imported. While I was at it, I did a significant refactoring to make all this traversal of types more comprehensible, by adding the data type FFoldType.
-
Simon Marlow authored
-
Simon Marlow authored
-
John Dias authored
Among others: - Fixed Stg->C-- translation of let-no-escapes -- it's important to use the right continuation... - Fixed infinite recursion in X86 backend (shortcutJump mishandled infinite loops) - Fixed yet another wrong calling convention -- primops take args only in vanilla regs, but they may return results on the stack! - Removed StackInfo from LGraph and Block -- now in LastCall and CmmZ - Updated avail-variable and liveness code
-
Simon Peyton Jones authored
-
- Feb 28, 2009
-
-
David Waern authored
We want the internal format to contain LFs only. This makes it easier to work with the doc strings for clients of the GHC API.
-