get_Seg_containing_addr() (in h_main.c): remove naive algorithm that
searches through all live Segs and replace it with one which is O(log
N) in the number of live Segs.
git-svn-id: svn://svn.valgrind.org/valgrind/trunk@8676 a5019735-40e9-0310-863c-91ae7b9d1cf9
diff --git a/exp-ptrcheck/sg_main.c b/exp-ptrcheck/sg_main.c
index 7c0ecb4..6e2369b 100644
--- a/exp-ptrcheck/sg_main.c
+++ b/exp-ptrcheck/sg_main.c
@@ -1564,12 +1564,16 @@
if (0) VG_(printf)("Tree sizes %ld %ld\n",
VG_(sizeFM)(siTrees[tid]), VG_(sizeFM)(giTree));
sOK = VG_(findBoundsFM)( siTrees[tid],
- (UWord*)&sLB, (UWord*)&sUB,
- (UWord)&sNegInf, (UWord)&sPosInf,
+ (UWord*)&sLB, NULL/*unused*/,
+ (UWord*)&sUB, NULL/*unused*/,
+ (UWord)&sNegInf, 0/*unused*/,
+ (UWord)&sPosInf, 0/*unused*/,
(UWord)&sKey );
gOK = VG_(findBoundsFM)( giTree,
- (UWord*)&gLB, (UWord*)&gUB,
- (UWord)&gNegInf, (UWord)&gPosInf,
+ (UWord*)&gLB, NULL/*unused*/,
+ (UWord*)&gUB, NULL/*unused*/,
+ (UWord)&gNegInf, 0/*unused*/,
+ (UWord)&gPosInf, 0/*unused*/,
(UWord)&gKey );
if (!(sOK && gOK)) {
/* If this happens, then [ea,ea+szB) partially overlaps