|
From: <sv...@va...> - 2008-07-08 11:41:32
|
Author: sewardj
Date: 2008-07-08 12:41:29 +0100 (Tue, 08 Jul 2008)
New Revision: 8400
Log:
MAX_FORWARD needs to be 64 on 64 bit platforms, otherwise this library
segfaults sometimes. Make it equal to the number of bits in a word.
Modified:
branches/PTRCHECK/exp-ptrcheck/pc_list.c
Modified: branches/PTRCHECK/exp-ptrcheck/pc_list.c
===================================================================
--- branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-07-08 10:40:38 UTC (rev 8399)
+++ branches/PTRCHECK/exp-ptrcheck/pc_list.c 2008-07-08 11:41:29 UTC (rev 8400)
@@ -119,7 +119,7 @@
// Miscellaneous
//-------------------------------------------------------------------
-#define MAX_FORWARD 32 // Maximum number of forward pointers
+#define MAX_FORWARD (8*sizeof(Addr)) // Maximum number of forward pointers
static void print_Addr(Addr a)
{
@@ -366,7 +366,7 @@
return o;
}
-// Nb: Intervals must be freeed elsewh, because there are possibly
+// Nb: Intervals must be freed elsewhere, because there are possibly
// multiple pointers to each Interval in the ISList; freeing them here
// could cause double-freeing.
static void INode__destruct(INode* o)
@@ -729,7 +729,6 @@
// the top edge coming into x, but never higher.
IList__empty(&promoted);
- //tl_assert(x); tl_assert(update); VG_(printf)("PREL %d %p\n",i, update[i]);
for (i = 0; i < x->topLevel && !ISNode__isHeader(update[i+1]); i++)
{
IList__copy(&tempMarkList, update[i]->markers[i]);
@@ -772,7 +771,6 @@
// add newPromoted to promoted and make newPromoted empty
IList__copy(&promoted, &newPromoted);
IList__empty(&newPromoted);
- //tl_assert(x); tl_assert(update); VG_(printf)("IN-L %d %p\n",i, update[i]);
}
/* Assertion: i=x->level()-1 OR update[i+1] is the header.
|