You can subscribe to this list here.
| 2002 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(1) |
Oct
(122) |
Nov
(152) |
Dec
(69) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2003 |
Jan
(6) |
Feb
(25) |
Mar
(73) |
Apr
(82) |
May
(24) |
Jun
(25) |
Jul
(10) |
Aug
(11) |
Sep
(10) |
Oct
(54) |
Nov
(203) |
Dec
(182) |
| 2004 |
Jan
(307) |
Feb
(305) |
Mar
(430) |
Apr
(312) |
May
(187) |
Jun
(342) |
Jul
(487) |
Aug
(637) |
Sep
(336) |
Oct
(373) |
Nov
(441) |
Dec
(210) |
| 2005 |
Jan
(385) |
Feb
(480) |
Mar
(636) |
Apr
(544) |
May
(679) |
Jun
(625) |
Jul
(810) |
Aug
(838) |
Sep
(634) |
Oct
(521) |
Nov
(965) |
Dec
(543) |
| 2006 |
Jan
(494) |
Feb
(431) |
Mar
(546) |
Apr
(411) |
May
(406) |
Jun
(322) |
Jul
(256) |
Aug
(401) |
Sep
(345) |
Oct
(542) |
Nov
(308) |
Dec
(481) |
| 2007 |
Jan
(427) |
Feb
(326) |
Mar
(367) |
Apr
(255) |
May
(244) |
Jun
(204) |
Jul
(223) |
Aug
(231) |
Sep
(354) |
Oct
(374) |
Nov
(497) |
Dec
(362) |
| 2008 |
Jan
(322) |
Feb
(482) |
Mar
(658) |
Apr
(422) |
May
(476) |
Jun
(396) |
Jul
(455) |
Aug
(267) |
Sep
(280) |
Oct
(253) |
Nov
(232) |
Dec
(304) |
| 2009 |
Jan
(486) |
Feb
(470) |
Mar
(458) |
Apr
(423) |
May
(696) |
Jun
(461) |
Jul
(551) |
Aug
(575) |
Sep
(134) |
Oct
(110) |
Nov
(157) |
Dec
(102) |
| 2010 |
Jan
(226) |
Feb
(86) |
Mar
(147) |
Apr
(117) |
May
(107) |
Jun
(203) |
Jul
(193) |
Aug
(238) |
Sep
(300) |
Oct
(246) |
Nov
(23) |
Dec
(75) |
| 2011 |
Jan
(133) |
Feb
(195) |
Mar
(315) |
Apr
(200) |
May
(267) |
Jun
(293) |
Jul
(353) |
Aug
(237) |
Sep
(278) |
Oct
(611) |
Nov
(274) |
Dec
(260) |
| 2012 |
Jan
(303) |
Feb
(391) |
Mar
(417) |
Apr
(441) |
May
(488) |
Jun
(655) |
Jul
(590) |
Aug
(610) |
Sep
(526) |
Oct
(478) |
Nov
(359) |
Dec
(372) |
| 2013 |
Jan
(467) |
Feb
(226) |
Mar
(391) |
Apr
(281) |
May
(299) |
Jun
(252) |
Jul
(311) |
Aug
(352) |
Sep
(481) |
Oct
(571) |
Nov
(222) |
Dec
(231) |
| 2014 |
Jan
(185) |
Feb
(329) |
Mar
(245) |
Apr
(238) |
May
(281) |
Jun
(399) |
Jul
(382) |
Aug
(500) |
Sep
(579) |
Oct
(435) |
Nov
(487) |
Dec
(256) |
| 2015 |
Jan
(338) |
Feb
(357) |
Mar
(330) |
Apr
(294) |
May
(191) |
Jun
(108) |
Jul
(142) |
Aug
(261) |
Sep
(190) |
Oct
(54) |
Nov
(83) |
Dec
(22) |
| 2016 |
Jan
(49) |
Feb
(89) |
Mar
(33) |
Apr
(50) |
May
(27) |
Jun
(34) |
Jul
(53) |
Aug
(53) |
Sep
(98) |
Oct
(206) |
Nov
(93) |
Dec
(53) |
| 2017 |
Jan
(65) |
Feb
(82) |
Mar
(102) |
Apr
(86) |
May
(187) |
Jun
(67) |
Jul
(23) |
Aug
(93) |
Sep
(65) |
Oct
(45) |
Nov
(35) |
Dec
(17) |
| 2018 |
Jan
(26) |
Feb
(35) |
Mar
(38) |
Apr
(32) |
May
(8) |
Jun
(43) |
Jul
(27) |
Aug
(30) |
Sep
(43) |
Oct
(42) |
Nov
(38) |
Dec
(67) |
| 2019 |
Jan
(32) |
Feb
(37) |
Mar
(53) |
Apr
(64) |
May
(49) |
Jun
(18) |
Jul
(14) |
Aug
(53) |
Sep
(25) |
Oct
(30) |
Nov
(49) |
Dec
(31) |
| 2020 |
Jan
(87) |
Feb
(45) |
Mar
(37) |
Apr
(51) |
May
(99) |
Jun
(36) |
Jul
(11) |
Aug
(14) |
Sep
(20) |
Oct
(24) |
Nov
(40) |
Dec
(23) |
| 2021 |
Jan
(14) |
Feb
(53) |
Mar
(85) |
Apr
(15) |
May
(19) |
Jun
(3) |
Jul
(14) |
Aug
(1) |
Sep
(57) |
Oct
(73) |
Nov
(56) |
Dec
(22) |
| 2022 |
Jan
(3) |
Feb
(22) |
Mar
(6) |
Apr
(55) |
May
(46) |
Jun
(39) |
Jul
(15) |
Aug
(9) |
Sep
(11) |
Oct
(34) |
Nov
(20) |
Dec
(36) |
| 2023 |
Jan
(79) |
Feb
(41) |
Mar
(99) |
Apr
(169) |
May
(48) |
Jun
(16) |
Jul
(16) |
Aug
(57) |
Sep
(19) |
Oct
|
Nov
|
Dec
|
| S | M | T | W | T | F | S |
|---|---|---|---|---|---|---|
|
|
1
(18) |
2
(35) |
3
(34) |
4
(25) |
5
(16) |
6
(32) |
|
7
(7) |
8
(13) |
9
(20) |
10
(17) |
11
(10) |
12
(18) |
13
(9) |
|
14
(5) |
15
(26) |
16
(23) |
17
(5) |
18
(1) |
19
(4) |
20
(3) |
|
21
(10) |
22
(13) |
23
(13) |
24
(23) |
25
(30) |
26
(13) |
27
(6) |
|
28
(1) |
29
(16) |
30
(15) |
|
|
|
|
|
From: <sv...@va...> - 2009-06-08 18:20:53
|
Author: bart Date: 2009-06-08 19:20:42 +0100 (Mon, 08 Jun 2009) New Revision: 10279 Log: svn merge -r9818:10278 svn://svn.valgrind.org/valgrind/branches/DRDDEV Added: trunk/drd/tests/unit_bitmap.c trunk/drd/tests/unit_bitmap.stderr.exp trunk/drd/tests/unit_bitmap.vgtest trunk/drd/tests/unit_vc.c trunk/drd/tests/unit_vc.stderr.exp trunk/drd/tests/unit_vc.vgtest Removed: trunk/drd/tests/drd_bitmap_test.c trunk/drd/tests/drd_bitmap_test.stderr.exp trunk/drd/tests/drd_bitmap_test.stdout.exp trunk/drd/tests/drd_bitmap_test.vgtest Modified: trunk/drd/ trunk/drd/drd_barrier.c trunk/drd/drd_bitmap.c trunk/drd/drd_bitmap.h trunk/drd/drd_load_store.c trunk/drd/drd_main.c trunk/drd/drd_mutex.c trunk/drd/drd_rwlock.c trunk/drd/drd_segment.c trunk/drd/drd_segment.h trunk/drd/drd_semaphore.c trunk/drd/drd_thread.c trunk/drd/drd_thread.h trunk/drd/drd_thread_bitmap.h trunk/drd/drd_vc.c trunk/drd/drd_vc.h trunk/drd/pub_drd_bitmap.h trunk/drd/tests/Makefile.am trunk/drd/tests/filter_stderr trunk/drd/tests/omp_prime.c [... diff too large to include ...] |
|
From: <sv...@va...> - 2009-06-08 18:00:29
|
Author: bart
Date: 2009-06-08 19:00:04 +0100 (Mon, 08 Jun 2009)
New Revision: 10278
Log:
Removed a duplicate statement.
Modified:
branches/DRDDEV/drd/drd_rwlock.c
Modified: branches/DRDDEV/drd/drd_rwlock.c
===================================================================
--- branches/DRDDEV/drd/drd_rwlock.c 2009-06-08 17:49:38 UTC (rev 10277)
+++ branches/DRDDEV/drd/drd_rwlock.c 2009-06-08 18:00:04 UTC (rev 10278)
@@ -391,8 +391,6 @@
DRD_(s_rwlock_segment_creation_count)++;
DRD_(rwlock_combine_other_vc)(p, drd_tid, False);
- DRD_(rwlock_combine_other_vc)(p, drd_tid, False);
-
p->acquiry_time_ms = VG_(read_millisecond_timer)();
p->acquired_at = VG_(record_ExeContext)(VG_(get_running_tid)(), 0);
}
|
|
From: <sv...@va...> - 2009-06-08 17:50:44
|
Author: bart
Date: 2009-06-08 18:49:38 +0100 (Mon, 08 Jun 2009)
New Revision: 10277
Log:
Reverted more of r10130.
Modified:
branches/DRDDEV/memcheck/tests/unit_oset.c
Modified: branches/DRDDEV/memcheck/tests/unit_oset.c
===================================================================
--- branches/DRDDEV/memcheck/tests/unit_oset.c 2009-06-08 17:46:55 UTC (rev 10276)
+++ branches/DRDDEV/memcheck/tests/unit_oset.c 2009-06-08 17:49:38 UTC (rev 10277)
@@ -28,11 +28,6 @@
#define vgPlain_memset memset
#define vgPlain_memcpy memcpy
-void* VG_(malloc)(HChar* cc, SizeT nbytes)
-{ return malloc(nbytes); }
-void VG_(free)(void* p)
-{ return free(p); }
-
#include "coregrind/m_oset.c"
#define NN 1000 // Size of OSets being created
|
|
From: <sv...@va...> - 2009-06-08 17:47:59
|
Author: bart
Date: 2009-06-08 18:46:55 +0100 (Mon, 08 Jun 2009)
New Revision: 10276
Log:
Reverted most of r10130 and r10227.
Modified:
branches/DRDDEV/coregrind/m_oset.c
branches/DRDDEV/drd/drd_bitmap.c
branches/DRDDEV/drd/drd_bitmap.h
branches/DRDDEV/drd/pub_drd_bitmap.h
branches/DRDDEV/include/pub_tool_oset.h
Modified: branches/DRDDEV/coregrind/m_oset.c
===================================================================
--- branches/DRDDEV/coregrind/m_oset.c 2009-06-08 17:36:05 UTC (rev 10275)
+++ branches/DRDDEV/coregrind/m_oset.c 2009-06-08 17:46:55 UTC (rev 10276)
@@ -80,7 +80,6 @@
#include "pub_core_libcassert.h"
#include "pub_core_libcprint.h"
#include "pub_core_oset.h"
-#include "pub_tool_mallocfree.h" /* VG_(malloc), VG_(free) */
/*--------------------------------------------------------------------*/
/*--- Types and constants ---*/
@@ -103,8 +102,26 @@
Short magic;
};
+#define STACK_MAX 32 // At most 2**32 entries can be iterated over
#define OSET_MAGIC 0x5b1f
+// An OSet (AVL tree). If cmp is NULL, the key must be a UWord, and must
+// be the first word in the element. If cmp is set, arbitrary keys in
+// arbitrary positions can be used.
+struct _OSet {
+ SizeT keyOff; // key offset
+ OSetCmp_t cmp; // compare a key and an element, or NULL
+ OSetAlloc_t alloc; // allocator
+ HChar* cc; // cc for allocator
+ OSetFree_t free; // deallocator
+ Word nElems; // number of elements in the tree
+ AvlNode* root; // root node
+
+ AvlNode* nodeStack[STACK_MAX]; // Iterator node stack
+ Int numStack[STACK_MAX]; // Iterator num stack
+ Int stackTop; // Iterator stack pointer, one past end
+};
+
/*--------------------------------------------------------------------*/
/*--- Helper operations ---*/
/*--------------------------------------------------------------------*/
@@ -225,7 +242,7 @@
{
Int i;
vg_assert(t);
- for (i = 0; i < OSET_STACK_MAX; i++) {
+ for (i = 0; i < STACK_MAX; i++) {
t->nodeStack[i] = NULL;
t->numStack[i] = 0;
}
@@ -235,7 +252,7 @@
// Push onto the iterator stack.
static inline void stackPush(AvlTree* t, AvlNode* n, Int i)
{
- vg_assert(t->stackTop < OSET_STACK_MAX);
+ vg_assert(t->stackTop < STACK_MAX);
vg_assert(1 <= i && i <= 3);
t->nodeStack[t->stackTop] = n;
t-> numStack[t->stackTop] = i;
@@ -245,7 +262,7 @@
// Pop from the iterator stack.
static inline Bool stackPop(AvlTree* t, AvlNode** n, Int* i)
{
- vg_assert(t->stackTop <= OSET_STACK_MAX);
+ vg_assert(t->stackTop <= STACK_MAX);
if (t->stackTop > 0) {
t->stackTop--;
@@ -280,13 +297,6 @@
if (!_cmp) vg_assert(0 == _keyOff); // If no cmp, offset must be zero
t = _alloc(_cc, sizeof(AvlTree));
- return VG_(OSetGen_Initialize)(t, _keyOff, _cmp, _alloc, _cc, _free);
-}
-
-OSet* VG_(OSetGen_Initialize)(AvlTree* t, PtrdiffT _keyOff, OSetCmp_t _cmp,
- OSetAlloc_t _alloc, HChar* _cc,
- OSetFree_t _free)
- {
t->keyOff = _keyOff;
t->cmp = _cmp;
t->alloc = _alloc;
@@ -305,7 +315,8 @@
return VG_(OSetGen_Create)(/*keyOff*/0, /*cmp*/NULL, _alloc, _cc, _free);
}
-void VG_(OSetGen_Cleanup)(AvlTree* t)
+// Destructor, frees up all memory held by remaining nodes.
+void VG_(OSetGen_Destroy)(AvlTree* t)
{
AvlNode* n = NULL;
Int i = 0;
@@ -335,13 +346,7 @@
}
}
vg_assert(sz == t->nElems);
-}
-// Destructor, frees up all memory held by remaining nodes.
-void VG_(OSetGen_Destroy)(AvlTree* t)
-{
- VG_(OSetGen_Cleanup)(t);
-
/* Free the AvlTree itself. */
t->free(t);
}
Modified: branches/DRDDEV/drd/drd_bitmap.c
===================================================================
--- branches/DRDDEV/drd/drd_bitmap.c 2009-06-08 17:36:05 UTC (rev 10275)
+++ branches/DRDDEV/drd/drd_bitmap.c 2009-06-08 17:46:55 UTC (rev 10276)
@@ -92,19 +92,14 @@
bm->cache[i].a1 = ~(UWord)1;
bm->cache[i].bm2 = 0;
}
-#if 1
- VG_(OSetGen_Initialize)(&bm->oset, 0, 0, VG_(malloc),
- "Drd.bitmap.bn.2", VG_(free));
-#else
bm->oset = VG_(OSetGen_Create)(0, 0, VG_(malloc), "drd.bitmap.bn.2",
VG_(free));
-#endif
}
/** Free the memory allocated by DRD_(bm_init)(). */
void DRD_(bm_cleanup)(struct bitmap* const bm)
{
- VG_(OSetGen_Cleanup)(&bm->oset);
+ VG_(OSetGen_Destroy)(bm->oset);
}
/**
@@ -921,17 +916,17 @@
/* so complain if lhs == rhs. */
tl_assert(lhs != rhs);
- VG_(OSetGen_ResetIter)(&lhs->oset);
- VG_(OSetGen_ResetIter)(&rhs->oset);
+ VG_(OSetGen_ResetIter)(lhs->oset);
+ VG_(OSetGen_ResetIter)(rhs->oset);
- for ( ; (bm2l = VG_(OSetGen_Next)(&lhs->oset)) != 0; )
+ for ( ; (bm2l = VG_(OSetGen_Next)(lhs->oset)) != 0; )
{
while (bm2l
&& ! DRD_(bm_has_any_access)(lhs,
make_address(bm2l->addr, 0),
make_address(bm2l->addr + 1, 0)))
{
- bm2l = VG_(OSetGen_Next)(&lhs->oset);
+ bm2l = VG_(OSetGen_Next)(lhs->oset);
}
if (bm2l == 0)
break;
@@ -939,7 +934,7 @@
do
{
- bm2r = VG_(OSetGen_Next)(&rhs->oset);
+ bm2r = VG_(OSetGen_Next)(rhs->oset);
if (bm2r == 0)
return False;
}
@@ -962,7 +957,7 @@
do
{
- bm2r = VG_(OSetGen_Next)(&rhs->oset);
+ bm2r = VG_(OSetGen_Next)(rhs->oset);
} while (bm2r && ! DRD_(bm_has_any_access)(rhs,
make_address(bm2r->addr, 0),
make_address(bm2r->addr + 1, 0)));
@@ -978,7 +973,7 @@
void DRD_(bm_swap)(struct bitmap* const bm1, struct bitmap* const bm2)
{
- OSet const tmp = bm1->oset;
+ OSet* const tmp = bm1->oset;
bm1->oset = bm2->oset;
bm2->oset = tmp;
}
@@ -997,11 +992,11 @@
s_bitmap_merge_count++;
- VG_(OSetGen_ResetIter)(&rhs->oset);
+ VG_(OSetGen_ResetIter)(rhs->oset);
- for ( ; (bm2r = VG_(OSetGen_Next)(&rhs->oset)) != 0; )
+ for ( ; (bm2r = VG_(OSetGen_Next)(rhs->oset)) != 0; )
{
- bm2l = VG_(OSetGen_Lookup)(&lhs->oset, &bm2r->addr);
+ bm2l = VG_(OSetGen_Lookup)(lhs->oset, &bm2r->addr);
if (bm2l)
{
tl_assert(bm2l != bm2r);
@@ -1019,8 +1014,8 @@
{
struct bitmap2* bm2;
- for (VG_(OSetGen_ResetIter)(&bm->oset);
- (bm2 = VG_(OSetGen_Next)(&bm->oset)) != 0;
+ for (VG_(OSetGen_ResetIter)(bm->oset);
+ (bm2 = VG_(OSetGen_Next)(bm->oset)) != 0;
)
{
bm2->recalc = False;
@@ -1051,8 +1046,8 @@
struct bitmap2* bm2l;
struct bitmap2* bm2r;
- for (VG_(OSetGen_ResetIter)(&bmr->oset);
- (bm2r = VG_(OSetGen_Next)(&bmr->oset)) != 0;
+ for (VG_(OSetGen_ResetIter)(bmr->oset);
+ (bm2r = VG_(OSetGen_Next)(bmr->oset)) != 0;
)
{
/*if (DRD_(bm_has_any_access(bmr, make_address(bm2r->addr, 0),
@@ -1069,8 +1064,8 @@
{
struct bitmap2* bm2;
- for (VG_(OSetGen_ResetIter)(&bm->oset);
- (bm2 = VG_(OSetGen_Next)(&bm->oset)) != 0;
+ for (VG_(OSetGen_ResetIter)(bm->oset);
+ (bm2 = VG_(OSetGen_Next)(bm->oset)) != 0;
)
{
if (bm2->recalc)
@@ -1094,11 +1089,11 @@
s_bitmap_merge_count++;
- VG_(OSetGen_ResetIter)(&rhs->oset);
+ VG_(OSetGen_ResetIter)(rhs->oset);
- for ( ; (bm2r = VG_(OSetGen_Next)(&rhs->oset)) != 0; )
+ for ( ; (bm2r = VG_(OSetGen_Next)(rhs->oset)) != 0; )
{
- bm2l = VG_(OSetGen_Lookup)(&lhs->oset, &bm2r->addr);
+ bm2l = VG_(OSetGen_Lookup)(lhs->oset, &bm2r->addr);
if (bm2l && bm2l->recalc)
{
tl_assert(bm2l != bm2r);
@@ -1112,8 +1107,8 @@
{
struct bitmap2* bm2;
- VG_(OSetGen_ResetIter)(&bm->oset);
- for ( ; (bm2 = VG_(OSetGen_Next)(&bm->oset)) != 0; )
+ VG_(OSetGen_ResetIter)(bm->oset);
+ for ( ; (bm2 = VG_(OSetGen_Next)(bm->oset)) != 0; )
{
const UWord a1 = bm2->addr;
if (bm2->recalc
@@ -1121,7 +1116,7 @@
make_address(a1 + 1, 0))))
{
bm2_remove(bm, a1);
- VG_(OSetGen_ResetIterAt)(&bm->oset, &a1);
+ VG_(OSetGen_ResetIterAt)(bm->oset, &a1);
}
}
}
@@ -1134,8 +1129,8 @@
*/
int DRD_(bm_has_races)(struct bitmap* const lhs, struct bitmap* const rhs)
{
- VG_(OSetGen_ResetIter)(&lhs->oset);
- VG_(OSetGen_ResetIter)(&rhs->oset);
+ VG_(OSetGen_ResetIter)(lhs->oset);
+ VG_(OSetGen_ResetIter)(rhs->oset);
for (;;)
{
@@ -1145,14 +1140,14 @@
const struct bitmap1* bm1r;
unsigned k;
- bm2l = VG_(OSetGen_Next)(&lhs->oset);
- bm2r = VG_(OSetGen_Next)(&rhs->oset);
+ bm2l = VG_(OSetGen_Next)(lhs->oset);
+ bm2r = VG_(OSetGen_Next)(rhs->oset);
while (bm2l && bm2r && bm2l->addr != bm2r->addr)
{
if (bm2l->addr < bm2r->addr)
- bm2l = VG_(OSetGen_Next)(&lhs->oset);
+ bm2l = VG_(OSetGen_Next)(lhs->oset);
else
- bm2r = VG_(OSetGen_Next)(&rhs->oset);
+ bm2r = VG_(OSetGen_Next)(rhs->oset);
}
if (bm2l == 0 || bm2r == 0)
break;
@@ -1185,8 +1180,8 @@
{
struct bitmap2* bm2;
- for (VG_(OSetGen_ResetIter)(&bm->oset);
- (bm2 = VG_(OSetGen_Next)(&bm->oset)) != 0;
+ for (VG_(OSetGen_ResetIter)(bm->oset);
+ (bm2 = VG_(OSetGen_Next)(bm->oset)) != 0;
)
{
bm2_print(bm2);
Modified: branches/DRDDEV/drd/drd_bitmap.h
===================================================================
--- branches/DRDDEV/drd/drd_bitmap.h 2009-06-08 17:36:05 UTC (rev 10275)
+++ branches/DRDDEV/drd/drd_bitmap.h 2009-06-08 17:46:55 UTC (rev 10276)
@@ -505,7 +505,7 @@
if (! bm_cache_lookup(bm, a1, &bm2))
{
- bm2 = VG_(OSetGen_Lookup)(&bm->oset, &a1);
+ bm2 = VG_(OSetGen_Lookup)(bm->oset, &a1);
bm_update_cache(bm, a1, bm2);
}
return bm2;
@@ -530,7 +530,7 @@
if (! bm_cache_lookup(bm, a1, &bm2))
{
- bm2 = VG_(OSetGen_Lookup)(&bm->oset, &a1);
+ bm2 = VG_(OSetGen_Lookup)(bm->oset, &a1);
}
return bm2;
@@ -555,9 +555,9 @@
s_bitmap2_creation_count++;
- bm2 = VG_(OSetGen_AllocNode)(&bm->oset, sizeof(*bm2));
+ bm2 = VG_(OSetGen_AllocNode)(bm->oset, sizeof(*bm2));
bm2->addr = a1;
- VG_(OSetGen_Insert)(&bm->oset, bm2);
+ VG_(OSetGen_Insert)(bm->oset, bm2);
bm_update_cache(bm, a1, bm2);
@@ -601,7 +601,7 @@
}
else
{
- bm2 = VG_(OSetGen_Lookup)(&bm->oset, &a1);
+ bm2 = VG_(OSetGen_Lookup)(bm->oset, &a1);
if (! bm2)
{
bm2 = bm2_insert(bm, a1);
@@ -635,8 +635,8 @@
tl_assert(bm);
#endif
- bm2 = VG_(OSetGen_Remove)(&bm->oset, &a1);
- VG_(OSetGen_FreeNode)(&bm->oset, bm2);
+ bm2 = VG_(OSetGen_Remove)(bm->oset, &a1);
+ VG_(OSetGen_FreeNode)(bm->oset, bm2);
bm_update_cache(bm, a1, NULL);
}
Modified: branches/DRDDEV/drd/pub_drd_bitmap.h
===================================================================
--- branches/DRDDEV/drd/pub_drd_bitmap.h 2009-06-08 17:36:05 UTC (rev 10275)
+++ branches/DRDDEV/drd/pub_drd_bitmap.h 2009-06-08 17:46:55 UTC (rev 10276)
@@ -70,7 +70,7 @@
struct bitmap
{
struct bm_cache_elem cache[DRD_BITMAP_N_CACHE_ELEM];
- struct _OSet oset;
+ OSet* oset;
};
Modified: branches/DRDDEV/include/pub_tool_oset.h
===================================================================
--- branches/DRDDEV/include/pub_tool_oset.h 2009-06-08 17:36:05 UTC (rev 10275)
+++ branches/DRDDEV/include/pub_tool_oset.h 2009-06-08 17:46:55 UTC (rev 10276)
@@ -70,8 +70,6 @@
/*--- Types ---*/
/*--------------------------------------------------------------------*/
-#define OSET_STACK_MAX 32 // At most 2**32 entries can be iterated over
-
typedef struct _OSet OSet;
// - Cmp: returns -1, 0 or 1 if key is <, == or > elem.
@@ -82,24 +80,6 @@
typedef void* (*OSetAlloc_t) ( HChar* ec, SizeT szB );
typedef void (*OSetFree_t) ( void* p );
-// An OSet (AVL tree). If cmp is NULL, the key must be a UWord, and must
-// be the first word in the element. If cmp is set, arbitrary keys in
-// arbitrary positions can be used. Do not access the members of this
-// structure directly -- use the VG_(OSetGen_*)() functions instead.
-struct _OSet {
- SizeT keyOff; // key offset
- OSetCmp_t cmp; // compare a key and an element, or NULL
- OSetAlloc_t alloc; // allocator
- HChar* cc; // cc for allocator
- OSetFree_t free; // deallocator
- Word nElems; // number of elements in the tree
- struct _OSetNode* root; // root node
-
- struct _OSetNode* nodeStack[OSET_STACK_MAX]; // Iterator node stack
- Int numStack[OSET_STACK_MAX]; // Iterator num stack
- Int stackTop; // Iterator stack pointer, one past end
-};
-
/*--------------------------------------------------------------------*/
/*--- Creating and destroying OSets (UWord) ---*/
/*--------------------------------------------------------------------*/
@@ -191,11 +171,6 @@
// to allow the destruction of any attached resources; if NULL it is not
// called.
//
-// * Initialize: initialize allocated memory as an OSet.
-//
-// * Cleanup: frees all nodes in the table but not the memory used by the
-// table itself.
-//
// * AllocNode: Allocate and zero memory for a node to go into the OSet.
// Uses the alloc function given to VG_(OSetGen_Create)() to allocated a
// node which is big enough for both an element and the OSet metadata.
@@ -212,10 +187,6 @@
OSetAlloc_t alloc, HChar* ec,
OSetFree_t _free );
extern void VG_(OSetGen_Destroy) ( OSet* os );
-extern OSet* VG_(OSetGen_Initialize)( OSet* os, PtrdiffT keyOff, OSetCmp_t cmp,
- OSetAlloc_t alloc, HChar* ec,
- OSetFree_t _free );
-extern void VG_(OSetGen_Cleanup) ( OSet* os );
extern void* VG_(OSetGen_AllocNode) ( OSet* os, SizeT elemSize );
extern void VG_(OSetGen_FreeNode) ( OSet* os, void* elem );
|
|
From: <sv...@va...> - 2009-06-08 17:37:29
|
Author: bart
Date: 2009-06-08 18:36:05 +0100 (Mon, 08 Jun 2009)
New Revision: 10275
Log:
Reverted r10129.
Removed:
branches/DRDDEV/drd/drd_bitmap2_node.c
Modified:
branches/DRDDEV/drd/
branches/DRDDEV/drd/Makefile.am
branches/DRDDEV/drd/drd_bitmap.c
branches/DRDDEV/drd/pub_drd_bitmap.h
branches/DRDDEV/drd/tests/unit_bitmap.c
Property changes on: branches/DRDDEV/drd
___________________________________________________________________
Name: svn:mergeinfo
-
Modified: branches/DRDDEV/drd/Makefile.am
===================================================================
--- branches/DRDDEV/drd/Makefile.am 2009-06-07 07:36:57 UTC (rev 10274)
+++ branches/DRDDEV/drd/Makefile.am 2009-06-08 17:36:05 UTC (rev 10275)
@@ -119,7 +119,6 @@
DRD_SOURCES = \
drd_barrier.c \
- drd_bitmap2_node.c \
drd_clientobj.c \
drd_clientreq.c \
drd_cond.c \
Modified: branches/DRDDEV/drd/drd_bitmap.c
===================================================================
--- branches/DRDDEV/drd/drd_bitmap.c 2009-06-07 07:36:57 UTC (rev 10274)
+++ branches/DRDDEV/drd/drd_bitmap.c 2009-06-08 17:36:05 UTC (rev 10275)
@@ -92,8 +92,13 @@
bm->cache[i].a1 = ~(UWord)1;
bm->cache[i].bm2 = 0;
}
- VG_(OSetGen_Initialize)(&bm->oset, 0, 0, DRD_(bm2_alloc_node),
- "drd.bitmap.bn.2", DRD_(bm2_free_node));
+#if 1
+ VG_(OSetGen_Initialize)(&bm->oset, 0, 0, VG_(malloc),
+ "Drd.bitmap.bn.2", VG_(free));
+#else
+ bm->oset = VG_(OSetGen_Create)(0, 0, VG_(malloc), "drd.bitmap.bn.2",
+ VG_(free));
+#endif
}
/** Free the memory allocated by DRD_(bm_init)(). */
Deleted: branches/DRDDEV/drd/drd_bitmap2_node.c
===================================================================
--- branches/DRDDEV/drd/drd_bitmap2_node.c 2009-06-07 07:36:57 UTC (rev 10274)
+++ branches/DRDDEV/drd/drd_bitmap2_node.c 2009-06-08 17:36:05 UTC (rev 10275)
@@ -1,51 +0,0 @@
-/* -*- mode: C; c-basic-offset: 3; -*- */
-/*
- This file is part of drd, a thread error detector.
-
- Copyright (C) 2006-2009 Bart Van Assche <bar...@gm...>.
-
- This program is free software; you can redistribute it and/or
- modify it under the terms of the GNU General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- This program is distributed in the hope that it will be useful, but
- WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
- 02111-1307, USA.
-
- The GNU General Public License is contained in the file COPYING.
-*/
-
-
-#include "drd_basics.h" /* DRD_() */
-#include "pub_drd_bitmap.h"
-#include "pub_tool_basics.h" /* Addr, SizeT */
-#include "pub_tool_libcassert.h" /* tl_assert() */
-#include "pub_tool_mallocfree.h" /* VG_(malloc), VG_(free) */
-
-
-/* Local function declarations. */
-
-
-
-/* Local variables. */
-
-
-
-/* Function definitions. */
-
-void* DRD_(bm2_alloc_node)(HChar* const ec, const SizeT szB)
-{
- return VG_(malloc)(ec, szB);
-}
-
-void DRD_(bm2_free_node)(void* const bm2)
-{
- return VG_(free)(bm2);
-}
Modified: branches/DRDDEV/drd/pub_drd_bitmap.h
===================================================================
--- branches/DRDDEV/drd/pub_drd_bitmap.h 2009-06-07 07:36:57 UTC (rev 10274)
+++ branches/DRDDEV/drd/pub_drd_bitmap.h 2009-06-08 17:36:05 UTC (rev 10275)
@@ -148,7 +148,4 @@
ULong DRD_(bm_get_bitmap2_creation_count)(void);
ULong DRD_(bm_get_bitmap2_merge_count)(void);
-void* DRD_(bm2_alloc_node)(HChar* const ec, const SizeT szB);
-void DRD_(bm2_free_node)(void* const bm2);
-
#endif /* __PUB_DRD_BITMAP_H */
Modified: branches/DRDDEV/drd/tests/unit_bitmap.c
===================================================================
--- branches/DRDDEV/drd/tests/unit_bitmap.c 2009-06-07 07:36:57 UTC (rev 10274)
+++ branches/DRDDEV/drd/tests/unit_bitmap.c 2009-06-08 17:36:05 UTC (rev 10275)
@@ -8,7 +8,6 @@
#include <unistd.h>
#include "coregrind/m_oset.c"
#include "drd/drd_bitmap.c"
-#include "drd/drd_bitmap2_node.c"
#include "drd/pub_drd_bitmap.h"
|
|
From: Bart V. A. <bar...@gm...> - 2009-06-08 11:51:58
|
On Mon, Jun 8, 2009 at 1:37 PM, Nicholas Nethercote<n.n...@gm...> wrote: > On Mon, Jun 8, 2009 at 8:34 PM, Bart Van Assche<bar...@gm...> wrote: >> On Wed, Jun 3, 2009 at 1:20 AM, <sv...@va...> wrote: >>> Author: njn >>> Date: 2009-06-03 00:20:40 +0100 (Wed, 03 Jun 2009) >>> New Revision: 10215 >>> >>> Log: >>> Add descriptions of DRD and Ptrcheck in the manual intro. Bart, Julian, >>> please change these if you don't like what I've written, and merge the >>> changes to the 3.4.X branch. >> >> Thanks for updating the introduction of the manual. Regarding DRD and >> Helgrind: any user reading the manual will wonder why there are two >> thread checking tools. I had already been considering to add a table >> to the chapter about DRD that lists the numerous small differences >> between DRD and Helgrind. I'm not sure whether the introduction is the >> right place to list these differences. > > A brief summary would be appropriate -- "slower but no false > positives" or similar (I'm not sure if that's an accurate description, > just an example). The above is a totally inaccurate description, and you already knew that. Bart. |
|
From: Madhusudhana V. <Mad...@ln...> - 2009-06-08 11:45:32
|
Hi all,
I wanted to Cross compile Valgringd for MPC8548E Architecture. I
configured and compiled the valgrind with some changes in 2 files
configure and config.sub.
but after running it on the board.. i am getting this error
---------------------------------
root# ./valgrind --tool=memcheck ./mem_leak
==7875== Memcheck, a memory error detector.
==7875== Copyright (C) 2002-2008, and GNU GPL'd, by Julian Seward et al.
==7875== Using LibVEX rev 1884, a library for dynamic binary translation.
==7875== Copyright (C) 2004-2008, and GNU GPL'd, by OpenWorks LLP.
==7875== Using valgrind-3.4.1, a dynamic binary instrumentation framework.
==7875== Copyright (C) 2000-2008, and GNU GPL'd, by Julian Seward et al.
==7875== For more details, rerun with: -v
==7875==
==7875== Use of uninitialised value of size 4
==7875== at 0x40138F4: (within /lib/ld-2.3.3.so)
==7875== by 0x7EFFF7AF: ???
==7875== by 0x4005497: (within /lib/ld-2.3.3.so)
==7875== by 0x4007A9F: (within /lib/ld-2.3.3.so)
==7875== by 0x40046CB: (within /lib/ld-2.3.3.so)
==7875== by 0x400F74B: (within /lib/ld-2.3.3.so)
==7875== by 0x4004A5F: (within /lib/ld-2.3.3.so)
==7875== by 0x4004E8B: (within /lib/ld-2.3.3.so)
==7875== by 0x4010A03: (within /lib/ld-2.3.3.so)
==7875== Use of uninitialised value of size 4
==7875== at 0x400AB18: (within /lib/ld-2.3.3.so)
==7875== by 0x4002C9F: (within /lib/ld-2.3.3.so)
==7875== by 0x400F74B: (within /lib/ld-2.3.3.so)
==7875== by 0x4004A5F: (within /lib/ld-2.3.3.so)
==7875== by 0x4004E8B: (within /lib/ld-2.3.3.so)
==7875== by 0x4010A03: (within /lib/ld-2.3.3.so)
disInstr(ppc): declined to decode an AltiVec insn.
disInstr(ppc): unhandled instruction: 0x13C17320
primary 4(0x4), secondary 800(0x320)
==7875== valgrind: Unrecognised instruction at address 0x400be08.
==7875== Your program just tried to execute an instruction that Valgrind
==7875== did not recognise. There are two possible reasons for this.
==7875== 1. Your program has a bug and erroneously jumped to a non-code
==7875== location. If you are running Memcheck and you just saw a
==7875== warning about a bad jump, it's probably your program's fault.
==7875== 2. The instruction is legitimate but Valgrind doesn't handle it,
==7875== i.e. it's Valgrind's fault. If you think this is the case or
==7875== you are not sure, please let us know and we'll try to fix it.
==7875== Either way, Valgrind will now raise a SIGILL signal which will
==7875== probably kill your program.
==7875==
==7875== Process terminating with default action of signal 4 (SIGILL)
==7875== Illegal opcode at address 0x400BE08
==7875== at 0x400BE08: (within /lib/ld-2.3.3.so)
==7875== by 0x98: ???
==7875== by 0x4002C9F: (within /lib/ld-2.3.3.so)
==7875== by 0x400F74B: (within /lib/ld-2.3.3.so)
==7875== by 0x4004A5F: (within /lib/ld-2.3.3.so)
==7875== by 0x4004E8B: (within /lib/ld-2.3.3.so)
==7875== by 0x4010A03: (within /lib/ld-2.3.3.so)
==7875==
==7875== ERROR SUMMARY: 78 errors from 62 contexts (suppressed: 31 from 1)
==7875== malloc/free: in use at exit: 0 bytes in 0 blocks.
==7875== malloc/free: 0 allocs, 0 frees, 0 bytes allocated.
==7875== For counts of detected errors, rerun with: -v
==7875== Use --track-origins=yes to see where uninitialised values come
from
==7875== All heap blocks were freed -- no leaks are possible.
Illegal instruction
Is This error due to Valgrind unable to recognize the opcode.
I am using ppc_85xx-gcc (Compiler Tool chain)
Please anybody can help regarding this..
Thanks and Regards
Madhusudhana M V
Software Engineer
E-Mail id - mad...@ln...
L&T Infotech Ltd,
Plot No 25-31, EPIP IInd Phase,
KIADB Industrial Area, Whitefiled,
Bangalore-560066
Larsen & Toubro Infotech Ltd.
www.Lntinfotech.com
This Document is classified as:
L&T Infotech Proprietary L&T Infotech Confidential L&T Infotech
Internal Use Only L&T Infotech General Business
This Email may contain confidential or privileged information for the
intended recipient (s) If you are not the intended recipient, please do
not use or disseminate the information, notify the sender and delete it
from your system.
______________________________________________________________________ |
|
From: Nicholas N. <n.n...@gm...> - 2009-06-08 11:41:52
|
On Mon, Jun 8, 2009 at 8:34 PM, Bart Van Assche<bar...@gm...> wrote: > On Wed, Jun 3, 2009 at 1:20 AM, <sv...@va...> wrote: >> Author: njn >> Date: 2009-06-03 00:20:40 +0100 (Wed, 03 Jun 2009) >> New Revision: 10215 >> >> Log: >> Add descriptions of DRD and Ptrcheck in the manual intro. Bart, Julian, >> please change these if you don't like what I've written, and merge the >> changes to the 3.4.X branch. > > Thanks for updating the introduction of the manual. Regarding DRD and > Helgrind: any user reading the manual will wonder why there are two > thread checking tools. I had already been considering to add a table > to the chapter about DRD that lists the numerous small differences > between DRD and Helgrind. I'm not sure whether the introduction is the > right place to list these differences. A brief summary would be appropriate -- "slower but no false positives" or similar (I'm not sure if that's an accurate description, just an example). Nick |
|
From: Bart V. A. <bar...@gm...> - 2009-06-08 10:34:47
|
On Wed, Jun 3, 2009 at 1:20 AM, <sv...@va...> wrote: > Author: njn > Date: 2009-06-03 00:20:40 +0100 (Wed, 03 Jun 2009) > New Revision: 10215 > > Log: > Add descriptions of DRD and Ptrcheck in the manual intro. Bart, Julian, > please change these if you don't like what I've written, and merge the > changes to the 3.4.X branch. Thanks for updating the introduction of the manual. Regarding DRD and Helgrind: any user reading the manual will wonder why there are two thread checking tools. I had already been considering to add a table to the chapter about DRD that lists the numerous small differences between DRD and Helgrind. I'm not sure whether the introduction is the right place to list these differences. Bart. |
|
From: Bart V. A. <bar...@gm...> - 2009-06-08 07:39:04
|
Nightly build on georgia-tech-cellbuzz-native ( cellbuzz, ppc64, Fedora 7, native ) Started at 2009-06-08 02:00:04 EDT Ended at 2009-06-08 03:38:45 EDT Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 418 tests, 36 stderr failures, 12 stdout failures, 0 post failures == memcheck/tests/deep_templates (stdout) memcheck/tests/leak-cases-full (stderr) memcheck/tests/leak-cases-summary (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/origin5-bz2 (stderr) memcheck/tests/varinfo1 (stderr) memcheck/tests/varinfo2 (stderr) memcheck/tests/varinfo3 (stderr) memcheck/tests/varinfo4 (stderr) memcheck/tests/varinfo5 (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/wrap8 (stderr) none/tests/linux/mremap (stderr) none/tests/linux/mremap2 (stdout) none/tests/ppc32/jm-fp (stdout) none/tests/ppc32/jm-vmx (stdout) none/tests/ppc32/round (stdout) none/tests/ppc32/test_gx (stdout) none/tests/ppc64/jm-fp (stdout) none/tests/ppc64/jm-vmx (stdout) none/tests/ppc64/round (stdout) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) helgrind/tests/hg05_race2 (stderr) exp-ptrcheck/tests/bad_percentify (stdout) exp-ptrcheck/tests/bad_percentify (stderr) exp-ptrcheck/tests/base (stderr) exp-ptrcheck/tests/ccc (stderr) exp-ptrcheck/tests/fp (stderr) exp-ptrcheck/tests/globalerr (stderr) exp-ptrcheck/tests/hackedbz2 (stdout) exp-ptrcheck/tests/hackedbz2 (stderr) exp-ptrcheck/tests/hp_bounds (stderr) exp-ptrcheck/tests/hp_dangle (stderr) exp-ptrcheck/tests/justify (stderr) exp-ptrcheck/tests/partial_bad (stderr) exp-ptrcheck/tests/partial_good (stderr) exp-ptrcheck/tests/preen_invars (stdout) exp-ptrcheck/tests/preen_invars (stderr) exp-ptrcheck/tests/pth_create (stderr) exp-ptrcheck/tests/pth_specific (stderr) exp-ptrcheck/tests/realloc (stderr) exp-ptrcheck/tests/stackerr (stderr) exp-ptrcheck/tests/strcpy (stderr) exp-ptrcheck/tests/supp (stderr) exp-ptrcheck/tests/tricky (stderr) exp-ptrcheck/tests/unaligned (stderr) exp-ptrcheck/tests/zero (stderr) |
|
From: Tom H. <th...@cy...> - 2009-06-08 02:46:54
|
Nightly build on lloyd ( x86_64, Fedora 7 ) Started at 2009-06-08 03:05:04 BST Ended at 2009-06-08 03:46:39 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 489 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-06-08 02:46:54
|
Nightly build on vauxhall ( x86_64, Fedora 10 ) Started at 2009-06-08 03:20:04 BST Ended at 2009-06-08 03:46:45 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... done Regression test results follow == 498 tests, 0 stderr failures, 0 stdout failures, 0 post failures == |
|
From: Tom H. <th...@cy...> - 2009-06-08 02:29:06
|
Nightly build on mg ( x86_64, Fedora 9 ) Started at 2009-06-08 03:10:06 BST Ended at 2009-06-08 03:28:54 BST Results unchanged from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 495 tests, 0 stderr failures, 1 stdout failure, 0 post failures == none/tests/linux/mremap2 (stdout) |