- 15 Aug, 2012 8 commits
-
-
Simon Peyton Jones authored
I think this got left behind when we simplified and improved TcSimplify. The effect was that we had a function like class P a b | a -> b class Q b c | b -> c f :: (P a b, Q b c) => a -> a and were were failing to quanitfy over 'c', even though it is (indirectly) determined by 'a'. This make Programatica fail to compile: Trac #7147
-
Simon Peyton Jones authored
Fixes Trac #7131
-
Simon Peyton Jones authored
Fixes Trac #7151
-
Simon Peyton Jones authored
This is a pretty egregious error; I'm surprised it has lasted so long! Fixes Trac #7124
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
mikhail.vorozhtsov authored
Also adds RULES and 'SPECIALIZE instance' support.
-
- 14 Aug, 2012 6 commits
-
-
ian@well-typed.com authored
These files contain the "+RTS -t --machin-readable" output, so that we can spot performance regressions.
-
Simon Peyton Jones authored
Thanks to John Hughes for the suggestion.
-
Simon Peyton Jones authored
Thanks to Paolo for most of the work.
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
Simon Peyton Jones authored
-
- 13 Aug, 2012 8 commits
-
-
ian@well-typed.com authored
-
Slightly modified version of a patch from Ben Collins <bcollins@ubuntu.com> who did the final debugging that showed the segfault was being caused the memory protection mechanism. Due to the requirement of "jump islands" to handle 24 bit relative jump offsets, GHCi on PowerPC did not use mmap to load object files like the other architectures. Instead, it allocated memory using malloc and fread to load the object code. However there is a quirk in the GNU libc malloc implementation. For memory regions over certain size (dynamic and configurable), malloc will use mmap to obtain the required memory instead of sbrk and malloc's call to mmap sets the memory readable and writable, but not executable. That means when GHCi loads code into a memory region that was mmapped instead of malloc-ed and tries to execute it we get a segfault. This solution drops the malloc/fread object loading in favour of using mmap and then puts the jump island for each object code module at the end of the mmaped region for that object. This patch may also be a solution on other ELF based powerpc systems but does not work on darwin-powerpc.
-
pcapriotti authored
Patch by Patrick Palka <patrick@parcs.ath.cx>
-
-
pcapriotti authored
Also, print that message on stdout.
-
pcapriotti authored
Pick longest flag when more than one matches in findArg. This fixes an issue where -ignore-dot-ghci wasn't honored, because the flag was parsed as "-i gnore-dot-ghci".
-
In particular, many of the restrictions on using unboxed tuples went away thanks to Max Bolingbroke, and they can now be bound to variables without pattern matching, and passed as arguments. Also fix a little formatting in glasgow-exts.xml. Some other parts of this section may be out of date. Signed-off-by:
Austin Seipp <mad.one@gmail.com>
-
Supresses an ugly warning from gcc 4.6+ saying this is a C/ObjC flag only. Signed-off-by:
Austin Seipp <mad.one@gmail.com>
-
- 12 Aug, 2012 1 commit
-
-
ian@well-typed.com authored
-
- 10 Aug, 2012 3 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
-
ian@well-typed.com authored
This allows us to provide access to them in the base library.
-
- 09 Aug, 2012 5 commits
-
-
When refactoring this recently I accidentally put the dead-strip-preventer symbol (only used on OS X) in the wrong section.
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
-
- 08 Aug, 2012 3 commits
-
-
ian@well-typed.com authored
-
ian@well-typed.com authored
Now that it's included in settings, the bindist configure script needs to know it.
-
-
- 07 Aug, 2012 6 commits
-
-
Simon Marlow authored
-
Simon Marlow authored
The problem occurred when the idle GC was turned off with +RTS -I0. Then the scheduler would go into the state ACTIVITY_DONE_GC directly without doing a GC, and a subsequent GC would put it back to ACTIVITY_YES but without turning the timer back on. Instead if the GC finds the state is ACTIVITY_DONE_GC it should leave it there.
-
Simon Marlow authored
See comments.
-
Simon Marlow authored
We weren't passing the arguments correctly to the GC functions, which usually happened to work because the arguments were in the right registers already. After this fix the profiling tests go through with the new code generator.
-
Simon Marlow authored
When calling newCAF, refer to the closure using its LocalReg rather than R1. Using R1 here was preventing the register allocator from coalescing the assignment x=R1 at the beginning of the function.
-
Simon Marlow authored
-