public inbox for systemtap-cvs@sourceware.org
help / color / mirror / Atom feed
* [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.6-278-g0da35ea
@ 2011-10-06 20:45 jistone
0 siblings, 0 replies; only message in thread
From: jistone @ 2011-10-06 20:45 UTC (permalink / raw)
To: systemtap-cvs
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 6741 bytes --]
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "systemtap: system-wide probe/trace tool".
The branch, master has been updated
via 0da35eae7b0cb6ba0e4541eea7a77d1efa50a5be (commit)
via 0a4d32384ed8f9e282ce87ba3cd6bd9a4256210b (commit)
via 5b1fa53b0c15142cc3bd5fe2c1a76ca90f05eac6 (commit)
via 929eb962cbd543251f4faf25d6fc9b3ab3021623 (commit)
from b82890944fa875ae6f1f46886da7c813882b3f44 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 0da35eae7b0cb6ba0e4541eea7a77d1efa50a5be
Author: Josh Stone <jistone@redhat.com>
Date: Thu Oct 6 13:00:09 2011 -0700
PR3217: Add STP_LEGACY_PRINT option to use the old form
* translate.cxx (c_unparser::visit_print_format): Alternate using
STP_LEGACY_PRINT between the new compiled printfs and the old
_stp_[s]printf, so we can make sure both still work.
(c_unparser::emit_compiled_printf_locals): Conditionalize.
(c_unparser::emit_compiled_printfs): Conditionalize.
* testsuite/lib/stap_run2.exp: Show extra args used in stap_run2.
* testsuite/systemtap.printf/*.exp: Run -DSTP_LEGACY_PRINT too in all
the tests using stap_run2. Others will require greater restructuring
to achieve this...
commit 0a4d32384ed8f9e282ce87ba3cd6bd9a4256210b
Author: Josh Stone <jistone@redhat.com>
Date: Thu Oct 6 12:33:59 2011 -0700
PR3217: Make compiled-printf functions noinline
When running systemtap.printf/int1.stp, I got:
...: In function âprobe_1997â:
...:3885:1: error: the frame size of 772 bytes is larger than 256 bytes [-Werror=frame-larger-than=]
It's not yet clear to me why gcc claims so much stack space here, as
even in the compiled printf functions, most of the local variables have
very limited scope. For now, marking them noinline solves the issue,
but this deserves closer inspection...
* translate.cxx (c_unparser::emit_compiled_printfs): Mark each generated
printf function as noinline.
commit 5b1fa53b0c15142cc3bd5fe2c1a76ca90f05eac6
Author: Josh Stone <jistone@redhat.com>
Date: Tue Sep 27 15:30:13 2011 -0700
PR3217: Merge similar compiled-printfs
It's pretty common for tapset wildcards to expand to lots of probes with
slightly different handlers (e.g. syscall.*), and we'd like for the
newly expanded printf code to not be duplicated so much.
This patch keeps a hash in the translator of visited format strings, so
we can output a compiled version of that only once. This requires some
new argument space in the context, but we can optimize by realizing that
(1) printfs never nest when arguments are precomputed, (2) string
arguments are immutable and need not be copied, and (3) return strings
for sprintf can write directly to the caller's tmpvar.
* translate.cxx (c_unparser::compiled_printfs): New map for storing
pair(print_to_stream, format_string) -> compiled printf name.
(c_unparser::emit_compiled_printfs): New, emit the expanded function
body for every compiled printf.
(c_unparser::emit_compiled_printf_locals): New, emit a union-struct of
context locals for all compiled printfs.
(c_unparser::emit_common_header): Call emit_compiled_printf*.
(c_unparser::declare_compiled_printf): New, called to declare that we
need this printf -- add it to the map if it's not already there.
(c_tmpcounter::visit_print_format): Declare printfs as we see them.
(c_unparser::get_compiled_printf): New, get the name for a previously
declared printf function.
(c_unparser::visit_print_format): Get the compiled printf function.
commit 929eb962cbd543251f4faf25d6fc9b3ab3021623
Author: Josh Stone <jistone@redhat.com>
Date: Tue Jun 7 16:50:20 2011 -0700
PR3217: Compiled printf
This translates script-level printf statements into unrolled printing
statements. The compiled code is faster, but also larger.
* runtime/vsprintf.c (_stp_vsprint_memory): Factored out for %s/%m/%M.
(_stp_vsprint_memory_size): Factored out for size of %s/%m/%M.
(_stp_vsprint_memory_size): Factored out for %b.
(_stp_vsprint_binary_size): Factored out for size of %b.
* staptree.h (print_format::format_flag): Match the same definitions
used by print_flag in runtime/vsprintf.c.
(print_format::conversion_type): Collapse numeric types into one.
(print_format::format_component::base): New field to classify numeric.
(print_format::set_flag, print_format::test_flag): New, for convenience.
* elaborate.cxx (typeresolution_info::visit_print_format): Handle the
changes in conversion_type.
* staptree.cxx (print_format::components_to_string): Parse out the new
and impoved format_component.
(print_format::string_to_components): Create the new format_component.
* translate.cxx (c_unparser::visit_print_format): Generate unrolled code
for printf statements.
-----------------------------------------------------------------------
Summary of changes:
elaborate.cxx | 8 +-
runtime/vsprintf.c | 341 +++++++++---------
staptree.cxx | 83 ++--
staptree.h | 23 +-
testsuite/lib/stap_run2.exp | 2 +-
testsuite/systemtap.printf/basic1.exp | 1 +
testsuite/systemtap.printf/basic2.exp | 1 +
testsuite/systemtap.printf/basic3.exp | 1 +
testsuite/systemtap.printf/basic4.exp | 1 +
testsuite/systemtap.printf/basic5.exp | 1 +
testsuite/systemtap.printf/basic6.exp | 1 +
testsuite/systemtap.printf/bin6.exp | Bin 2741 -> 2796 bytes
testsuite/systemtap.printf/char1.exp | 1 +
testsuite/systemtap.printf/int1.exp | 1 +
testsuite/systemtap.printf/memory1.exp | 1 +
testsuite/systemtap.printf/print.exp | 1 +
testsuite/systemtap.printf/print_char.exp | 1 +
testsuite/systemtap.printf/println.exp | 1 +
testsuite/systemtap.printf/ptr-1.2.exp | 1 +
testsuite/systemtap.printf/ptr-1.3.exp | 1 +
testsuite/systemtap.printf/string1.exp | 1 +
translate.cxx | 585 ++++++++++++++++++++++++-----
22 files changed, 737 insertions(+), 320 deletions(-)
hooks/post-receive
--
systemtap: system-wide probe/trace tool
^ permalink raw reply [flat|nested] only message in thread
only message in thread, other threads:[~2011-10-06 20:45 UTC | newest]
Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2011-10-06 20:45 [SCM] systemtap: system-wide probe/trace tool branch, master, updated. release-1.6-278-g0da35ea jistone
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).