This is the mail archive of the
systemtap-cvs@sourceware.org
mailing list for the systemtap project.
src ChangeLog elaborate.h tapsets.cxx translat ...
- From: dsmith at sourceware dot org
- To: systemtap-cvs at sourceware dot org
- Date: 28 Mar 2007 20:11:39 -0000
- Subject: src ChangeLog elaborate.h tapsets.cxx translat ...
CVSROOT: /cvs/systemtap
Module name: src
Changes by: dsmith@sourceware.org 2007-03-28 21:11:39
Modified files:
. : ChangeLog elaborate.h tapsets.cxx translate.cxx
Log message:
2007-03-28 David Smith <dsmith@redhat.com>
PR 2341 (partial fix)
* elaborate.h (struct derived_probe): Added needs_global_locks()
member function. Unless overridden, will return true indicating
that this probe needs locks around global variable references.
* tapsets.cxx (struct be_derived_probe): Added override of default
needs_global_locks() returning false. begin/end probes don't
need locks around global variables, since they aren't run
concurrently with any other probes.
* translate.cxx (c_unparser::emit_common_header): Updated
probe_contents logic to match the logic in emit_probe.
(c_unparser::emit_probe): Added whether the probe needs global
variable locks to the probe string (that helps eliminate duplicate
probes). The generated C changes based on whether or not global
variable locks are needed, but the pass 2 output doesn't differ
between a probe that needs global variable locks and one that
doesn't. If the probe doesn't need global variable locks, doesn't
output them.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/src/ChangeLog.diff?cvsroot=systemtap&r1=1.585&r2=1.586
http://sourceware.org/cgi-bin/cvsweb.cgi/src/elaborate.h.diff?cvsroot=systemtap&r1=1.37&r2=1.38
http://sourceware.org/cgi-bin/cvsweb.cgi/src/tapsets.cxx.diff?cvsroot=systemtap&r1=1.191&r2=1.192
http://sourceware.org/cgi-bin/cvsweb.cgi/src/translate.cxx.diff?cvsroot=systemtap&r1=1.164&r2=1.165