- 16 Oct, 2013 4 commits
-
-
Jan Stolarek authored
-
Jan Stolarek authored
When compiling a function we can determine how much stack space it will use. We therefore need to perform only a single stack check at the beginning of a function to see if we have enough stack space. Instead of referring directly to Sp - as we used to do in the past - the code generator uses (old + 0) in the stack check. Stack layout phase turns (old + 0) into Sp. The idea here is that, while we need to perform only one stack check for each function, we could in theory place more stack checks later in the function. They would be redundant, but not incorrect (in a sense that they should not change program behaviour). We need to make sure however that a stack check inserted after incrementing the stack pointer checks for a respectively smaller stack space. This would not be the case if the code generator produced direct references to Sp. By referencing (old + 0) we make sure that we always check for a correct amount of stack: when converting (old + 0) to Sp the stack layout phase takes into account changes already made to stack pointer. The idea for this change came from observations made while debugging #8275.
-
Iavor S. Diatchki authored
-
Herbert Valerio Riedel authored
-
- 15 Oct, 2013 5 commits
-
-
-
Version of Happy required is now 1.19.
-
We no longer check capitalization (or colons) in names that come from TH, according to the commentary in #7667.
-
Krzysztof Gogolewski authored
Remove remains of old role syntax
-
Iavor S. Diatchki authored
For details see the comment on `interactTopSub`.
-
- 12 Oct, 2013 11 commits
-
-
Herbert Valerio Riedel authored
This is actually a no-op wrt the source-code and is only performed to show that upstream is identical to our lagged repository. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Krzysztof Gogolewski authored
This commit moves the check from parser to renamer.
-
Krzysztof Gogolewski authored
-
Austin Seipp authored
Spotted by Bertram Felgenhauer. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Darin Morrison authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Darin Morrison authored
Mac OS X 10.9 mkdir is apparently stricter than the Mac OS X 10.8 mkdir about which paths are considered valid arguments. For example, in a typical build on Mac OS X 10.9, the first of the following invocations of mkdirhier.sh will succeed but the second will fail: "inplace/bin/mkdirhier" utils/ghc-cabal/dist/build/tmp//. # WORKS "inplace/bin/mkdirhier" bootstrapping/. # FAILS Simply prefixing the path arguments with "./" causes both to succeed: "inplace/bin/mkdirhier" ./utils/ghc-cabal/dist/build/tmp//. # WORKS "inplace/bin/mkdirhier" ./bootstrapping/. # WORKS Testing indicates failure on paths satisfying all of these criteria: - path is suffixed with "/." - path is only 1 level deep (e.g., "foo/."; _not_ "foo/bar/.") - path is _not_ prefixed with "./" This workaround prefixes "./" to the path argument passed to mkdir. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Authored-by:
Gergely Risko <gergely@risko.hu> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Authored-by:
Gergely Risko <gergely@risko.hu> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Krzysztof Gogolewski authored
Patch by errge
-
Signed-off-by:
Erik de Castro Lopo <erikd@mega-nerd.com>
-
- 11 Oct, 2013 9 commits
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Krzysztof Gogolewski authored
-
Herbert Valerio Riedel authored
This is mainly to relax the `array` build-dep to allow the upcoming `array-0.5.0.0` package. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Herbert Valerio Riedel authored
This way CPP conditionals can be avoided for the transition period. Signed-off-by:
Herbert Valerio Riedel <hvr@gnu.org>
-
Simon Marlow authored
-
Simon Marlow authored
-
Simon Marlow authored
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
- 10 Oct, 2013 3 commits
-
-
Edward Z. Yang authored
Signed-off-by:
Edward Z. Yang <ezyang@mit.edu>
-
Herbert Valerio Riedel authored
-
Iavor S. Diatchki authored
* Replace class `SingI` with two separate classes: `KnownNat` and `KnownSymbol` * Rename `magicSingId` to `magicDictId`. * Simplify and clean-up the "magic" implementation. This version makes a lot more sense, at least to me :-) * Update notes about how it all works: Note [KnownNat & KnownSymbol and EvLit] explains the evidence for the built-in classes Note [magicDictId magic] explains how we coerce singleton values into dictionaries. This is used to turn run-time integers and strings into Proxy singletons of unknwon type (using an existential).
-
- 09 Oct, 2013 8 commits
-
-
Krzysztof Gogolewski authored
Patch by klao
-
Krzysztof Gogolewski authored
-
Austin Seipp authored
As discussed in #8276, this code was somewhat broken because while you could always revert the actual argument list, you can never revert the CAFs upon which they are based - so really this didn't buy you much. However, Haddock in particular expects to be able to parse GHC flags, including static flags, and used this code to do so. In its place, we instead have discardStaticFlags, which will safely remove any of the remaining 5 flags from a list of arguments. Haddock instead discards these, as they aren't related to anything it does anyway (mostly controlling debugging output and some basic optimizer phases.) This fixes #8276. In the future, we will eventually completely remove the remaining StaticFlags, removing the need for this fix. Unfortunately these changes will be quite invasive and require more time. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Edward and I noticed this - like realWorld#, we want things applied to proxy# which are INLINE more likely to be inlined - we do this by marking proxy# as having an evaldUnfolding, which in turn makes it look like the primitive is evaluated and makes the simplifier more willing to do so. See Note [evaldUnfoldings] in MkId. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Thanks to Gergely Risko for pointing this out. Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Austin Seipp authored
Authored-by:
Gergely Risko <gergely@risko.hu> Signed-off-by:
Austin Seipp <austin@well-typed.com>
-
Joachim Breitner authored
Fixes: #7685
-