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
(21) |
|
2
(19) |
3
(33) |
4
(24) |
5
(18) |
6
(13) |
7
(22) |
8
(21) |
|
9
(38) |
10
(25) |
11
(20) |
12
(27) |
13
(43) |
14
(9) |
15
(19) |
|
16
(37) |
17
(19) |
18
(13) |
19
(11) |
20
(8) |
21
(11) |
22
(25) |
|
23
(21) |
24
(30) |
25
(18) |
26
(11) |
27
(10) |
28
(14) |
29
(40) |
|
30
(24) |
31
(14) |
|
|
|
|
|
|
From: <sv...@va...> - 2008-03-06 21:56:17
|
Author: sewardj
Date: 2008-03-06 21:56:18 +0000 (Thu, 06 Mar 2008)
New Revision: 7580
Log:
Fiddle, fiddle, etc.
Modified:
branches/HGDEV/helgrind/hg_main.c
Modified: branches/HGDEV/helgrind/hg_main.c
===================================================================
--- branches/HGDEV/helgrind/hg_main.c 2008-03-06 18:31:42 UTC (rev 7579)
+++ branches/HGDEV/helgrind/hg_main.c 2008-03-06 21:56:18 UTC (rev 7580)
@@ -3814,7 +3814,6 @@
return 0;
}
-
static Bool is_sane_CacheLine ( CacheLine* cl )
{
Word tno, cloff;
@@ -3834,14 +3833,15 @@
return False;
}
-
-static UShort normalise_tree ( /*MOD*/SVal* tree ) {
- Word i;
+static UShort normalise_tree ( /*MOD*/SVal* tree )
+{
UShort descr;
/* pre: incoming tree[0..7] does not have any invalid shvals, in
particular no zeroes. */
- for (i = 0; i < 8; i++)
- tl_assert(tree[i] != 0);
+ if (UNLIKELY(tree[7] == 0 || tree[6] == 0 || tree[5] == 0
+ || tree[4] == 0 || tree[3] == 0 || tree[2] == 0
+ || tree[1] == 0 || tree[0] == 0))
+ tl_assert(0);
descr = TREE_DESCR_8_7 | TREE_DESCR_8_6 | TREE_DESCR_8_5
| TREE_DESCR_8_4 | TREE_DESCR_8_3 | TREE_DESCR_8_2
@@ -4125,7 +4125,7 @@
for (i = 0; i < N_LINE_ARANGE; i++) {
SVal sv;
UWord ix = read_twobit_array( lineZ->ix2s, i );
- tl_assert(ix >= 0 && ix <= 3);
+ /* correct, but expensive: tl_assert(ix >= 0 && ix <= 3); */
sv = lineZ->dict[ix];
tl_assert(sv != 0);
cl->svals[i] = sv;
|
|
From: Bart V. A. <bar...@gm...> - 2008-03-06 20:23:59
|
On Thu, Mar 6, 2008 at 5:44 AM, Tom Hughes <th...@cy...> wrote: > > Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-03-06 03:05:05 GMT > Results unchanged from 24 hours ago ... > exp-drd/tests/fp_race2 (stderr) ... Hello Tom, Can you please post the output that is produced on your system for this test ? I just installed Fedora 7 x86_64, and almost all exp-drd tests finish successfully on my system. Bart. |
|
From: <sv...@va...> - 2008-03-06 18:31:43
|
Author: sewardj
Date: 2008-03-06 18:31:42 +0000 (Thu, 06 Mar 2008)
New Revision: 7579
Log:
Don't tell m_redir (and the user) that debuginfo is about to be
discarded if in fact we never got as far as reading anything into
DebugInfo. This unbreaks self-hosting.
Modified:
trunk/coregrind/m_debuginfo/debuginfo.c
Modified: trunk/coregrind/m_debuginfo/debuginfo.c
===================================================================
--- trunk/coregrind/m_debuginfo/debuginfo.c 2008-03-06 18:02:37 UTC (rev 7578)
+++ trunk/coregrind/m_debuginfo/debuginfo.c 2008-03-06 18:31:42 UTC (rev 7579)
@@ -276,7 +276,8 @@
while (curr) {
if (curr == di) {
/* Found it; remove from list and free it. */
- if (VG_(clo_verbosity) > 1 || VG_(clo_trace_redir))
+ if (curr->have_dinfo
+ && (VG_(clo_verbosity) > 1 || VG_(clo_trace_redir)))
VG_(message)(Vg_DebugMsg,
"Discarding syms at %p-%p in %s due to %s()",
di->text_avma,
@@ -285,7 +286,8 @@
reason);
vg_assert(*prev_next_ptr == curr);
*prev_next_ptr = curr->next;
- VG_(redir_notify_delete_DebugInfo)( curr );
+ if (curr->have_dinfo)
+ VG_(redir_notify_delete_DebugInfo)( curr );
free_DebugInfo(curr);
return;
}
|
|
From: <sv...@va...> - 2008-03-06 18:02:42
|
Author: bart
Date: 2008-03-06 18:02:37 +0000 (Thu, 06 Mar 2008)
New Revision: 7578
Log:
Cleaned up vc_min() and vc_combine() implementations.
Modified:
trunk/exp-drd/drd_vc.c
Modified: trunk/exp-drd/drd_vc.c
===================================================================
--- trunk/exp-drd/drd_vc.c 2008-03-06 14:07:32 UTC (rev 7577)
+++ trunk/exp-drd/drd_vc.c 2008-03-06 18:02:37 UTC (rev 7578)
@@ -135,44 +135,20 @@
}
/** Compute elementwise minimum. */
-void vc_min(VectorClock* const result,
- const VectorClock* const rhs)
+void vc_min(VectorClock* const result, const VectorClock* const rhs)
{
unsigned i;
unsigned j;
- unsigned shared;
- unsigned new_size;
tl_assert(result);
tl_assert(rhs);
- /* First count the number of shared thread ID's. */
- j = 0;
- shared = 0;
- for (i = 0; i < result->size; i++)
- {
- while (j < rhs->size && rhs->vc[j].threadid < result->vc[i].threadid)
- j++;
- if (j >= rhs->size)
- break;
- if (result->vc[i].threadid == rhs->vc[j].threadid)
- shared++;
- }
-
vc_check(result);
- new_size = result->size + rhs->size - shared;
- if (new_size > result->capacity)
- vc_reserve(result, new_size);
-
- vc_check(result);
-
/* Next, combine both vector clocks into one. */
i = 0;
for (j = 0; j < rhs->size; j++)
{
- vc_check(result);
-
while (i < result->size && result->vc[i].threadid < rhs->vc[j].threadid)
{
/* Thread ID is missing in second vector clock. Clear the count. */
@@ -181,16 +157,10 @@
}
if (i >= result->size)
{
- result->size++;
- result->vc[i] = rhs->vc[j];
- vc_check(result);
+ break;
}
- else if (result->vc[i].threadid > rhs->vc[j].threadid)
+ if (result->vc[i].threadid <= rhs->vc[j].threadid)
{
- /* Thread ID is missing in first vector clock. Leave out. */
- }
- else
- {
/* The thread ID is present in both vector clocks. Compute the minimum */
/* of vc[i].count and vc[j].count. */
tl_assert(result->vc[i].threadid == rhs->vc[j].threadid);
@@ -198,7 +168,6 @@
{
result->vc[i].count = rhs->vc[j].count;
}
- vc_check(result);
}
}
vc_check(result);
@@ -243,15 +212,12 @@
i = 0;
for (j = 0; j < rhs->size; j++)
{
- vc_check(result);
-
while (i < result->size && result->vc[i].threadid < rhs->vc[j].threadid)
i++;
if (i >= result->size)
{
result->size++;
result->vc[i] = rhs->vc[j];
- vc_check(result);
}
else if (result->vc[i].threadid > rhs->vc[j].threadid)
{
@@ -262,7 +228,6 @@
}
result->size++;
result->vc[i] = rhs->vc[j];
- vc_check(result);
}
else
{
@@ -271,7 +236,6 @@
{
result->vc[i].count = rhs->vc[j].count;
}
- vc_check(result);
}
}
vc_check(result);
|
|
From: <sv...@va...> - 2008-03-06 14:07:31
|
Author: sewardj
Date: 2008-03-06 14:07:32 +0000 (Thu, 06 Mar 2008)
New Revision: 7577
Log:
A bit more fine tuning of the core shadow value compression mechanism.
Modified:
branches/HGDEV/helgrind/hg_main.c
Modified: branches/HGDEV/helgrind/hg_main.c
===================================================================
--- branches/HGDEV/helgrind/hg_main.c 2008-03-06 07:00:47 UTC (rev 7576)
+++ branches/HGDEV/helgrind/hg_main.c 2008-03-06 14:07:32 UTC (rev 7577)
@@ -3457,10 +3457,9 @@
static inline Thread* get_current_Thread ( void ); /* fwds */
/* ------------ CacheLineF and CacheLineZ related ------------ */
-
+inline
static void write_twobit_array ( UChar* arr, UWord ix, UWord b2 ) {
Word bix, shft, mask, prep;
- tl_assert((b2 & ~3) == 0);
tl_assert(ix >= 0);
bix = ix >> 2;
shft = 2 * (ix & 3); /* 0, 2, 4 or 6 */
@@ -3469,6 +3468,7 @@
arr[bix] = (arr[bix] & ~mask) | prep;
}
+inline
static UWord read_twobit_array ( UChar* arr, UWord ix ) {
Word bix, shft;
tl_assert(ix >= 0);
@@ -3908,8 +3908,6 @@
typedef struct { UChar count; SVal sval; } CountedSVal;
-/* Write the cacheline 'wix' to backing store. Where it ends up
- is determined by its tag field. */
static
Bool sequentialise_CacheLine ( /*OUT*/CountedSVal* dst,
/*OUT*/Word* dstUsedP,
@@ -3968,7 +3966,8 @@
return anyShared;
}
-
+/* Write the cacheline 'wix' to backing store. Where it ends up
+ is determined by its tag field. */
static __attribute__((noinline)) void cacheline_wback ( UWord wix )
{
Word i, j, k, m;
@@ -4026,20 +4025,18 @@
if (SCE_SVALS)
tl_assert(csvals[k].count >= 1 && csvals[k].count <= 8);
/* do we already have it? */
- for (j = 0; j < 4; j++) {
- if (sv == lineZ->dict[j])
- goto dict_ok;
- }
+ if (sv == lineZ->dict[0]) { j = 0; goto dict_ok; }
+ if (sv == lineZ->dict[1]) { j = 1; goto dict_ok; }
+ if (sv == lineZ->dict[2]) { j = 2; goto dict_ok; }
+ if (sv == lineZ->dict[3]) { j = 3; goto dict_ok; }
/* no. look for a free slot. */
- for (j = 0; j < 4; j++) {
- if (lineZ->dict[j] == 0)
- break;
- }
- tl_assert(j >= 0 && j <= 4);
- if (j == 4) break; /* we'll have to use the f rep */
if (SCE_SVALS)
tl_assert(is_SHVAL_valid(sv));
- lineZ->dict[j] = sv;
+ if (lineZ->dict[0] == 0) { lineZ->dict[0] = sv; j = 0; goto dict_ok; }
+ if (lineZ->dict[1] == 0) { lineZ->dict[1] = sv; j = 1; goto dict_ok; }
+ if (lineZ->dict[2] == 0) { lineZ->dict[2] = sv; j = 2; goto dict_ok; }
+ if (lineZ->dict[3] == 0) { lineZ->dict[3] = sv; j = 3; goto dict_ok; }
+ break; /* we'll have to use the f rep */
dict_ok:
for (m = csvals[k].count; m > 0; m--) {
write_twobit_array( lineZ->ix2s, i, j );
@@ -4048,10 +4045,15 @@
}
- tl_assert(i >= 0 && i <= N_LINE_ARANGE);
+ if (LIKELY(i == N_LINE_ARANGE)) {
+ /* Construction of the compressed representation was
+ successful. */
+ stats__cache_Z_wbacks++;
+ } else {
+ /* Cannot use the compressed(z) representation. Use the full(f)
+ rep instead. */
- if (i < N_LINE_ARANGE) {
- /* cannot use the compressed rep. Use f rep instead. */
+ tl_assert(i >= 0 && i < N_LINE_ARANGE);
alloc_F_for_writing( sm, &fix );
tl_assert(sm->linesF);
tl_assert(sm->linesF_size > 0);
@@ -4075,8 +4077,6 @@
}
tl_assert(i == N_LINE_ARANGE);
stats__cache_F_wbacks++;
- } else {
- stats__cache_Z_wbacks++;
}
if (anyShared)
|
|
From: <sv...@va...> - 2008-03-06 07:00:45
|
Author: bart Date: 2008-03-06 07:00:47 +0000 (Thu, 06 Mar 2008) New Revision: 7576 Log: Updated DRD's readme.txt. Modified: trunk/exp-drd/docs/README.txt Modified: trunk/exp-drd/docs/README.txt =================================================================== --- trunk/exp-drd/docs/README.txt 2008-03-06 03:21:34 UTC (rev 7575) +++ trunk/exp-drd/docs/README.txt 2008-03-06 07:00:47 UTC (rev 7576) @@ -231,12 +231,10 @@ The following may be expected in future versions of DRD: * Drastically reduced memory consumption, such that realistic applications can be analyzed with DRD. +* A lock dependency analyzer, as a help in deadlock prevention. * Faster operation. * More extensive documentation. -* Support for reader-writer locks. * Support for PowerPC CPU's. -* A lock dependency analyzer, as a help in deadlock prevention. -* Elimination of several artificial limitations. Acknowledgements |
|
From: Tom H. <th...@cy...> - 2008-03-06 06:27:39
|
Nightly build on alvis ( i686, Red Hat 7.3 ) started at 2008-03-06 03:15:03 GMT 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 == 375 tests, 78 stderr failures, 1 stdout failure, 29 post failures == memcheck/tests/addressable (stderr) memcheck/tests/badjump (stderr) memcheck/tests/describe-block (stderr) memcheck/tests/erringfds (stderr) memcheck/tests/leak-0 (stderr) memcheck/tests/leak-cycle (stderr) memcheck/tests/leak-pool-0 (stderr) memcheck/tests/leak-pool-1 (stderr) memcheck/tests/leak-pool-2 (stderr) memcheck/tests/leak-pool-3 (stderr) memcheck/tests/leak-pool-4 (stderr) memcheck/tests/leak-pool-5 (stderr) memcheck/tests/leak-regroot (stderr) memcheck/tests/leak-tree (stderr) memcheck/tests/long_namespace_xml (stderr) memcheck/tests/lsframe1 (stderr) memcheck/tests/lsframe2 (stderr) memcheck/tests/malloc_free_fill (stderr) memcheck/tests/match-overrun (stderr) memcheck/tests/noisy_child (stderr) memcheck/tests/partial_load_dflt (stderr) memcheck/tests/partial_load_ok (stderr) memcheck/tests/partiallydefinedeq (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/sigkill (stderr) memcheck/tests/stack_changes (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/x86/bug152022 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) memcheck/tests/x86/xor-undef-x86 (stderr) memcheck/tests/xml1 (stderr) massif/tests/alloc-fns-A (post) massif/tests/alloc-fns-B (post) massif/tests/basic (post) massif/tests/basic2 (post) massif/tests/big-alloc (post) massif/tests/culling1 (stderr) massif/tests/culling2 (stderr) massif/tests/custom_alloc (post) massif/tests/deep-A (post) massif/tests/deep-B (stderr) massif/tests/deep-B (post) massif/tests/deep-C (stderr) massif/tests/deep-C (post) massif/tests/deep-D (post) massif/tests/ignoring (post) massif/tests/insig (post) massif/tests/long-names (post) massif/tests/long-time (post) massif/tests/new-cpp (post) massif/tests/null (post) massif/tests/one (post) massif/tests/overloaded-new (post) massif/tests/peak (post) massif/tests/peak2 (stderr) massif/tests/peak2 (post) massif/tests/realloc (stderr) massif/tests/realloc (post) massif/tests/thresholds_0_0 (post) massif/tests/thresholds_0_10 (post) massif/tests/thresholds_10_0 (post) massif/tests/thresholds_10_10 (post) massif/tests/thresholds_5_0 (post) massif/tests/thresholds_5_10 (post) massif/tests/zero1 (post) massif/tests/zero2 (post) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/shell (stderr) none/tests/shell_valid1 (stderr) none/tests/shell_valid2 (stderr) none/tests/shell_valid3 (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-06 04:44:31
|
Nightly build on lloyd ( x86_64, Fedora 7 ) started at 2008-03-06 03:05:05 GMT 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 == 409 tests, 79 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/rwlock_race (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-06 04:03:54
|
Nightly build on aston ( x86_64, Fedora Core 5 ) started at 2008-03-06 03:20:05 GMT 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 == 415 tests, 81 stderr failures, 1 stdout failure, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (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/x86/scalar (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/rwlock_race (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-06 03:40:02
|
Nightly build on trojan ( x86_64, Fedora Core 6 ) started at 2008-03-06 03:25:03 GMT 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 == 413 tests, 10 stderr failures, 5 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) memcheck/tests/vcpu_fnfns (stdout) memcheck/tests/x86/bug133694 (stdout) memcheck/tests/x86/bug133694 (stderr) memcheck/tests/x86/scalar (stderr) none/tests/cmdline1 (stdout) none/tests/cmdline2 (stdout) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/tc21_pthonce (stderr) |
|
From: Tom H. <th...@cy...> - 2008-03-06 03:38:54
|
Nightly build on dellow ( x86_64, Fedora 8 ) started at 2008-03-06 03:10:05 GMT Results differ from 24 hours ago Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 409 tests, 79 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/rwlock_race (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (stderr) ================================================= == Results from 24 hours ago == ================================================= Checking out valgrind source tree ... done Configuring valgrind ... done Building valgrind ... done Running regression tests ... failed Regression test results follow == 409 tests, 79 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/pointer-trace (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/vcpu_fnfns (stdout) memcheck/tests/x86/scalar (stderr) none/tests/faultstatus (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/pth_cvsimple (stdout) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/hg06_readshared (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc02_simple_tls (stderr) helgrind/tests/tc03_re_excl (stderr) helgrind/tests/tc04_free_lock (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc07_hbl1 (stderr) helgrind/tests/tc08_hbl2 (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc10_rec_lock (stderr) helgrind/tests/tc11_XCHG (stderr) helgrind/tests/tc12_rwl_trivial (stderr) helgrind/tests/tc13_laog1 (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc15_laog_lockdel (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc18_semabuse (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) helgrind/tests/tc24_nonzero_sem (stderr) exp-drd/tests/fp_race (stderr) exp-drd/tests/fp_race2 (stderr) exp-drd/tests/hg01_all_ok (stderr) exp-drd/tests/hg02_deadlock (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/hg04_race (stderr) exp-drd/tests/hg05_race2 (stderr) exp-drd/tests/hg06_readshared (stderr) exp-drd/tests/matinv (stderr) exp-drd/tests/pth_broadcast (stderr) exp-drd/tests/pth_cond_race (stderr) exp-drd/tests/pth_cond_race2 (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/recursive_mutex (stderr) exp-drd/tests/rwlock_race (stderr) exp-drd/tests/sem_as_mutex (stderr) exp-drd/tests/sem_as_mutex2 (stderr) exp-drd/tests/sigalrm (stderr) exp-drd/tests/tc01_simple_race (stderr) exp-drd/tests/tc02_simple_tls (stderr) exp-drd/tests/tc03_re_excl (stderr) exp-drd/tests/tc04_free_lock (stderr) exp-drd/tests/tc09_bad_unlock (stderr) exp-drd/tests/tc10_rec_lock (stderr) exp-drd/tests/tc11_XCHG (stderr) exp-drd/tests/tc12_rwl_trivial (stderr) exp-drd/tests/tc13_laog1 (stderr) exp-drd/tests/tc15_laog_lockdel (stderr) exp-drd/tests/tc16_byterace (stderr) exp-drd/tests/tc17_sembar (stderr) exp-drd/tests/tc18_semabuse (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) exp-drd/tests/tc23_bogus_condwait (stderr) exp-drd/tests/trylock (stderr) ================================================= == Difference between 24 hours ago and now == ================================================= *** old.short Thu Mar 6 03:24:31 2008 --- new.short Thu Mar 6 03:38:56 2008 *************** *** 8,10 **** ! == 409 tests, 79 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) --- 8,10 ---- ! == 409 tests, 79 stderr failures, 2 stdout failures, 0 post failures == memcheck/tests/pointer-trace (stderr) *************** *** 21,23 **** none/tests/mremap2 (stdout) - none/tests/pth_cvsimple (stdout) helgrind/tests/hg01_all_ok (stderr) --- 21,22 ---- |
|
From: <sv...@va...> - 2008-03-06 03:21:42
|
Author: sewardj
Date: 2008-03-06 03:21:34 +0000 (Thu, 06 Mar 2008)
New Revision: 7575
Log:
Rewrite the shadow-value-cache writeback mechanism so as to be less
obviously stupid. This improves performance of Helgrind by more than
10% on one test.
Modified:
branches/HGDEV/helgrind/hg_main.c
Modified: branches/HGDEV/helgrind/hg_main.c
===================================================================
--- branches/HGDEV/helgrind/hg_main.c 2008-03-05 23:40:41 UTC (rev 7574)
+++ branches/HGDEV/helgrind/hg_main.c 2008-03-06 03:21:34 UTC (rev 7575)
@@ -1120,10 +1120,10 @@
return ss;
}
static inline LockSet get_SHVAL_LS (SVal sv) {
- LockSet ls;
- ls = sv & ((1ULL << LOCK_SET_BITS) - 1);
- tl_assert(LS_valid(ls));
- return ls;
+ LockSet ls;
+ ls = sv & ((1ULL << LOCK_SET_BITS) - 1);
+ tl_assert(LS_valid(ls));
+ return ls;
}
static inline Bool is_SHVAL_RW (SVal sv) {
@@ -3906,87 +3906,80 @@
}
-static
-SVal* sequentialise_tree ( /*MOD*/SVal* dst, /*OUT*/Bool* anyShared,
- UShort descr, SVal* tree ) {
- SVal* dst0 = dst;
- *anyShared = False;
+typedef struct { UChar count; SVal sval; } CountedSVal;
-# define PUT(_n,_v) \
- do { Word i; \
- if (is_SHVAL_Shared(_v)) \
- *anyShared = True; \
- for (i = 0; i < (_n); i++) \
- *dst++ = (_v); \
- } while (0)
-
- /* byte 0 */
- if (descr & TREE_DESCR_64) PUT(8, tree[0]); else
- if (descr & TREE_DESCR_32_0) PUT(4, tree[0]); else
- if (descr & TREE_DESCR_16_0) PUT(2, tree[0]); else
- if (descr & TREE_DESCR_8_0) PUT(1, tree[0]);
- /* byte 1 */
- if (descr & TREE_DESCR_8_1) PUT(1, tree[1]);
- /* byte 2 */
- if (descr & TREE_DESCR_16_1) PUT(2, tree[2]); else
- if (descr & TREE_DESCR_8_2) PUT(1, tree[2]);
- /* byte 3 */
- if (descr & TREE_DESCR_8_3) PUT(1, tree[3]);
- /* byte 4 */
- if (descr & TREE_DESCR_32_1) PUT(4, tree[4]); else
- if (descr & TREE_DESCR_16_2) PUT(2, tree[4]); else
- if (descr & TREE_DESCR_8_4) PUT(1, tree[4]);
- /* byte 5 */
- if (descr & TREE_DESCR_8_5) PUT(1, tree[5]);
- /* byte 6 */
- if (descr & TREE_DESCR_16_3) PUT(2, tree[6]); else
- if (descr & TREE_DESCR_8_6) PUT(1, tree[6]);
- /* byte 7 */
- if (descr & TREE_DESCR_8_7) PUT(1, tree[7]);
-
-# undef PUT
-
- tl_assert( (((Char*)dst) - ((Char*)dst0)) == 8 * sizeof(SVal) );
- return dst;
-}
-
/* Write the cacheline 'wix' to backing store. Where it ends up
is determined by its tag field. */
static
-Bool sequentialise_CacheLine ( /*OUT*/SVal* dst, Word nDst, CacheLine* src )
+Bool sequentialise_CacheLine ( /*OUT*/CountedSVal* dst,
+ /*OUT*/Word* dstUsedP,
+ Word nDst, CacheLine* src )
{
- Word tno, cloff;
+ Word tno, cloff, dstUsed;
Bool anyShared = False;
- SVal* dst0 = dst;
+ tl_assert(nDst == N_LINE_ARANGE);
+ dstUsed = 0;
+
for (tno = 0, cloff = 0; tno < N_LINE_TREES; tno++, cloff += 8) {
UShort descr = src->descrs[tno];
SVal* tree = &src->svals[cloff];
- Bool bTmp = False;
- dst = sequentialise_tree ( dst, &bTmp, descr, tree );
- anyShared |= bTmp;
+
+ /* sequentialise the tree described by (descr,tree). */
+# define PUT(_n,_v) \
+ do { if (is_SHVAL_Shared(_v)) \
+ anyShared = True; \
+ dst[dstUsed ].count = (_n); \
+ dst[dstUsed++].sval = (_v); \
+ } while (0)
+
+ /* byte 0 */
+ if (descr & TREE_DESCR_64) PUT(8, tree[0]); else
+ if (descr & TREE_DESCR_32_0) PUT(4, tree[0]); else
+ if (descr & TREE_DESCR_16_0) PUT(2, tree[0]); else
+ if (descr & TREE_DESCR_8_0) PUT(1, tree[0]);
+ /* byte 1 */
+ if (descr & TREE_DESCR_8_1) PUT(1, tree[1]);
+ /* byte 2 */
+ if (descr & TREE_DESCR_16_1) PUT(2, tree[2]); else
+ if (descr & TREE_DESCR_8_2) PUT(1, tree[2]);
+ /* byte 3 */
+ if (descr & TREE_DESCR_8_3) PUT(1, tree[3]);
+ /* byte 4 */
+ if (descr & TREE_DESCR_32_1) PUT(4, tree[4]); else
+ if (descr & TREE_DESCR_16_2) PUT(2, tree[4]); else
+ if (descr & TREE_DESCR_8_4) PUT(1, tree[4]);
+ /* byte 5 */
+ if (descr & TREE_DESCR_8_5) PUT(1, tree[5]);
+ /* byte 6 */
+ if (descr & TREE_DESCR_16_3) PUT(2, tree[6]); else
+ if (descr & TREE_DESCR_8_6) PUT(1, tree[6]);
+ /* byte 7 */
+ if (descr & TREE_DESCR_8_7) PUT(1, tree[7]);
+
+# undef PUT
+ /* END sequentialise the tree described by (descr,tree). */
+
}
tl_assert(cloff == N_LINE_ARANGE);
+ tl_assert(dstUsed <= nDst);
- /* Assert we wrote N_LINE_ARANGE shadow values. */
- tl_assert( ((HChar*)dst) - ((HChar*)dst0)
- == (Word)(nDst * sizeof(SVal)) );
-
+ *dstUsedP = dstUsed;
return anyShared;
}
static __attribute__((noinline)) void cacheline_wback ( UWord wix )
{
- Word i, j;
+ Word i, j, k, m;
Bool anyShared = False;
Addr tag;
SecMap* sm;
CacheLine* cl;
CacheLineZ* lineZ;
CacheLineF* lineF;
- Word zix, fix;
- SVal shvals[N_LINE_ARANGE];
+ Word zix, fix, csvalsUsed;
+ CountedSVal csvals[N_LINE_ARANGE];
SVal sv;
if (0)
@@ -4015,28 +4008,43 @@
/* Generate the data to be stored */
if (SCE_CACHELINE)
tl_assert(is_sane_CacheLine(cl)); /* EXPENSIVE */
- anyShared = sequentialise_CacheLine( shvals, N_LINE_ARANGE, cl );
+ csvalsUsed = -1;
+ anyShared = sequentialise_CacheLine( csvals, &csvalsUsed,
+ N_LINE_ARANGE, cl );
+ tl_assert(csvalsUsed >= 1 && csvalsUsed <= N_LINE_ARANGE);
+ if (0) VG_(printf)("%lu ", csvalsUsed);
+
lineZ->dict[0] = lineZ->dict[1]
= lineZ->dict[2] = lineZ->dict[3] = 0;
- for (i = 0; i < N_LINE_ARANGE; i++) {
+ /* i indexes actual shadow values, k is cursor in csvals */
+ i = 0;
+ for (k = 0; k < csvalsUsed; k++) {
- sv = shvals[i];
+ sv = csvals[k].sval;
+ if (SCE_SVALS)
+ tl_assert(csvals[k].count >= 1 && csvals[k].count <= 8);
+ /* do we already have it? */
for (j = 0; j < 4; j++) {
if (sv == lineZ->dict[j])
goto dict_ok;
}
+ /* no. look for a free slot. */
for (j = 0; j < 4; j++) {
if (lineZ->dict[j] == 0)
break;
}
tl_assert(j >= 0 && j <= 4);
if (j == 4) break; /* we'll have to use the f rep */
- tl_assert(is_SHVAL_valid(sv));
+ if (SCE_SVALS)
+ tl_assert(is_SHVAL_valid(sv));
lineZ->dict[j] = sv;
dict_ok:
- write_twobit_array( lineZ->ix2s, i, j );
+ for (m = csvals[k].count; m > 0; m--) {
+ write_twobit_array( lineZ->ix2s, i, j );
+ i++;
+ }
}
@@ -4053,11 +4061,19 @@
lineZ->dict[0] = lineZ->dict[2] = lineZ->dict[3] = 0;
lineZ->dict[1] = (SVal)fix;
lineF->inUse = True;
- for (i = 0; i < N_LINE_ARANGE; i++) {
- sv = shvals[i];
- tl_assert(is_SHVAL_valid(sv));
- lineF->w32s[i] = sv;
+ i = 0;
+ for (k = 0; k < csvalsUsed; k++) {
+ if (SCE_SVALS)
+ tl_assert(csvals[k].count >= 1 && csvals[k].count <= 8);
+ sv = csvals[k].sval;
+ if (SCE_SVALS)
+ tl_assert(is_SHVAL_valid(sv));
+ for (m = csvals[k].count; m > 0; m--) {
+ lineF->w32s[i] = sv;
+ i++;
+ }
}
+ tl_assert(i == N_LINE_ARANGE);
stats__cache_F_wbacks++;
} else {
stats__cache_Z_wbacks++;
|
|
From: Tom H. <th...@cy...> - 2008-03-06 03:17:42
|
Nightly build on gill ( x86_64, Fedora Core 2 ) started at 2008-03-06 03:00:05 GMT 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 == 415 tests, 39 stderr failures, 3 stdout failures, 0 post failures == memcheck/tests/malloc_free_fill (stderr) memcheck/tests/pointer-trace (stderr) memcheck/tests/stack_switch (stderr) memcheck/tests/varinfo6 (stderr) memcheck/tests/x86/scalar (stderr) memcheck/tests/x86/scalar_supp (stderr) none/tests/amd64/insn_ssse3 (stdout) none/tests/amd64/insn_ssse3 (stderr) none/tests/amd64/ssse3_misaligned (stderr) none/tests/blockfault (stderr) none/tests/faultstatus (stderr) none/tests/fdleak_fcntl (stderr) none/tests/mremap (stderr) none/tests/mremap2 (stdout) none/tests/x86/insn_ssse3 (stdout) none/tests/x86/insn_ssse3 (stderr) none/tests/x86/ssse3_misaligned (stderr) helgrind/tests/hg01_all_ok (stderr) helgrind/tests/hg02_deadlock (stderr) helgrind/tests/hg03_inherit (stderr) helgrind/tests/hg04_race (stderr) helgrind/tests/hg05_race2 (stderr) helgrind/tests/tc01_simple_race (stderr) helgrind/tests/tc05_simple_race (stderr) helgrind/tests/tc06_two_races (stderr) helgrind/tests/tc09_bad_unlock (stderr) helgrind/tests/tc14_laog_dinphils (stderr) helgrind/tests/tc16_byterace (stderr) helgrind/tests/tc17_sembar (stderr) helgrind/tests/tc19_shadowmem (stderr) helgrind/tests/tc20_verifywrap (stderr) helgrind/tests/tc21_pthonce (stderr) helgrind/tests/tc22_exit_w_lock (stderr) helgrind/tests/tc23_bogus_condwait (stderr) exp-drd/tests/hg03_inherit (stderr) exp-drd/tests/pth_create_chain (stderr) exp-drd/tests/pth_detached (stderr) exp-drd/tests/pth_detached2 (stderr) exp-drd/tests/tc20_verifywrap (stderr) exp-drd/tests/tc20_verifywrap2 (stderr) exp-drd/tests/tc21_pthonce (stderr) exp-drd/tests/tc22_exit_w_lock (stderr) |