8 static pmarkcontext(ctx)
12 for (p=ctx->stack; p<ctx->vsp; p++)
15 {
mark(*p,gcstack); } ;
16 mark(ctx->lastalloc,gcstack);}
29 for (i=0; i<MAXTHREAD; i++) {
31 thr_create(0, 150*1024, pmarkcontext, ctx, THR_BOUND, &tid[j++]);
33 for (i=0; i<MAXCLASS; i++) {
35 if (p && ispointer(p)) pmark(p); }
37 if (debug) fprintf(stderr,
";; gc-threads=%d\n", j);
38 for (i=0; i<j; i++)
thr_join(tid[i], 0, 0);
context * euscontexts[MAXTHREAD]
int thr_join(int tid, int *depature, void **status)
int thr_create(void *, size_t, void(*)(), void *, long, int *)
struct class_desc classtab[MAXCLASS]