aboutsummaryrefslogtreecommitdiff
path: root/gcc/gcov-io.h
diff options
context:
space:
mode:
authorTeresa Johnson <tejohnson@google.com>2012-05-08 21:22:28 +0000
committerTeresa Johnson <tejohnson@gcc.gnu.org>2012-05-08 21:22:28 +0000
commit4e8ee9cbf7895df0147627c88a682d3e4d789779 (patch)
treee8169275509aad912d8d4b57d59a52610ef8bcc8 /gcc/gcov-io.h
parent564fe867d8a1abfaa30303b3eca98e9b782fcdc9 (diff)
downloadgcc-4e8ee9cbf7895df0147627c88a682d3e4d789779.zip
gcc-4e8ee9cbf7895df0147627c88a682d3e4d789779.tar.gz
gcc-4e8ee9cbf7895df0147627c88a682d3e4d789779.tar.bz2
This patch adds functionality to libgcov to enable user applications to collect...
This patch adds functionality to libgcov to enable user applications to collect profile data only in regions of interest. This is useful, for example, to collect profile data from a long-running server only during the time when it is serving requests. Specifically, the new routines __gcov_reset will clear all profile counters to zero and __gcov_dump will write out the profile information collected so far. A global variable is used to prevent writing out the profile a second time during exit. 2012-05-08 Teresa Johnson <tejohnson@google.com> * libgcc/libgcov.c (gcov_clear, __gcov_reset): New functions. (__gcov_dump): Ditto. (gcov_dump_complete): New global variable. (gcov_exit): Export hidden to enable use in L_gcov_dump. (__gcov_flush): Outline functionality now in gcov_clear. * libgcc/Makefile.in (L_gcov_reset, L_gcov_dump): Define. * gcc/gcov-io.h (__gcov_reset, __gcov_dump): Declare. * gcc/doc/gcov.texi: Add note on using __gcov_reset and __gcov_dump. From-SVN: r187297
Diffstat (limited to 'gcc/gcov-io.h')
-rw-r--r--gcc/gcov-io.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/gcc/gcov-io.h b/gcc/gcov-io.h
index b80f706..c15e64b 100644
--- a/gcc/gcov-io.h
+++ b/gcc/gcov-io.h
@@ -458,6 +458,12 @@ extern void __gcov_init (struct gcov_info *) ATTRIBUTE_HIDDEN;
/* Called before fork, to avoid double counting. */
extern void __gcov_flush (void) ATTRIBUTE_HIDDEN;
+/* Function to reset all counters to 0. */
+extern void __gcov_reset (void);
+
+/* Function to enable early write of profile information so far. */
+extern void __gcov_dump (void);
+
/* The merge function that just sums the counters. */
extern void __gcov_merge_add (gcov_type *, unsigned) ATTRIBUTE_HIDDEN;