From 79d5572153bae9ad1b53d0ef963ce39fc4892b68 Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Wed, 6 Jul 2011 15:34:36 -0600 Subject: [PATCH] register place async channel wakeup_signal with GC --- src/racket/src/mzmark_place.inc | 6 +++--- src/racket/src/mzmarksrc.c | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/src/racket/src/mzmark_place.inc b/src/racket/src/mzmark_place.inc index 3c08bb5d39..895acef753 100644 --- a/src/racket/src/mzmark_place.inc +++ b/src/racket/src/mzmark_place.inc @@ -33,18 +33,16 @@ static int place_object_val_SIZE(void *p, struct NewGC *gc) { } static int place_object_val_MARK(void *p, struct NewGC *gc) { - return gcBYTES_TO_WORDS(sizeof(Scheme_Place_Object)); } static int place_object_val_FIXUP(void *p, struct NewGC *gc) { - return gcBYTES_TO_WORDS(sizeof(Scheme_Place_Object)); } -#define place_object_val_IS_ATOMIC 0 +#define place_object_val_IS_ATOMIC 1 #define place_object_val_IS_CONST_SIZE 1 @@ -84,6 +82,7 @@ static int place_async_channel_val_MARK(void *p, struct NewGC *gc) { Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p; gcMARK2(pac->msgs, gc); gcMARK2(pac->msg_memory, gc); + gcMARK2(pac->wakeup_signal, gc); return gcBYTES_TO_WORDS(sizeof(Scheme_Place_Async_Channel)); @@ -93,6 +92,7 @@ static int place_async_channel_val_FIXUP(void *p, struct NewGC *gc) { Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p; gcFIXUP2(pac->msgs, gc); gcFIXUP2(pac->msg_memory, gc); + gcFIXUP2(pac->wakeup_signal, gc); return gcBYTES_TO_WORDS(sizeof(Scheme_Place_Async_Channel)); diff --git a/src/racket/src/mzmarksrc.c b/src/racket/src/mzmarksrc.c index 2b31c5cf4a..4e11c8ca56 100644 --- a/src/racket/src/mzmarksrc.c +++ b/src/racket/src/mzmarksrc.c @@ -1443,7 +1443,6 @@ place_bi_channel_val { place_object_val { mark: - size: gcBYTES_TO_WORDS(sizeof(Scheme_Place_Object)); } @@ -1463,6 +1462,7 @@ place_async_channel_val { Scheme_Place_Async_Channel *pac = (Scheme_Place_Async_Channel *)p; gcMARK2(pac->msgs, gc); gcMARK2(pac->msg_memory, gc); + gcMARK2(pac->wakeup_signal, gc); size: gcBYTES_TO_WORDS(sizeof(Scheme_Place_Async_Channel));