~ chicken-core (chicken-5) d61c82e1a301115f99090eb0a4f6e48942f6f1b3
commit d61c82e1a301115f99090eb0a4f6e48942f6f1b3 Author: felix <felix@call-with-current-continuation.org> AuthorDate: Sat Sep 18 13:13:51 2010 +0200 Commit: felix <felix@call-with-current-continuation.org> CommitDate: Sat Sep 18 13:13:51 2010 +0200 I don't quite understand why this causes GC faults diff --git a/runtime.c b/runtime.c index 5a65af89..60ecf35f 100644 --- a/runtime.c +++ b/runtime.c @@ -2574,8 +2574,7 @@ C_regparm C_word C_fcall C_mutate(C_word *slot, C_word val) { int mssize; - if(*slot == val) return val; - else if(!C_immediatep(val)) { + if(!C_immediatep(val)) { #ifdef C_GC_HOOKS if(C_gc_mutation_hook != NULL && C_gc_mutation_hook(slot, val)) return val; #endifTrap