| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
| |
| |
| |
| | |
(+ 3 outstanding local patches)
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| | |
|
| |
| |
| |
| |
| | |
The function was reading past the end of the FastString table, causing
the -dfaststring-stats option to behave unpredictably.
|
| |
| |
| |
| | |
Fixes #8200
|
| | |
|
| |
| |
| |
| | |
Fixes #8201
|
| | |
|
| |
| |
| |
| | |
(+ local fix for PolyTypeable)
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| |
| |
| | |
(Almost) as suggested by SPJ on
http://www.haskell.org/pipermail/glasgow-haskell-users/2013-July/022651.html
(fixes #8141)
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Linux can give back EPERM from an mmap call when a user program attempts
to map pages near `mmap_min_addr`, which is a kernel security measure to
prevent people from mapping pages at address 0. We may do this when we
hint to mmap what address to map the pages to.
However, it's theoretically possible we're not actually out of memory -
we could have continuously mapped pages at some other place far away
from `mmap_min_addr` and succeeded instead. So as an added precaution,
if mmap for a given addr gives us EPERM, we'll also attempt to map
*again*, but without the address hint. Maybe the kernel can do the right
thing.
However, while testing #7500, the amount of free address space we could
have otherwise used only turns out to be about 139MB. Which isn't really
a lot. So, given that, we *also* otherwise treat EPERM as an out of
memory error.
This fixes #7500.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
See #8181.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
This reverts commit 48865521de6638240819b3979edbb3d33401dc8e.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
This reverts commit 1ce65edbff90fc8103062a1f94258ecc0c682309.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
This reverts commit 1247dff7b852d45dc5006ae8be33ac991cc76c74.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
Fixes Trac #5188.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
cf http://ghc.haskell.org/trac/ghc/wiki/LateDmd
|
| | |
|
| | |
|
| |
| |
| |
| | |
See Note [ApproximateWC]
|
| | |
|
| |
| |
| |
| |
| |
| |
| | |
This fixes Trac #8191.
The patch also adds and documents a new flag -fmax-relevant-bindings=N
which lets you control how many bindings in the type environment are shown.
|
| |
| |
| |
| | |
This reverts commit 6df74382986fad6d9132e03e1f19303be8f19672.
|
| |
| |
| |
| | |
I didn't notice that rebase did not update submodules. Fixing now.
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch implements loopification optimization. It was described
in "Low-level code optimisations in the Glasgow Haskell Compiler" by
Krzysztof Woś, but we use a different approach here. Krzysztof's
approach was to perform optimization as a Cmm-to-Cmm pass. Our
approach is to generate properly optimized tail calls in the code
generator, which saves us the trouble of processing Cmm. This idea
was proposed by Simon Marlow. Implementation details are explained
in Note [Self-recursive tail calls].
Performance of most nofib benchmarks is not affected. There are
some benchmarks that show 5-7% improvement, with an average improvement
of 2.6%. It would require some further investigation to check if this
is related to benchamrking noise or does this optimization really
help make some class of programs faster.
As a minor cleanup, this patch renames forkProc to forkLneBody.
It also moves some data declarations from StgCmmMonad to
StgCmmClosure, because they are needed there and it seems that
StgCmmClosure is on top of the whole StgCmm* hierarchy.
|
| | |
|
| |
| |
| |
| |
| | |
This also folds the new upstream repo at Github into GHC's `bytestring` Git
repo, so that we can directly track upstream from there in the future.
|
| | |
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| | |
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Under -XNumDecimals, it's possible to specify an integer literal using
compact "floating point" syntax for any floating literal constant which
also happens to be an integer. This lets us write
1.2e6 :: Integer
instead of:
1200000 :: Integer
This also makes some amendments to the users guide.
Authored-by: Shachaf Ben-Kiki <shachaf@gmail.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| | |
Fixes #8175.
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
iOS has some particular constraints about how applications can be built:
* We must generate a static library (.a) since XCode does the final
link.
* We need to carefully give the right set of arguments to libtool in
the case we're generating an archive.
* Dynamic linking isn't supported.
* It can only be done on OS X.
This patch cleans up all of the above. We add a new flag `-staticlib`
(only supported on Darwin) that allows us to produce archive files using
libtool, and a -pgmlibtool flag to control which 'libtool' executable to
use.
This fixes #8127. I believe this is the last piece missing from the iOS
cross compiler.
Authored-by: Luke Iannini <lukexi@me.com>
Authored-by: Maxwell Swadling <maxwellswadling@gmail.com>
Authored-by: Stephen Blackheath <...@blacksapphire.com>
Signed-off-by: Austin Seipp <aseipp@pobox.com>
|
| | |
|
| |
| |
| |
| |
| |
| |
| |
| | |
If the check detects an obsolete URL, show a warning and tell the user how
to invoke `sync-all` in order to update the local Git repo to point to the new
repository URLs.
This is related to #8121
|