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