diff options
author | Ben Gamari <ben@smart-cactus.org> | 2021-03-08 09:51:27 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2021-03-17 19:07:10 -0400 |
commit | 665b757f48e8dab2bab6d68afc3748a8d8896d2f (patch) | |
tree | 73d0a70524ddd355e3d44c246ae3e9cb297677d5 /testsuite | |
parent | d14a20686ceb508cb19284e9839b74d0480a5a46 (diff) | |
download | haskell-665b757f48e8dab2bab6d68afc3748a8d8896d2f.tar.gz |
IfaceToType: Ensure that IfaceTyConInfo is shared
In #19194 mpickering detailed that there are a LOT of allocations
of IfaceTyConInfo:
There are just two main cases: IfaceTyConInfo IsPromoted IfaceNormalTyCon
and IfaceTyConInfo NotPromoted IfaceNormalTyCon. These should be made into
CAFs and shared. From my analysis, the most common case is
IfaceTyConInfo NotPromoted IfaceNormalTyCon (53 000)
then IfaceTyConInfo IsPromoted IfaceNormalTyCon (28 000).
This patch makes it so these are properly shared by using a smart
constructor.
Fixes #19194.
Diffstat (limited to 'testsuite')
0 files changed, 0 insertions, 0 deletions