//them for now..probably a real implementation would page protect the
//page after...then default to something simpler
-#define MAXPOINTERS 1024*1024*4
-#define MAXVALUES 1024*1024*4
+#define MAXPOINTERS 1024*1024*1
+#define MAXVALUES 1024*1024*1
struct pointerlist {
int count;
A_memcpy(objcopy, header, size);
/* Insert into cache's lookup table */
STATUS(objcopy)=0;
- if (((unsigned int)oid)<((unsigned int ) curr_heapbase)|| ((unsigned int)oid) >((unsigned int) curr_heapptr))
+ if (((unsigned INTPTR)oid)<((unsigned INTPTR ) curr_heapbase)|| ((unsigned INTPTR)oid) >((unsigned INTPTR) curr_heapptr))
printf("ERROR! Bad object address!\n");
t_chashInsert(oid, &objcopy[1]);
return &objcopy[1];
printf("signal\n");
printf("To get stack trace, set breakpoint in threadhandler in gdb\n");
nptrs = backtrace(buffer, 100);
+#ifdef BIT64
+ buffer[1]=(void *)ctx.rip;
+#else
buffer[1]=(void *)ctx.eip;
+#endif
+
strings = backtrace_symbols(buffer, nptrs);
if (strings == NULL) {
perror("backtrace_symbols");
pthread_mutex_unlock(&gclistlock);
pthread_attr_init(&nattr);
pthread_attr_setdetachstate(&nattr, PTHREAD_CREATE_DETACHED);
-
+ INTPTR stacksize;
+ pthread_attr_getstacksize(&nattr, &stacksize);
+ printf("STACKSIZE=%u\n",stacksize);
do {
retval=pthread_create(&thread, &nattr, (void * (*)(void *)) &initthread, VAR(___this___));
if (retval!=0)