]> git.ipfire.org Git - thirdparty/valgrind.git/commitdiff
Wibble.
authorJulian Seward <jseward@acm.org>
Sun, 2 Dec 2007 02:05:23 +0000 (02:05 +0000)
committerJulian Seward <jseward@acm.org>
Sun, 2 Dec 2007 02:05:23 +0000 (02:05 +0000)
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7263

helgrind/hg_main.c
helgrind/hg_wordfm.c

index 8a98e5bcd04bb42f1e87c1b97a59c6b9a4d81196..e8105ddc01ddaadc185b97a35f15e626f54a03fd 100644 (file)
    worthwhile performance benefits over -O.
 */
 
+// FIXME catch sync signals (SEGV, basically) and unlock BHL,
+// if held.  Otherwise a LOCK-prefixed insn which segfaults 
+// gets Helgrind into a total muddle as the BHL will not be
+// released after the insn.
+
 // FIXME what is supposed to happen to locks in memory which
 // is relocated as a result of client realloc?
 
-// FIXME some kind of ownership recycling problem in
-// init_thread_specific_state() for programs which use the same thread
-// slot more than once?
-
 // FIXME put referencing ThreadId into Thread and get
 // rid of the slow reverse mapping function.
 
index b839a38ede8666d54182d439ec5e8272b96b2022..faaeec740f0648da5a606e7153d011fdb2ab5511 100644 (file)
@@ -386,7 +386,7 @@ AvlNode* avl_find_node ( AvlNode* t, Word k, Word(*kCmp)(Word,Word) )
       while (True) {
          if (t == NULL) return NULL;
          cmpres = kCmp(t->key, k);
-         if (cmpres > 0) t = t->child[0];  else
+         if (cmpres > 0) t = t->child[0]; else
          if (cmpres < 0) t = t->child[1]; else
          return t;
       }
@@ -399,7 +399,7 @@ AvlNode* avl_find_node ( AvlNode* t, Word k, Word(*kCmp)(Word,Word) )
          cmpres = ((Word)t->key) - ((Word)k);
          if (cmpres == 0) return t; /* unlikely ==> predictable */
          cmpresU = (UWord)cmpres;
-         cmpresU >>=/*unsigned*/ (8 * sizeof(cmpres) - 1);
+         cmpresU >>=/*unsigned*/ (8 * sizeof(cmpresU) - 1);
          t = t->child[cmpresU];
       }
    }