]> sourceware.org Git - systemtap.git/commit - staptree.cxx
PR3217: Compiled printf
authorJosh Stone <jistone@redhat.com>
Tue, 7 Jun 2011 23:50:20 +0000 (16:50 -0700)
committerJosh Stone <jistone@redhat.com>
Thu, 6 Oct 2011 20:01:33 +0000 (13:01 -0700)
commit929eb962cbd543251f4faf25d6fc9b3ab3021623
tree22ced4f0c56decdf9aaf8d4bfdd10b3274141e86
parentb82890944fa875ae6f1f46886da7c813882b3f44
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.
elaborate.cxx
runtime/vsprintf.c
staptree.cxx
staptree.h
translate.cxx
This page took 0.02876 seconds and 5 git commands to generate.