Commits on Source (19)
-
...another manifestation of #20851 which I unfortunately missed in my first pass.
e902d771 -
8d36c0c6
-
by building its result connected component by component Fixes #22512
c5d8ed3a -
This module can be used to construct ill-formed TypeReps, so it should be Unsafe.
90cd5396 -
RTS eventlog events for postCapsetVecEvent are truncated if payload is larger than EVENT_PAYLOAD_SIZE_MAX Previously, postCapsetVecEvent records eventlog event with payload of variable size larger than EVENT_PAYLOAD_SIZE_MAX (2^16) without any validation, resulting in corrupted data. For example, this happens when a Haskell binary is invoked with very long command line arguments exceeding 2^16 bytes (see #20221). Now we check the size of accumulated payload messages incrementally, and truncate the message just before the payload size exceeds EVENT_PAYLOAD_SIZE_MAX. RTS will warn the user with a message showing how many arguments are truncated.
2057c77d -
Hadrian used to pass -g when building all ways of rts. It makes output binaries larger (especially so for wasm backend), and isn't needed by most users out there, so this patch removes that flag. In case the debug info is desired, we still pass -g3 when building the debug way, and there's also the debug_info flavour transformer which ensures -g3 is passed for all rts ways.
9ec76f61 -
The Show instance for TypeRep [] has changed in 9.5 to output "List" because the name of the type constructor changed. This seems to be accidental and is inconsistent with TypeReps of saturated lists, which are printed as e.g. "[Int]". For now, I'm restoring the old behavior; in the future, maybe we should show TypeReps without puns (List, Tuple, Type).
7658cdd4 -
As discovered in #22272, dehydration of the unfolding info of a recursive definition used to involve a traversal of the definition itself, which in turn involves traversing the unfolding info. Hence, a loop. Instead, we now store enough data in the interface that we can produce the unfolding info without this traversal. See Note [Tying the 'CoreUnfolding' knot] for details.
f146282b -
So that we get to cancel away the allocation for the lazily used base. We can move `powImpl` (which *is* strict in the base) to the top-level so that we don't duplicate too much code and move the SPECIALISATION pragmas onto `powImpl`. The net effect of this change is that `(^)` plays along much better with inlining thresholds and loopification (#22227), for example in `x2n1`. Fixes #22324.
2d33c0f7 -
There was some confusion in Data.Typeable about which module certain wired-in things were defined in. Just because something is wired-in doesn't mean it comes from GHC.Prim, in particular things like LiftedRep and RuntimeRep are defined in GHC.Types and that's the end of the story. Things like Int#, Float# etc are defined in GHC.Prim as they have no Haskell definition site at all so we need to generate type representations for them (which live in GHC.Types). Fixes #22510
d3191735 -
I copied the fusion framework we have in place for `take`. T18964 asserts that we regress neither when fusion fires nor when it doesn't. Fixes #18964.
7d0dc5e4 -
It is a relic of the Make build system. The RTS now uses a `package.conf` file generated the usual way by Cabal.
312801cb -
* The SourceText of primitive characters 'a'# did not include the #, unlike for other primitive literals 1#, 1##, 1.0#, 1.0##, "a"#. We can now remove the function pp_st_suffix, which was a hack to add the # back. * Negative primitive literals shouldn't use parentheses, as described in Note [Printing of literals in Core]. Added a testcase to T14681.
6ddb1fe7
Showing
- compiler/CodeGen.Platform.h 71 additions, 1 deletioncompiler/CodeGen.Platform.h
- compiler/GHC/CmmToAsm.hs 1 addition, 0 deletionscompiler/GHC/CmmToAsm.hs
- compiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs 3 additions, 0 deletionscompiler/GHC/CmmToAsm/Reg/Graph/TrivColorable.hs
- compiler/GHC/CmmToAsm/Reg/Linear.hs 1 addition, 0 deletionscompiler/GHC/CmmToAsm/Reg/Linear.hs
- compiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs 1 addition, 0 deletionscompiler/GHC/CmmToAsm/Reg/Linear/FreeRegs.hs
- compiler/GHC/CmmToAsm/Reg/Target.hs 5 additions, 0 deletionscompiler/GHC/CmmToAsm/Reg/Target.hs
- compiler/GHC/Core.hs 36 additions, 27 deletionscompiler/GHC/Core.hs
- compiler/GHC/Core/Opt/Simplify/Iteration.hs 2 additions, 2 deletionscompiler/GHC/Core/Opt/Simplify/Iteration.hs
- compiler/GHC/Core/Opt/Simplify/Utils.hs 1 addition, 1 deletioncompiler/GHC/Core/Opt/Simplify/Utils.hs
- compiler/GHC/Core/Ppr.hs 12 additions, 7 deletionscompiler/GHC/Core/Ppr.hs
- compiler/GHC/Core/Seq.hs 2 additions, 4 deletionscompiler/GHC/Core/Seq.hs
- compiler/GHC/Core/SimpleOpt.hs 1 addition, 1 deletioncompiler/GHC/Core/SimpleOpt.hs
- compiler/GHC/Core/Tidy.hs 6 additions, 5 deletionscompiler/GHC/Core/Tidy.hs
- compiler/GHC/Core/Unfold.hs 3 additions, 2 deletionscompiler/GHC/Core/Unfold.hs
- compiler/GHC/Core/Unfold/Make.hs 33 additions, 19 deletionscompiler/GHC/Core/Unfold/Make.hs
- compiler/GHC/Core/Utils.hs 3 additions, 4 deletionscompiler/GHC/Core/Utils.hs
- compiler/GHC/CoreToIface.hs 2 additions, 1 deletioncompiler/GHC/CoreToIface.hs
- compiler/GHC/Data/Graph/Directed.hs 79 additions, 28 deletionscompiler/GHC/Data/Graph/Directed.hs
- compiler/GHC/Driver/Pipeline/Execute.hs 1 addition, 0 deletionscompiler/GHC/Driver/Pipeline/Execute.hs
- compiler/GHC/Hs/Lit.hs 10 additions, 11 deletionscompiler/GHC/Hs/Lit.hs