82
82
printf("A good guess for ALIGNMENT on this machine is %ld.\n",
83
83
(unsigned long)(&(a.a_b))-(unsigned long)(&a));
85
printf("The following is a very dubious test of one root marking"
87
printf("Results may not be accurate/useful:\n");
85
88
/* Encourage the compiler to keep x in a callee-save register */
92
printf("Generic mark_regs code probably wont work\n");
93
# if defined(SPARC) || defined(RS6000) || defined(VAX) || defined(MIPS) || defined(M68K) || defined(I386) || defined(NS32K) || defined(RT)
94
printf("Assembly code supplied\n");
96
printf("Need assembly code\n");
95
printf("Setjmp-based generic mark_regs code probably wont work.\n");
96
printf("But we rarely try that anymore. If you have getcontect()\n");
97
printf("this probably doesn't matter.\n");
98
98
} else if (x == 1) {
99
printf("Generic mark_regs code may work\n");
99
printf("Setjmp-based register marking code may work.\n");
101
printf("Very strange setjmp implementation\n");
101
printf("Very strange setjmp implementation.\n");
106
106
if (y == 1) longjmp(b,1);
107
printf("Some GC internal configuration stuff: \n");
108
printf("\tWORDSZ = %d, ALIGNMENT = %d, GC_GRANULE_BYTES = %d\n",
109
WORDSZ, ALIGNMENT, GC_GRANULE_BYTES);
110
printf("\tUsing one mark ");
111
# if defined(USE_MARK_BYTES)
113
# elif defined(USE_MARK_BITS)
117
# if defined(MARK_BIT_PER_OBJ)
119
# elif defined(MARK_BIT_PER_GRANULE)
120
printf("granule.\n");
122
# ifdef THREAD_LOCAL_ALLOC
123
printf("Thread local allocation enabled.\n");
125
# ifdef PARALLEL_MARK
126
printf("Parallel marking enabled.\n");