diff options
author | Ben Gamari <ben@smart-cactus.org> | 2019-11-17 11:51:19 -0500 |
---|---|---|
committer | Marge Bot <ben+marge-bot@smart-cactus.org> | 2019-11-19 11:57:36 -0500 |
commit | 098d50176a2521d08efe6fdbab0ede2b7419786a (patch) | |
tree | 41cb5f70f9d7fc55d4c931dd27e760a01b7a7838 /libraries/ghc-heap | |
parent | a7571a74df15585a48318267a3f8e995fa1270b2 (diff) | |
download | haskell-098d50176a2521d08efe6fdbab0ede2b7419786a.tar.gz |
nonmoving: Drop redundant write barrier on stack underflow
Previously we would push stack-carried return values to the new stack on
a stack overflow. While the precise reasoning for this barrier is
unfortunately lost to history, in hindsight I suspect it was prompted by
a missing barrier elsewhere (that has been since fixed).
Moreover, there the redundant barrier is actively harmful: the stack may
contain non-pointer values; blindly pushing these to the mark queue will
result in a crash. This is precisely what happened in the `stack003`
test. However, because of a (now fixed) deficiency in the test this
crash did not trigger on amd64.
Diffstat (limited to 'libraries/ghc-heap')
0 files changed, 0 insertions, 0 deletions