EVACUATED: target is definitely HEAP_ALLOCED(), no need to check
[ghc-hetmet.git] / rts / sm / Evac.c-inc
index c7e43c3..7e10452 100644 (file)
@@ -353,7 +353,7 @@ loop:
                             (StgClosure *)CHARLIKE_CLOSURE((StgChar)w)
                           );
       }
-      if (q->header.info == Izh_con_info &&
+      else if (q->header.info == Izh_con_info &&
          (StgInt)w >= MIN_INTLIKE && (StgInt)w <= MAX_INTLIKE) {
          *p = TAG_CLOSURE(tag,
                             (StgClosure *)INTLIKE_CLOSURE((StgInt)w)
@@ -482,7 +482,7 @@ loop:
       StgClosure *e = ((StgEvacuated*)q)->evacuee;
       *p = e;
       if (stp < gct->evac_step) {  // optimisation 
-         if (HEAP_ALLOCED(e) && Bdescr((P_)e)->step < gct->evac_step) {
+         if (Bdescr((P_)e)->step < gct->evac_step) {
              gct->failed_to_evac = rtsTrue;
              TICK_GC_FAILED_PROMOTION();
          }