/* >>>> Generated by mkmark.rkt from mzmarksrc.c <<<< */

static int mark_channel_syncer_SIZE(void *p, struct NewGC *gc) {
#ifndef GC_NO_SIZE_NEEDED_FROM_PROCS
  gcBYTES_TO_WORDS(sizeof(Scheme_Channel_Syncer));
#else
  return 0;
#endif
}

static int mark_channel_syncer_MARK(void *p, struct NewGC *gc) {
#ifndef GC_NO_MARK_PROCEDURE_NEEDED
  Scheme_Channel_Syncer *w = (Scheme_Channel_Syncer *)p;

  gcMARK2(w->p, gc);
  gcMARK2(w->prev, gc);
  gcMARK2(w->next, gc);
  gcMARK2(w->syncing, gc);
  gcMARK2(w->obj, gc);

# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS
  return 0;
# else
  return
  gcBYTES_TO_WORDS(sizeof(Scheme_Channel_Syncer));
# endif
#endif
}

static int mark_channel_syncer_FIXUP(void *p, struct NewGC *gc) {
#ifndef GC_NO_FIXUP_PROCEDURE_NEEDED
  Scheme_Channel_Syncer *w = (Scheme_Channel_Syncer *)p;

  gcFIXUP2(w->p, gc);
  gcFIXUP2(w->prev, gc);
  gcFIXUP2(w->next, gc);
  gcFIXUP2(w->syncing, gc);
  gcFIXUP2(w->obj, gc);

# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS
  return 0;
# else
  return
  gcBYTES_TO_WORDS(sizeof(Scheme_Channel_Syncer));
# endif
#endif
}

#define mark_channel_syncer_IS_ATOMIC 0
#define mark_channel_syncer_IS_CONST_SIZE 1


static int mark_alarm_SIZE(void *p, struct NewGC *gc) {
#ifndef GC_NO_SIZE_NEEDED_FROM_PROCS
  gcBYTES_TO_WORDS(sizeof(Scheme_Alarm));
#else
  return 0;
#endif
}

static int mark_alarm_MARK(void *p, struct NewGC *gc) {
#ifndef GC_NO_MARK_PROCEDURE_NEEDED
# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS
  return 0;
# else
  return
  gcBYTES_TO_WORDS(sizeof(Scheme_Alarm));
# endif
#endif
}

static int mark_alarm_FIXUP(void *p, struct NewGC *gc) {
#ifndef GC_NO_FIXUP_PROCEDURE_NEEDED
# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS
  return 0;
# else
  return
  gcBYTES_TO_WORDS(sizeof(Scheme_Alarm));
# endif
#endif
}

#define mark_alarm_IS_ATOMIC 1
#define mark_alarm_IS_CONST_SIZE 1


