15 #include "stacktest.h" 16 #include "simpletools.h" 18 int *cog_runStackTest(
void (*
function)(
void *par),
int stacksize)
22 int stackSizeBytes = stacksize * (
sizeof(int));
24 int stackOverhead =
sizeof(_thread_state_t) + (3 *
sizeof(
unsigned int));
26 int cogRunTestOverhead = 2 *
sizeof(int);
28 int stackBytes = stackSizeBytes + stackOverhead + cogRunTestOverhead;
30 int stackInts = stackBytes /
sizeof(int);
35 addr = malloc(stackBytes);
37 for(
int *i = addr+2; i < (addr + (stackInts)); i++)
44 *addr = 1 + cogstart(
function, NULL, addr + cogRunTestOverhead/
sizeof(
int), stackBytes - cogRunTestOverhead);
53 *(addr+1) = stackInts;