From 68079d738d89324de0e4dfc1622a193239ab4b4f Mon Sep 17 00:00:00 2001 From: Matthew Flatt Date: Sun, 17 Oct 2010 08:53:44 -0600 Subject: [PATCH] fix 3m problem with --disable-jit and --disable-futures Merge to 5.0.2 --- src/racket/src/fun.c | 2 ++ src/racket/src/mzmark.c | 4 ++++ src/racket/src/mzmarksrc.c | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/src/racket/src/fun.c b/src/racket/src/fun.c index a32297bd88..81d136d461 100644 --- a/src/racket/src/fun.c +++ b/src/racket/src/fun.c @@ -9823,7 +9823,9 @@ static void register_traversers(void) GC_REG_TRAV(scheme_rt_dyn_wind_cell, mark_dyn_wind_cell); GC_REG_TRAV(scheme_rt_dyn_wind_info, mark_dyn_wind_info); GC_REG_TRAV(scheme_cont_mark_chain_type, mark_cont_mark_chain); +#ifdef MZ_USE_JIT GC_REG_TRAV(scheme_rt_lightweight_cont, mark_lightweight_cont); +#endif } END_XFORM_SKIP; diff --git a/src/racket/src/mzmark.c b/src/racket/src/mzmark.c index 01ad1b3693..15b3802ed4 100644 --- a/src/racket/src/mzmark.c +++ b/src/racket/src/mzmark.c @@ -3319,6 +3319,8 @@ static int mark_cont_mark_chain_FIXUP(void *p, struct NewGC *gc) { #define mark_cont_mark_chain_IS_CONST_SIZE 1 +#ifdef MZ_USE_JIT + static int mark_lightweight_cont_SIZE(void *p, struct NewGC *gc) { return gcBYTES_TO_WORDS(sizeof(Scheme_Lightweight_Continuation)); @@ -3352,6 +3354,8 @@ static int mark_lightweight_cont_FIXUP(void *p, struct NewGC *gc) { #define mark_lightweight_cont_IS_CONST_SIZE 1 +#endif + #endif /* FUN */ /**********************************************************************/ diff --git a/src/racket/src/mzmarksrc.c b/src/racket/src/mzmarksrc.c index 6c60c9aa24..cfd9d10e45 100644 --- a/src/racket/src/mzmarksrc.c +++ b/src/racket/src/mzmarksrc.c @@ -1336,6 +1336,8 @@ mark_cont_mark_chain { gcBYTES_TO_WORDS(sizeof(Scheme_Cont_Mark_Chain)); } +#ifdef MZ_USE_JIT + mark_lightweight_cont { mark: Scheme_Lightweight_Continuation *lw = (Scheme_Lightweight_Continuation *)p; @@ -1349,6 +1351,8 @@ mark_lightweight_cont { gcBYTES_TO_WORDS(sizeof(Scheme_Lightweight_Continuation)); } +#endif + END fun; /**********************************************************************/