diff options
author | Andreas Klebinger <klebinger.andreas@gmx.at> | 2020-11-17 19:01:08 +0100 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2020-11-26 16:00:32 -0500 |
commit | a84e53f978341135355c5c82cd7af2ae2efa5e72 (patch) | |
tree | 931c79cf29f6ce8fbb38b19a5c1250a0855d5ca5 /.ghcid | |
parent | be5d74caab64abf9d986fc7290f62731db7e73e7 (diff) | |
download | haskell-a84e53f978341135355c5c82cd7af2ae2efa5e72.tar.gz |
RTS: Fix failed inlining of copy_tag.
On windows using gcc-10 gcc failed to inline copy_tag into evacuate.
To fix this we now set the always_inline attribute for the various
copy* functions in Evac.c. The main motivation here is not the
overhead of the function call, but rather that this allows the code
to "specialize" for the size of the closure we copy which is often
known at compile time.
An earlier commit also tried to avoid evacuate_large inlining. But
didn't quite succeed. So I also marked evacuate_large as noinline.
Fixes #12416
Diffstat (limited to '.ghcid')
0 files changed, 0 insertions, 0 deletions