summaryrefslogtreecommitdiff
path: root/rts/RaiseAsync.c
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-10-14 13:17:27 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-10-14 13:17:27 +0000
commit0856ac59cfb455d32a3042317fdba0f5e85cab9c (patch)
treee744d0c909780dabeffa65babfb9c4535f9a4d0a /rts/RaiseAsync.c
parentc5f93af1c663ab68f3b18f6a8c3264165a1c8883 (diff)
downloadhaskell-0856ac59cfb455d32a3042317fdba0f5e85cab9c.tar.gz
micro-opt: replace stmGetEnclosingTRec() with a field access
While fixing #3578 I noticed that this function was just a field access to StgTRecHeader, so I inlined it manually.
Diffstat (limited to 'rts/RaiseAsync.c')
-rw-r--r--rts/RaiseAsync.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/rts/RaiseAsync.c b/rts/RaiseAsync.c
index 6510ce8b07..a0f78eeff7 100644
--- a/rts/RaiseAsync.c
+++ b/rts/RaiseAsync.c
@@ -884,7 +884,7 @@ raiseAsync(Capability *cap, StgTSO *tso, StgClosure *exception,
case ATOMICALLY_FRAME:
if (stop_at_atomically) {
- ASSERT(stmGetEnclosingTRec(tso->trec) == NO_TREC);
+ ASSERT(tso->trec->enclosing_trec == NO_TREC);
stmCondemnTransaction(cap, tso -> trec);
tso->sp = frame - 2;
// The ATOMICALLY_FRAME expects to be returned a
@@ -914,7 +914,7 @@ raiseAsync(Capability *cap, StgTSO *tso, StgClosure *exception,
{
StgTRecHeader *trec = tso -> trec;
- StgTRecHeader *outer = stmGetEnclosingTRec(trec);
+ StgTRecHeader *outer = trec -> enclosing_trec;
debugTrace(DEBUG_stm,
"found atomically block delivering async exception");
stmAbortTransaction(cap, trec);