X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=rts%2FSparks.c;h=0ff4ee4cceaef9227b227e437775ee542d4351d0;hb=6494b3cb78498363a2578a62d6cbbf3f55793e2a;hp=ca60e1338cf9459d47abc78a2d130e61fff5e19d;hpb=221e74f6814f76430ff74b970a77393b0ae83eb5;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)) {