remove EVACUATED: store the forwarding pointer in the info pointer
[ghc-hetmet.git] / rts / sm / Scav.c-inc
index ae6a6bb..a75f6ee 100644 (file)
 // This file is #included into Scav.c, twice: firstly with PARALLEL_GC
 // defined, the second time without.
 
-#ifndef PARALLEL_GC
-#define scavenge_block(a) scavenge_block1(a)
-#define evacuate(a) evacuate1(a)
-#define recordMutableGen_GC(a,b) recordMutableGen(a,b)
+#if defined(THREADED_RTS) && !defined(PARALLEL_GC)
+#  define scavenge_block(a) scavenge_block1(a)
+#  define evacuate(a) evacuate1(a)
+#  define recordMutableGen_GC(a,b) recordMutableGen(a,b)
 #else
-#undef scavenge_block
-#undef evacuate
-#undef recordMutableGen_GC
+#  undef scavenge_block
+#  undef evacuate
+#  undef recordMutableGen_GC
+#  if !defined(THREADED_RTS)
+#    define scavenge_block1(a) scavenge_block(a)
+#  endif
 #endif
 
+
 static void scavenge_block (bdescr *bd);
 
 /* -----------------------------------------------------------------------------