Renamed functions for querying segment creation counters. Added the function sg_get_alive_segments_count(). Removed sg_init() and sg_cleanup() from the public segment interface.

git-svn-id: svn://svn.valgrind.org/valgrind/trunk@7726
This commit is contained in:
Bart Van Assche 2008-03-17 17:37:53 +00:00
parent 1541b4c6c4
commit 6966bc8a44
3 changed files with 24 additions and 20 deletions

View File

@ -967,8 +967,8 @@ void drd_fini(Int exitcode)
thread_get_update_danger_set_count());
VG_(message)(Vg_DebugMsg,
" segments: %lld total, %lld max, %lld discard points",
sg_get_segments_created_count(),
sg_get_max_segments_alive_count(),
sg_get_created_segments_count(),
sg_get_max_alive_segments_count(),
thread_get_discard_ordered_segments_count());
VG_(message)(Vg_DebugMsg,
" bitmaps: %lld / %lld bitmaps were allocated"

View File

@ -38,9 +38,9 @@
// Local variables.
static ULong s_segments_created_count;
static ULong s_segments_alive_count;
static ULong s_max_segments_alive_count;
static ULong s_created_segments_count;
static ULong s_alive_segments_count;
static ULong s_max_alive_segments_count;
static Bool drd_trace_segment = False;
@ -49,6 +49,7 @@ static Bool drd_trace_segment = False;
/**
* Note: creator and created may be equal.
*/
static
void sg_init(Segment* const sg,
DrdThreadId const creator,
DrdThreadId const created)
@ -89,6 +90,7 @@ void sg_init(Segment* const sg,
}
}
static
void sg_cleanup(Segment* const sg)
{
tl_assert(sg);
@ -101,10 +103,10 @@ Segment* sg_new(ThreadId const creator, ThreadId const created)
{
Segment* sg;
s_segments_created_count++;
s_segments_alive_count++;
if (s_max_segments_alive_count < s_segments_alive_count)
s_max_segments_alive_count = s_segments_alive_count;
s_created_segments_count++;
s_alive_segments_count++;
if (s_max_alive_segments_count < s_alive_segments_count)
s_max_alive_segments_count = s_alive_segments_count;
sg = VG_(malloc)(sizeof(*sg));
tl_assert(sg);
@ -126,7 +128,7 @@ void sg_delete(Segment* const sg)
}
#endif
s_segments_alive_count--;
s_alive_segments_count--;
tl_assert(sg);
sg_cleanup(sg);
@ -153,12 +155,17 @@ void sg_set_trace(Bool const trace_segment)
drd_trace_segment = trace_segment;
}
ULong sg_get_segments_created_count(void)
ULong sg_get_created_segments_count(void)
{
return s_segments_created_count;
return s_created_segments_count;
}
ULong sg_get_max_segments_alive_count(void)
ULong sg_get_alive_segments_count(void)
{
return s_max_segments_alive_count;
return s_alive_segments_count;
}
ULong sg_get_max_alive_segments_count(void)
{
return s_max_alive_segments_count;
}

View File

@ -47,17 +47,14 @@ typedef struct segment
struct bitmap* bm;
} Segment;
void sg_init(Segment* const sg,
const ThreadId creator,
const ThreadId created);
void sg_cleanup(Segment* const sg);
Segment* sg_new(const ThreadId creator, const ThreadId created);
void sg_delete(Segment* const sg);
void sg_print(const Segment* const sg);
Bool sg_get_trace(void);
void sg_set_trace(const Bool trace_segment);
ULong sg_get_segments_created_count(void);
ULong sg_get_max_segments_alive_count(void);
ULong sg_get_created_segments_count(void);
ULong sg_get_alive_segments_count(void);
ULong sg_get_max_alive_segments_count(void);
#endif // __SEGMENT_H