| Commit message (Collapse) | Author | Age | Files | Lines |
... | |
|
|
|
| |
(cherry picked from commit ead8daaea9bb9150fc3c66851f4b9db8afd801eb)
|
|
|
|
| |
(cherry picked from commit 4bc31a87db3c89212740e8b176114be8723b27ab)
|
|
|
|
|
|
|
|
|
| |
So we did *not* have the stgCallocBytes prototype, and subsequently
the C compiler defaulted to `int` as a return value. Thus generating
sxtw instructions for the return value of stgCalloBytes to produce
the expected void *.
(cherry picked from commit 273e1f6d6886eb226699071184bb25dd463e8f82)
|
|
|
|
| |
(cherry picked from commit 89fc14cce3a80ffe02601bae5428401fd43ce4b7)
|
|
|
|
| |
(cherry picked from commit 608f74a2235a2e545fb9b80a80ceb5ee448ef8e5)
|
|
|
|
| |
(cherry picked from commit ffedf105a355a9a7f1e3c6754cecb6709ef45d3a)
|
|
|
|
| |
(cherry picked from commit df0cb80073e962c8d2b144638e788eb11ca0d42e)
|
|
|
|
| |
(cherry picked from commit eaea79c4ee1322a065c2059df74ee564c93968e4)
|
|
|
|
| |
(cherry picked from commit eda8758fdee30f22f4e90b31a085b228f55892e4)
|
|
|
|
| |
(cherry picked from commit c63e14515ac659c1feba64a4615021253ee88c21)
|
|
|
|
|
|
|
|
|
|
|
| |
This drops allocateExec for darwin, and replaces it with
a alloc, write, mark executable strategy instead. This prevents
us from trying to allocate an executable range and then write to
it, which X^W will prohibit on darwin.
This will *only* work if we can use mmap.
(cherry picked from commit 5d9afbb7503178cb6ca202eb0091a609d0791ab3)
|
|
|
|
|
|
| |
This is a pre-requisite for making aarch64-darwin work.
(cherry picked from commit fce156514768a716c691eb4ccab9e1265d5259e1)
|
|
|
|
|
|
| |
Fixes #19564
(cherry picked from commit 0d5d344d45c200a5e731e7d067598acd2a4f7050)
|
|
|
|
|
|
|
| |
Previously we were treating the thread ID as a HANDLE, but it is not. We
must first OpenThread.
(cherry picked from commit 63a5c876657bb89e9847f325fb81df2229297eb3)
|
|
|
|
|
|
| |
Follow-up from !2418, see #19579
(cherry picked from commit fcb3b0f6ad2f7d2d9ec27f7845a341544210357f)
|
|
|
|
|
|
| |
Follow-up from !2418, see #19579
(cherry picked from commit 01f8412581b601841b9399cb4af696901eb37fc6)
|
|
|
|
|
|
|
|
| |
In comments, and notes.
Follow-up from !2418, see #19579
(cherry picked from commit 4241899c2013bdf3187cbfa9d646346c120e0d57)
|
|
|
|
|
|
| |
Follow-up from !2418, see #19579
(cherry picked from commit 9f39cd4c85d6324e6093c109166ae743407266d1)
|
|
|
|
|
|
|
|
|
| |
As port of the process of migrating naming from API Annotations to
exact print annotations (EPA)
Follow-up from !2418, see #19579
(cherry picked from commit 55d935ecd911b66d32431c328386b48f52e2d1d7)
|
|
|
|
|
|
|
|
| |
This is a follow up from !2418 / #19579
[skip ci]
(cherry picked from commit c74bd3daa3468e495714647506cf30cf650d390d)
|
|
|
|
|
|
|
| |
All the comments are now captured in the AST, there is no need for a
side-channel structure for them.
(cherry picked from commit c64c119d08531049acb33dba4afb7d0dfef57981)
|
|
|
|
|
|
|
|
|
|
|
|
| |
EPA == exact print annotations.
When !2418 landed, it did not run the tests brought over from
ghc-exactprint for making sure the AST prints correctly efter being
edited.
This enables those tests.
(cherry picked from commit 25306ddc00c2236564bcfebd55a3f61ffa6d182e)
|
|
|
|
|
|
|
|
|
|
|
|
| |
The binder-swap transformation needs to be iterated, as shown
by #19581. The fix is pretty simple, and is explained in
point (BS2) of Note [The binder-swap substitution].
Net effect:
- sometimes, fewer simplifier iterations
- sometimes, more case merging
(cherry picked from commit b7f5f8b54ab8fe3665ec2282b6b1403d5483cf0b)
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Bumps Win32 submodule.
(cherry picked from commit e3ea5f5a3356a06471c20712854fd7a1a6965129)
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The loader state was stored into HscEnv. As we need to have two
interpreters and one loader state per interpreter in #14335, it's
natural to make the loader state a field of the Interp type.
As a side effect, many functions now only require a Interp parameter
instead of HscEnv. Sadly we can't fully free GHC.Linker.Loader of HscEnv
yet because the loader is initialised lazily from the HscEnv the first
time it is used. This is left as future work.
HscEnv may not contain an Interp value (i.e. hsc_interp :: Maybe Interp).
So a side effect of the previous side effect is that callers of the
modified functions now have to provide an Interp. It is satisfying as it
pushes upstream the handling of the case where HscEnv doesn't contain an
Interpreter. It is better than raising a panic (less partial functions,
"parse, don't validate", etc.).
|
|
|
|
|
|
|
|
| |
Previously `pathstat` relied on msvcrt's `stat` implementation, which was
not long-path-aware. It should rather be defined in terms of the `stat`
implementation provided by `utils/fs`.
Fixes #19541.
|
|
|
|
|
|
|
|
| |
In commit 540fa6b2 integer to float conversions were changed to round to
the nearest even. Implement a special case for 64 bit integer to single
precision floating point numbers.
Fixes #19563.
|
| |
|
|
|
|
|
|
|
|
|
|
| |
Part of #18202
-------------------------
Metric Decrease:
T12707
T3294
-------------------------
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This Note says it all:
Note [Skip type holes rapidly]
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Suppose we have module with a /lot/ of partial type signatures, and we
compile it while suppressing partial-type-signature warnings. Then
we don't want to spend ages constructing error messages and lists of
relevant bindings that we never display! This happened in #14766, in
which partial type signatures in a Happy-generated parser cause a huge
increase in compile time.
The function ignoreThisHole short-circuits the error/warning generation
machinery, in cases where it is definitely going to be a no-op.
It makes a pretty big difference on the Sigs.hs example in #14766:
Compile-time allocation
GHC 8.10 5.6G
Before this patch 937G
With this patch 4.7G
Yes, that's more than two orders of magnitude!
|
| |
|
|
|
|
|
| |
As noted in #19540, a number of users within and outside of GHC rely on
unsafeCoerceUnlifted to work around the fact that this was missing
|
| |
|
|
|
|
|
| |
For now only the apple flavoured llvm knows vortex, as we build
against other toolchains, lets stay with generic for now.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is a set of forward ports (cherry-picks) from 8.10
- a7d22795ed [ci] Add support for building on aarch64-darwin
- 5109e87e13 [testlib/driver] denoise
- 307d34945b [ci] default value for CONFIGURE_ARGS
- 10a18cb4e0 [testsuite] mark ghci056 as fragile
- 16c13d5acf [ci] Default value for MAKE_ARGS
- ab571457b9 [ci/build] Copy config.sub around
- 251892b98f [ci/darwin] bump nixpkgs rev
- 5a6c36ecb4 [testsuite/darwin] fix conc059
- aae95ef0c9 [ci] add timing info
- 3592d1104c [Aarch64] No div-by-zero; disable test.
- 57671071ad [Darwin] mark stdc++ tests as broken
- 33c4d49754 [testsuite] filter out superfluous dylib warnings
- 4bea83afec [ci/nix-shell] Add Foundation and Security
- 6345530062 [testsuite/json2] Fix failure with LLVM backends
- c3944bc89d [ci/nix-shell] [Darwin] Stop the ld warnings about libiconv.
- b821fcc714 [testsuite] static001 is not broken anymore.
- f7062e1b0c [testsuite/arm64] fix section_alignment
- 820b076698 [darwin] stop the DYLD_LIBRARY_PATH madness
- 07b1af0362 [ci/nix-shell] uniquify NIX_LDFLAGS{_FOR_TARGET}
As well as a few additional fixups needed to make this block compile:
- Fixup all.T
- Set CROSS_TARGET, BROKEN_TESTS, XZ, RUNTEST_ARGS, default value.
- [ci] shell.nix bump happy
|
|
|
|
|
|
|
|
|
|
|
| |
The `extendTyVarEnvFVRn` function does the exact same thing as
`bindLocalNamesFV`. I see no meaningful distinction between the two functions,
so let's just remove the former (which is only used in a handful of places) in
favor of the latter.
Historical note: `extendTyVarEnvFVRn` and `bindLocalNamesFV` used to be
distinct functions, but their implementations were synchronized in 2004 as a
part of commit 20e39e0e07e4a8e9395894b2785d6675e4e3e3b3.
|
|
|
|
|
|
|
| |
This requires bumping the `exceptions` and `text` submodules to bring in
commits that bump their respective upper version bounds on `template-haskell`.
Fixes #19083.
|
| |
|
|
|
|
| |
(cherry picked from commit 4f334120c8e9cc4aefcbf11d99f169f648af9fde)
|
|
|
|
|
| |
Currently we are suffering from issues that appear to be
caused by non-hermetic builds. Try avoiding this by setting
`GIT_STRATEGY` to `clone`.
|
| |
|
| |
|