rts: avoid checking bdescr of value outside of Haskell heap
This fixes a segfault when the non-moving GC tries to look at the block descriptor for the block holding the key of weak pointer which lives outside the Haskell heap.
This change was introduced in 92227b60 and so impacts 9.2-9.10. I've added the backport flag for those releases as this fixes a segfault.
Edited by Teo Camarasu