summaryrefslogtreecommitdiff
path: root/rts/Exception.cmm
diff options
context:
space:
mode:
authorBen Gamari <bgamari.foss@gmail.com>2018-06-02 11:48:39 -0400
committerBen Gamari <ben@smart-cactus.org>2018-06-02 19:04:52 -0400
commita122d4fdd0a5858e44f9d3be90a258903e0288b2 (patch)
tree731c1a7954d5347d2b6195527cfdf344a083d9bc /rts/Exception.cmm
parent9ea45963ad2ef2051ca3689562607eb4916d65e8 (diff)
downloadhaskell-a122d4fdd0a5858e44f9d3be90a258903e0288b2.tar.gz
rts: Rip out support for STM invariants
This feature has some very serious correctness issues (#14310), introduces a great deal of complexity, and hasn't seen wide usage. Consequently we are removing it, as proposed in Proposal #77 [1]. This is heavily based on a patch from fryguybob. Updates stm submodule. [1] https://github.com/ghc-proposals/ghc-proposals/pull/77 Test Plan: Validate Reviewers: erikd, simonmar, hvr Reviewed By: simonmar Subscribers: rwbarton, thomie, carter GHC Trac Issues: #14310 Differential Revision: https://phabricator.haskell.org/D4760
Diffstat (limited to 'rts/Exception.cmm')
-rw-r--r--rts/Exception.cmm5
1 files changed, 0 insertions, 5 deletions
diff --git a/rts/Exception.cmm b/rts/Exception.cmm
index 8deecbb1e8..8ea94b19f2 100644
--- a/rts/Exception.cmm
+++ b/rts/Exception.cmm
@@ -489,11 +489,6 @@ retry_pop_stack:
ccall stmAbortTransaction(MyCapability() "ptr", trec "ptr");
ccall stmFreeAbortedTRec(MyCapability() "ptr", trec "ptr");
- if (outer != NO_TREC) {
- ccall stmAbortTransaction(MyCapability() "ptr", outer "ptr");
- ccall stmFreeAbortedTRec(MyCapability() "ptr", outer "ptr");
- }
-
StgTSO_trec(CurrentTSO) = NO_TREC;
if (r != 0) {
// Transaction was valid: continue searching for a catch frame