make runtime 64 bit clean again
authorbdemsky <bdemsky>
Sat, 27 Jun 2009 23:31:44 +0000 (23:31 +0000)
committerbdemsky <bdemsky>
Sat, 27 Jun 2009 23:31:44 +0000 (23:31 +0000)
Robust/src/Runtime/STM/delaycomp.h
Robust/src/Runtime/STM/stm.c
Robust/src/Runtime/thread.c

index 88fc96fa749e98149a3b096d200d13e8875b965b..5835ccdf20c251d7a7ec9cc132a120eba132e76f 100644 (file)
@@ -5,8 +5,8 @@
 //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;
index 4e502c7e2aebd646692f889a71fc8d01de7ebfb6..b69739a06c6c118e212086f9697afae06a042cb6 100644 (file)
@@ -266,7 +266,7 @@ __attribute__((pure)) void *transRead(void * oid, void *gl) {
   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];
index 8582a0165f6d9988436bba512ab545390852455b..0180ef5787c8b147072042851c99b2e708e89921 100644 (file)
@@ -125,7 +125,12 @@ void threadhandler(int sig, struct sigcontext ctx) {
   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");
@@ -381,7 +386,9 @@ void CALL01(___Thread______nativeCreate____, struct ___Thread___ * ___this___) {
   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)