1/* >>>> Generated by mkmark.rkt from mzmarksrc.c <<<< */ 2 3static int mark_regexp_SIZE(void *p, struct NewGC *gc) { 4#ifndef GC_NO_SIZE_NEEDED_FROM_PROCS 5 regexp *r = (regexp *)p; 6 gcBYTES_TO_WORDS((sizeof(regexp) + r->regsize)); 7#else 8 return 0; 9#endif 10} 11 12static int mark_regexp_MARK(void *p, struct NewGC *gc) { 13#ifndef GC_NO_MARK_PROCEDURE_NEEDED 14 regexp *r = (regexp *)p; 15 gcMARK2(r->source, gc); 16 gcMARK2(r->regstart, gc); 17# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 18 return 0; 19# else 20 return 21 gcBYTES_TO_WORDS((sizeof(regexp) + r->regsize)); 22# endif 23#endif 24} 25 26static int mark_regexp_FIXUP(void *p, struct NewGC *gc) { 27#ifndef GC_NO_FIXUP_PROCEDURE_NEEDED 28 regexp *r = (regexp *)p; 29 gcFIXUP2(r->source, gc); 30 gcFIXUP2(r->regstart, gc); 31# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 32 return 0; 33# else 34 return 35 gcBYTES_TO_WORDS((sizeof(regexp) + r->regsize)); 36# endif 37#endif 38} 39 40#define mark_regexp_IS_ATOMIC 0 41#define mark_regexp_IS_CONST_SIZE 0 42 43 44static int mark_regwork_SIZE(void *p, struct NewGC *gc) { 45#ifndef GC_NO_SIZE_NEEDED_FROM_PROCS 46 gcBYTES_TO_WORDS(sizeof(Regwork)); 47#else 48 return 0; 49#endif 50} 51 52static int mark_regwork_MARK(void *p, struct NewGC *gc) { 53#ifndef GC_NO_MARK_PROCEDURE_NEEDED 54 Regwork *r = (Regwork *)p; 55 gcMARK2(r->str, gc); 56 gcMARK2(r->instr, gc); 57 gcMARK2(r->port, gc); 58 gcMARK2(r->unless_evt, gc); 59 gcMARK2(r->startp, gc); 60 gcMARK2(r->maybep, gc); 61 gcMARK2(r->endp, gc); 62 gcMARK2(r->counters, gc); 63 gcMARK2(r->peekskip, gc); 64 gcMARK2(r->prefix, gc); 65 gcMARK2(r->lazy_string, gc); 66 gcMARK2(r->rewind_stack, gc); 67# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 68 return 0; 69# else 70 return 71 gcBYTES_TO_WORDS(sizeof(Regwork)); 72# endif 73#endif 74} 75 76static int mark_regwork_FIXUP(void *p, struct NewGC *gc) { 77#ifndef GC_NO_FIXUP_PROCEDURE_NEEDED 78 Regwork *r = (Regwork *)p; 79 gcFIXUP2(r->str, gc); 80 gcFIXUP2(r->instr, gc); 81 gcFIXUP2(r->port, gc); 82 gcFIXUP2(r->unless_evt, gc); 83 gcFIXUP2(r->startp, gc); 84 gcFIXUP2(r->maybep, gc); 85 gcFIXUP2(r->endp, gc); 86 gcFIXUP2(r->counters, gc); 87 gcFIXUP2(r->peekskip, gc); 88 gcFIXUP2(r->prefix, gc); 89 gcFIXUP2(r->lazy_string, gc); 90 gcFIXUP2(r->rewind_stack, gc); 91# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 92 return 0; 93# else 94 return 95 gcBYTES_TO_WORDS(sizeof(Regwork)); 96# endif 97#endif 98} 99 100#define mark_regwork_IS_ATOMIC 0 101#define mark_regwork_IS_CONST_SIZE 1 102 103 104static int mark_lazy_string_SIZE(void *p, struct NewGC *gc) { 105#ifndef GC_NO_SIZE_NEEDED_FROM_PROCS 106 gcBYTES_TO_WORDS(sizeof(rx_lazy_str_t)); 107#else 108 return 0; 109#endif 110} 111 112static int mark_lazy_string_MARK(void *p, struct NewGC *gc) { 113#ifndef GC_NO_MARK_PROCEDURE_NEEDED 114 rx_lazy_str_t *ls = (rx_lazy_str_t *)p; 115 gcMARK2(ls->s, gc); 116 gcMARK2(ls->chars, gc); 117# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 118 return 0; 119# else 120 return 121 gcBYTES_TO_WORDS(sizeof(rx_lazy_str_t)); 122# endif 123#endif 124} 125 126static int mark_lazy_string_FIXUP(void *p, struct NewGC *gc) { 127#ifndef GC_NO_FIXUP_PROCEDURE_NEEDED 128 rx_lazy_str_t *ls = (rx_lazy_str_t *)p; 129 gcFIXUP2(ls->s, gc); 130 gcFIXUP2(ls->chars, gc); 131# ifdef GC_NO_SIZE_NEEDED_FROM_PROCS 132 return 0; 133# else 134 return 135 gcBYTES_TO_WORDS(sizeof(rx_lazy_str_t)); 136# endif 137#endif 138} 139 140#define mark_lazy_string_IS_ATOMIC 0 141#define mark_lazy_string_IS_CONST_SIZE 1 142 143 144