diff --git a/rts/Stable.c b/rts/Stable.c index 046fb3be4277b40a867e9da8969bc79e83c28dd9..a2c47d785c64cd1d48c055a2e86d3af2e728edb4 100644 --- a/rts/Stable.c +++ b/rts/Stable.c @@ -218,6 +218,9 @@ lookupStableName_(StgPtr p) */ p = (StgPtr)removeIndirections((StgClosure*)p); + // register the untagged pointer. This just makes things simpler. + p = (StgPtr)UNTAG_CLOSURE((StgClosure*)p); + sn_tmp = lookupHashTable(addrToStableHash,(W_)p); sn = (StgWord)sn_tmp;