X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSparks.c;h=0ff4ee4cceaef9227b227e437775ee542d4351d0;hb=6015a94f9108a502150565577b66c23650796639;hp=ca60e1338cf9459d47abc78a2d130e61fff5e19d;hpb=04d444716b2e5415fb8f13771e49f1192ef8c8f8;p=ghc-hetmet.git diff --git a/rts/Sparks.c b/rts/Sparks.c index ca60e13..0ff4ee4 100644 --- a/rts/Sparks.c +++ b/rts/Sparks.c @@ -200,6 +200,12 @@ newSpark (StgRegTable *reg, StgClosure *p) { StgSparkPool *pool = &(reg->rSparks); + /* I am not sure whether this is the right thing to do. + * Maybe it is better to exploit the tag information + * instead of throwing it away? + */ + p = UNTAG_CLOSURE(p); + ASSERT_SPARK_POOL_INVARIANTS(pool); if (closure_SHOULD_SPARK(p)) {