]> rtime.felk.cvut.cz Git - l4.git/blob - l4/pkg/boehm_gc/contrib/tests/trace_test.c
update
[l4.git] / l4 / pkg / boehm_gc / contrib / tests / trace_test.c
1 #include <stdio.h>
2
3 #ifndef GC_DEBUG
4 # define GC_DEBUG
5 #endif
6
7 #include "gc.h"
8 #include "gc_backptr.h"
9
10 struct treenode {
11     struct treenode *x;
12     struct treenode *y;
13 } * root[10];
14
15 struct treenode * mktree(int i) {
16   struct treenode * r = GC_MALLOC(sizeof(struct treenode));
17   if (0 == i) return 0;
18   if (1 == i) r = GC_MALLOC_ATOMIC(sizeof(struct treenode));
19   r -> x = mktree(i-1);
20   r -> y = mktree(i-1);
21   return r;
22 }
23
24 int main(void)
25 {
26   int i;
27   GC_INIT();
28   for (i = 0; i < 10; ++i) {
29     root[i] = mktree(12);
30   }
31   GC_generate_random_backtrace();
32   GC_generate_random_backtrace();
33   GC_generate_random_backtrace();
34   GC_generate_random_backtrace();
35   return 0;
36 }