summaryrefslogtreecommitdiff
path: root/rts/Updates.h
diff options
context:
space:
mode:
authorSimon Marlow <marlowsd@gmail.com>2009-11-29 16:42:51 +0000
committerSimon Marlow <marlowsd@gmail.com>2009-11-29 16:42:51 +0000
commitf9d15f9fccae4706fbdf8ee4ecaef7da9953cb74 (patch)
treeef79be277cf14c25b93739c420b7b2386f5562d4 /rts/Updates.h
parent9ca114a5840d8d00320e90c047022fa2ca1fa668 (diff)
downloadhaskell-f9d15f9fccae4706fbdf8ee4ecaef7da9953cb74.tar.gz
Store a destination step in the block descriptor
At the moment, this just saves a memory reference in the GC inner loop (worth a percent or two of GC time). Later, it will hopefully let me experiment with partial steps, and simplifying the generation/step infrastructure.
Diffstat (limited to 'rts/Updates.h')
-rw-r--r--rts/Updates.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/Updates.h b/rts/Updates.h
index 988fb6059f..bf4f89dd2a 100644
--- a/rts/Updates.h
+++ b/rts/Updates.h
@@ -191,7 +191,7 @@ no_slop:
StgInd_indirectee(p1) = p2; \
prim %write_barrier() []; \
bd = Bdescr(p1); \
- if (bdescr_gen_no(bd) != 0 :: CInt) { \
+ if (bdescr_gen_no(bd) != 0 :: bits16) { \
recordMutableCap(p1, TO_W_(bdescr_gen_no(bd)), R1); \
SET_INFO(p1, stg_IND_OLDGEN_info); \
LDV_RECORD_CREATE(p1); \