[Git][ghc/ghc][wip/marge_bot_batch_merge_job] 23 commits: rts/RtsFlags: Refactor size parsing
Marge Bot (@marge-bot)
gitlab at gitlab.haskell.org
Sun Nov 17 14:33:25 UTC 2024
Marge Bot pushed to branch wip/marge_bot_batch_merge_job at Glasgow Haskell Compiler / GHC
Commits:
142d8afa by Ben Gamari at 2024-11-16T16:20:47-05:00
rts/RtsFlags: Refactor size parsing
This makes a number of improvements mentioned in #20201:
* fail if the argument cannot be parsed as a number (`-Mturtles`)
* fail if an unrecognized unit is given (e.g. `-M1x`)
- - - - -
b7a146e5 by Ben Gamari at 2024-11-16T16:20:47-05:00
testsuite: Add tests for RTS flag parsing error handling
See #20201.
- - - - -
ddb7afa6 by Ben Gamari at 2024-11-16T16:21:23-05:00
users guide: Mention language extensions in equality constraints discussion
As suggested in #24127, mention the language extensions necessary for
usage of equality constriants in their documentation.
Closes #24127.
- - - - -
36133dac by Ben Gamari at 2024-11-16T16:21:23-05:00
users-guide/9.14.1-notes: Fix list syntax
- - - - -
888de658 by Ben Gamari at 2024-11-16T16:21:23-05:00
users-guide/debug-info: Fix duplicate flag descriptions
- - - - -
f120e427 by Ben Gamari at 2024-11-16T16:21:23-05:00
users-guide: Fix reference to 9.14.1 release notes
- - - - -
8e975032 by Ben Gamari at 2024-11-16T16:21:59-05:00
Introduce GHC.Tc.Plugin.lookupTHName
This makes it significantly more convenient (and less
GHC-version-dependent) to resolve a template-haskell name into a GHC
Name.
As proposed in #24741.
- - - - -
a0e168ec by ARATA Mizuki at 2024-11-16T16:22:40-05:00
x86 NCG SIMD: Lower packFloatX4#, insertFloatX4# and broadcastFloatX4# to SSE1 instructions
Fixes #25441
Co-authored-by: sheaf <sam.derbyshire at gmail.com>
- - - - -
3936bf1b by sheaf at 2024-11-16T16:23:22-05:00
X86 NCG: allow VXOR at scalar floating-point types
The NCG can emit VXOR instructions at scalar floating-point types,
but the pretty-printer would panic instead of emitting the appropriate
VXORPS/VXORPD instructions. This patch rectifies that oversight.
Fixes #25455
- - - - -
d9dff93a by Ben Gamari at 2024-11-16T16:23:58-05:00
rts: Fix platform-dependent pointer casts
Previously we had unnecessary (and incorrect) platform-dependent casts
to turn `OSThreadIds`s into a integer. We now just uniformly cast first
to a `uintptr_t` (which is always safe, regardless of whether
`OSThreadId` is a pointer), and then cast to the desired integral type.
This fixes a warning on musl platforms.
- - - - -
6d95cdb8 by Ben Gamari at 2024-11-16T16:24:34-05:00
testsuite: Mark encoding004 as broken on FreeBSD
Due to #22003, CP936 fails to roundtrip:
```diff
== CP936
+Failed to roundtrip given mutant byte at index 891 (251 /= 123 at index 891)
+Failed to roundtrip given mutant byte at index 1605 (197 /= 69 at index 1605)
+Failed to roundtrip given mutant byte at index 2411 (235 /= 107 at index 2411)
+Failed to roundtrip given mutant byte at index 6480 (208 /= 80 at index 6480)
+Failed to roundtrip given mutant byte at index 6482 (210 /= 82 at index 6482)
+Failed to roundtrip given mutant byte at index 6484 (212 /= 84 at index 6484)
+Failed to roundtrip given mutant byte at index 6496 (224 /= 96 at index 6496)
+Failed to roundtrip given mutant byte at index 7243 (203 /= 75 at index 7243)
+Failed to roundtrip given mutant byte at index 7277 (237 /= 109 at index 7277)
+Failed to roundtrip given mutant byte at index 8027 (219 /= 91 at index 8027)
+Failed to roundtrip given mutant byte at index 8801 (225 /= 97 at index 8801)
```
- - - - -
27b79fc4 by Matthew Pickering at 2024-11-17T09:33:01-05:00
Exception rethrowing
Basic changes:
* Change `catch` function to propagate exceptions using the
WhileHandling mechanism.
* Introduce `catchNoPropagate`, which does the same as before, but
passes an exception which can be rethrown.
* Introduce `rethrowIO` combinator, which rethrows an exception with a
context and doesn't add a new backtrace.
* Introduce `tryWithContext` for a variant of `try` which can rethrow
the exception with it's original context.
* onException is modified to rethrow the original error rather than
creating a new callstack.
* Functions which rethrow in GHC.Internal.IO.Handle.FD,
GHC.Internal.IO.Handle.Internals, GHC.Internal.IO.Handle.Text, and
GHC.Internal.System.IO.Error are modified to not add a new callstack.
Implements CLC proposal#202 <https://github.com/haskell/core-libraries-committee/issues/202>
- - - - -
ac2cc77b by Rodrigo Mesquita at 2024-11-17T09:33:01-05:00
exceptions: Improve the message layout as per #285
This commit fixes the layout of the additional information included when
displaying an exception, namely the type of the exception.
It also fixes the default handler's heading message to work well
together with the improved display message of SomeException.
CLC proposal#285
- - - - -
f4470849 by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Display type and callstack of exception on handler
This commit changes the Exception instance of SomeException to *simply*
display the underlying exception in `displayException`. The augmented
exception message that included the type and backtrace of the exception
are now only printed on a call to `displayExceptionWithInfo`.
At a surface level, existing programs should behave the same since the
`uncaughtExceptionHandler`, which is responsible for printing out uncaught
exceptions to the user, will use `displayExceptionWithInfo` by default.
However, unlike the instance's `displayException` method, the
`uncaughtExceptionHandler` can be overriden with
`setUncaughtExceptionHandler`. This makes the extra information opt-in
without fixing it the instance, which can be valuable if your program
wants to display uncaught exceptions to users in a user-facing way
(ie without backtraces).
This is what was originally agreed for CLC#231 or CLC#261 with regard to
the type of the exception information.
The call stack also becoming part of the default handler rather than the
Exception instance is an ammendment to CLC#164.
Discussion of the ammendment is part of CLC#285.
- - - - -
39210b29 by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Remove redundant CallStack from exceptions
Before the exception backtraces proposal was implemented, ErrorCall
accumulated its own callstack via HasCallStack constraints, but
ExceptionContext is now accumulated automatically.
The original ErrorCall mechanism is now redundant and we get a duplicate
CallStack
Updates Cabal submodule to fix their usage of ErrorCallWithLocation to ErrorCall
CLC proposal#285
Fixes #25283
- - - - -
4394a926 by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Freeze call stack in error throwing functions
CLC proposal#285
- - - - -
7e7fb52d by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
De-duplicate displayContext and displayExceptionContext
The former was unused except for one module where it was essentially
re-defining displayExceptionContext.
Moreover, this commit extends the fix from
bfe600f5bb3ecd2c8fa71c536c63d3c46984e3f8 to displayExceptionContext too,
which was missing.
- - - - -
426a732c by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Re-export NoBacktrace from Control.Exception
This was originally proposed and accepted in section
"2.7 Capturing Backtraces on Exceptions"
of the CLC proposal for exception backtraces.
However, the implementation missed this re-export, which this commit now
fixes.
- - - - -
e6a76060 by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Fix exception backtraces from GHCi
When running the program with `runhaskell`/`runghc` the backtrace should
match the backtrace one would get by compiling and running the program.
But currently, an exception thrown in a program interpreted with
`runhaskell` will:
* Not include the original exception backtrace at all
* Include the backtrace from the internal GHCi/ghc rethrowing of the
original exception
This commit fixes this divergence by not annotating the ghc(i) backtrace
(with NoBacktrace) and making sure that the backtrace of the original
exception is serialized across the boundary and rethrown with the
appropriate context.
Fixes #25116
The !13301 MR (not this commit in particular) improves performance of
MultiLayerModules. Unfortunately, T3294 regresses on aarch64-linux-deb12
by 1% allocations. Since this patch must be merged for 9.12 ASAP, we
will not be able to investigate the slight regression on this platform
in time.
-------------------------
Metric Decrease:
MultiLayerModulesRecomp
MultiLayerModulesTH_OneShot
Metric Increase:
T3294
-------------------------
- - - - -
e1c81f84 by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
base: Add to changelog.md CLC #285
- - - - -
edb77cfc by Rodrigo Mesquita at 2024-11-17T09:33:02-05:00
Bump array and stm submodules for testsuite
The testsuites of array and stm had to be updated according to !13301.
Updates submodule array and stm.
- - - - -
6c221e07 by Ben Gamari at 2024-11-17T09:33:03-05:00
rts/adjustor: Clean up code style of Nativei386 adjustor
- - - - -
aa225369 by Ben Gamari at 2024-11-17T09:33:03-05:00
rts/adjustor: Fix stack overrun error in Nativei386 adjustor
We were reserving the wrong kind of adjustor context (the generic
`AdjustorContext` used by other adjustor implementations, rather than
the i386-specific `CCallContext`) to return the adjustor context while
freeing, resulting in #25485.
Fixes #25485.
- - - - -
30 changed files:
- compiler/GHC/CmmToAsm/X86/CodeGen.hs
- compiler/GHC/CmmToAsm/X86/Instr.hs
- compiler/GHC/CmmToAsm/X86/Ppr.hs
- compiler/GHC/Tc/Plugin.hs
- compiler/GHC/Utils/Panic/Plain.hs
- docs/users_guide/9.14.1-notes.rst
- docs/users_guide/debug-info.rst
- docs/users_guide/exts/equality_constraints.rst
- docs/users_guide/release-notes.rst
- ghc/GHCi/UI/Monad.hs
- libraries/array
- libraries/base/changelog.md
- libraries/base/src/Control/Exception.hs
- libraries/base/src/GHC/Exception.hs
- libraries/base/tests/IO/T21336/T21336a.stderr
- libraries/base/tests/IO/T21336/T21336b.stderr
- libraries/base/tests/IO/T4808.stderr
- libraries/base/tests/IO/all.T
- libraries/base/tests/IO/mkdirExists.stderr
- libraries/base/tests/IO/openFile002.stderr
- libraries/base/tests/IO/openFile002.stderr-mingw32
- libraries/base/tests/IO/withBinaryFile001.stderr
- libraries/base/tests/IO/withBinaryFile002.stderr
- libraries/base/tests/IO/withFile001.stderr
- libraries/base/tests/IO/withFile002.stderr
- libraries/base/tests/IO/withFileBlocking001.stderr
- libraries/base/tests/IO/withFileBlocking002.stderr
- libraries/base/tests/T15349.stderr
- libraries/base/tests/T16111.stderr
- libraries/base/tests/T19288.stderr
The diff was not included because it is too large.
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/35006face779416fabcd8d11366de55d6b570f84...aa2253694188a937b4aaefffb363db2159df3c4b
--
View it on GitLab: https://gitlab.haskell.org/ghc/ghc/-/compare/35006face779416fabcd8d11366de55d6b570f84...aa2253694188a937b4aaefffb363db2159df3c4b
You're receiving this email because of your account on gitlab.haskell.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/ghc-commits/attachments/20241117/4ac0e10c/attachment-0001.html>
More information about the ghc-commits
mailing list