+ // an EAGER_BLACKHOLE gets turned into a BLACKHOLE here.
+#ifdef THREADED_RTS
+ cur_bh_info = (const StgInfoTable *)
+ cas((StgVolatilePtr)&bh->header.info,
+ (StgWord)bh_info,
+ (StgWord)&stg_BLACKHOLE_info);
+
+ if (cur_bh_info != bh_info) {
+ bh_info = cur_bh_info;
+ goto retry;
+ }
+#else