diff options
author | ningning <xnningxie@gmail.com> | 2018-07-09 20:02:03 -0400 |
---|---|---|
committer | Richard Eisenberg <rae@cs.brynmawr.edu> | 2018-07-09 21:35:31 -0400 |
commit | 55a3f8552c9dc9b84e204ec6623c698912795347 (patch) | |
tree | 3433832e7bc586c46cccd6204ce92748bc9b4a01 /testsuite/tests/perf | |
parent | 6595bee749ddb49d9058ed47ab7c1b6e7558ae17 (diff) | |
download | haskell-55a3f8552c9dc9b84e204ec6623c698912795347.tar.gz |
Refactor coercion rule
Summary:
The patch is an attempt on #15192.
It defines a new coercion rule
```
| GRefl Role Type MCoercion
```
which correspondes to the typing rule
```
t1 : k1
------------------------------------
GRefl r t1 MRefl: t1 ~r t1
t1 : k1 co :: k1 ~ k2
------------------------------------
GRefl r t1 (MCo co) : t1 ~r t1 |> co
```
MCoercion wraps a coercion, which might be reflexive (MRefl)
or not (MCo co). To know more about MCoercion see #14975.
We keep Refl ty as a special case for nominal reflexive coercions,
naemly, Refl ty :: ty ~n ty.
This commit is meant to be a general performance improvement,
but there are a few regressions. See #15192, comment:13 for
more information.
Test Plan: ./validate
Reviewers: bgamari, goldfire, simonpj
Subscribers: rwbarton, thomie, carter
GHC Trac Issues: #15192
Differential Revision: https://phabricator.haskell.org/D4747
Diffstat (limited to 'testsuite/tests/perf')
-rw-r--r-- | testsuite/tests/perf/compiler/all.T | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/testsuite/tests/perf/compiler/all.T b/testsuite/tests/perf/compiler/all.T index dfb8613d98..6632231999 100644 --- a/testsuite/tests/perf/compiler/all.T +++ b/testsuite/tests/perf/compiler/all.T @@ -891,7 +891,7 @@ test('T9872c', test('T9872d', [ only_ways(['normal']), compiler_stats_num_field('bytes allocated', - [(wordsize(64), 572537984, 5), + [(wordsize(64), 578498120, 5), # 2014-12-18 796071864 Initally created # 2014-12-18 739189056 Reduce type families even more eagerly # 2015-01-07 687562440 TrieMap leaf compression @@ -906,6 +906,7 @@ test('T9872d', # 2017-03-03 462817352 Share Typeable KindReps # 2018-03-25 526485920 Flattener patch does more work (#12919) # 2018-04-11 572537984 simplCast improvement collateral (#11735) + # 2018-07-04 578498120 introduce GRefl (#15192) (wordsize(32), 232954000, 5) # some date 328810212 |