diff options
author | Simon Marlow <marlowsd@gmail.com> | 2009-03-09 12:13:00 +0000 |
---|---|---|
committer | Simon Marlow <marlowsd@gmail.com> | 2009-03-09 12:13:00 +0000 |
commit | 9fe7b8ea2136a4a07752b2851840c9366706f832 (patch) | |
tree | cc60d55de58895f8e82432c84711fa0d63544fa2 /rts/sm/GCAux.c | |
parent | 1b62aecee4a58f52999cfa53f1c6b7744b29b808 (diff) | |
download | haskell-9fe7b8ea2136a4a07752b2851840c9366706f832.tar.gz |
Redesign 64-bit HEAP_ALLOCED (FIX #2934 at the same time)
After much experimentation, I've found a formulation for HEAP_ALLOCED
that (a) improves performance, and (b) doesn't have any race
conditions when used concurrently. GC performance on x86_64 should be
improved slightly. See extensive comments in MBlock.h for the
details.
Diffstat (limited to 'rts/sm/GCAux.c')
-rw-r--r-- | rts/sm/GCAux.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/rts/sm/GCAux.c b/rts/sm/GCAux.c index 66806f4d3f..c1ff54123d 100644 --- a/rts/sm/GCAux.c +++ b/rts/sm/GCAux.c @@ -48,7 +48,7 @@ isAlive(StgClosure *p) // Problem here is that we sometimes don't set the link field, eg. // for static closures with an empty SRT or CONSTR_STATIC_NOCAFs. // - if (!HEAP_ALLOCED(q)) { + if (!HEAP_ALLOCED_GC(q)) { return p; } |