| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
A manual job for testing the non-tables-next-to-code configuration.
|
|
|
|
|
|
| |
The goal here is to make the SRT selection logic a bit clearer and allow
configurations which we currently don't support (e.g. using a full word
in the info table even when TNTC is used).
|
| |
|
|
|
|
| |
Otherwise we are dependent upon the C++ compiler's default language.
|
|
|
|
|
| |
Otherwise we may get warnings from the toolchain if the bootstrap
compiler was built with a different deployment target.
|
|
|
|
|
|
|
|
|
| |
Previously the C/C++ language version check in STG could throw an
undefined macro warning due to __STDC_VERSION__ when compiled with a C++
compiler. Fix this by defining __STDC_VERSION__==0 when compiling with a
C++ compiler.
Fixes #20394.
|
|
|
|
|
| |
The BSD sed implementation doesn't allow `sed -i COMMAND FILE`; one must
rather use `sed -i -e COMMAND FILE`.
|
| |
|
| |
|
|
|
|
| |
ipeMap.c failed to #include <string.h>
|
| |
|
|
|
|
|
| |
Previously the meaning of this flag was unclear and as a result I
suspect that CabalHaveLibffi could be incorrectly False.
|
|
|
|
|
|
| |
Previously both the --with-system-libffi path and the
non--with-system-libffi path set CabalUseSystemLibFFI=True. This was
wrong.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Otherwise cabal-install falls over.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
|
|
| |
Previously the cache persistence was implemented as various ad-hoc `cp`
commands at the end of the individual CI scripts. Here we move all of
this logic into `ci.sh`.
|
|
|
|
| |
`cabal update` is already implied by `ci.sh setup`.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Emit an Info Table Provenance Entry (IPE) for every stack represeted info table
if -finfo-table-map is turned on.
To decode a cloned stack, lookupIPE() is used. It provides a mapping between
info tables and their source location.
Please see these notes for details:
- [Stacktraces from Info Table Provenance Entries (IPE based stack unwinding)]
- [Mapping Info Tables to Source Positions]
Metric Increase:
T12545
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add `StackSnapshot#` primitive type that represents a cloned stack (StgStack).
The cloning interface consists of two functions, that clone either the treads
own stack (cloneMyStack) or another threads stack (cloneThreadStack).
The stack snapshot is offline/cold, i.e. it isn't evaluated any further. This is
useful for analyses as it prevents concurrent modifications.
For technical details, please see Note [Stack Cloning].
Co-authored-by: Ben Gamari <bgamari.foss@gmail.com>
Co-authored-by: Matthew Pickering <matthewtpickering@gmail.com>
|
|
|
|
|
| |
Make it polymorphic in the type of the MVar's value. This simple generalization
makes it usable for `MVar a` instead of only `MVar ()` values.
|
| |
|
| |
|
| |
|
|
|
|
| |
fixes #20388
|
|
|
|
| |
The compiler should be independent of the target.
|
|
|
|
|
|
| |
Converts diagnostics in: (#20116)
- GHC.Tc.Gen.Default
- GHC.Tc.Gen.Export
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Before the output contain a lot of verbose information about timining
various things to do with shake which wasn't so useful for developers.
```
shakeArgsWith 0.000s 0%
Function shake 0.010s 0%
Database read 0.323s 12% ===
With database 0.031s 1%
Running rules 2.301s 86% =========================
Pool finished (1786 threads, 5 max) 0.003s 0%
Cleanup 0.000s 0%
Total 2.669s 100%
Build completed in 2.67s
```
Now the output just contains the last line
```
Build completed in 2.67s
```
Ticket #20381
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes a long standard bug where the module prefix was omitted
from the data type name supplied by Data.Typeable instances.
Instead of reusing the Outputable instance for TyCon, we now take
matters into our own hands and explicitly print the module followed by
the type constructor name.
Fixes #20371
|
|
|
|
|
|
|
|
|
| |
The examples were just missing the surrounding brackets.
ghci> escapeArgs ["hello \"world\""]
"hello\\ \\\"world\\\"\n"
Fixes #20340
|
| |
|
|
|
|
|
|
| |
Clearly, evaluating an unlifted variable will never perform any work.
Fixes #20140.
|
|
|
|
|
|
|
|
|
|
|
| |
The last point of the Conclusion was wrong; we inline functions without pragmas
after the initial phase. It also appears that #15056 was fixed, as there already
is a test T15056 which properly does foldr/build fusion for the reproducer.
I made sure that T15056's `foo` is just large enough for WW to happen (which it
wasn't), but for the worker to be small enough to inline into `blam`.
Fixes #15056.
|
|
|
|
|
|
|
|
|
| |
Oleg Grenrus pointed out that `Solo` was missing `Eq`, `Ord`,
`Bounded`, `Enum`, and `Ix` instances, which were all apparently
available for the `OneTuple` type (in the `OneTuple` package).
Though only the first three really seem useful, there's no reason
not to take them all. For `Ix`, `Solo` naturally fills a gap
between `()` and `(,)`.
|
|
|
|
| |
Closes #20377
|
| |
|
| |
|
|
|
|
|
|
| |
* moved deps related code into GHC.Unit.Module.Deps
* refactored Deps module to not export Dependencies constructor to help
maintaining invariants
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This function was one of the main sources of allocation in a ticky
profile due to how it repeatedly deleted nodes from a large map.
Now firstly the cuts are normalised, so that chains of cuts are elimated
before any rewrites are applied. Then the CFG is traversed and
reconstructed once whilst applying the necessary rewrites to remove
shortcutted edges (based on the normalised cuts).
Ticket: #19471
|