]> sourceware.org Git - systemtap.git/commitdiff
Merge branch 'update_visitor'
authorJosh Stone <jistone@redhat.com>
Wed, 11 Feb 2009 04:10:33 +0000 (20:10 -0800)
committerJosh Stone <jistone@redhat.com>
Wed, 11 Feb 2009 04:10:33 +0000 (20:10 -0800)
This brings a new update_visitor that makes it easier to traverse the
parse tree and modify parts of it as necessary.  I wrote this as part of
my in-progress work to allow @cast() expansion, but I was able to apply
it to the dwarf/etc. target variable expanders and to the optimization
stages.  I think the resulting code is more predictable and easier to
follow...

Conflicts:
ChangeLog (bumped my commit dates to push dates...)

1  2 
ChangeLog
tapsets.cxx

diff --cc ChangeLog
index 97fa419b995be4af308868b22432fa618af05ae6,13c57518a26a563e53a0c1e4152183aad2e7e8b7..0dc8cdc9fbcee5530675b99cfb945c97c532e7a8
+++ b/ChangeLog
@@@ -1,41 -1,39 +1,77 @@@
 -2009-02-05  Josh Stone  <jistone@redhat.com>
+ 2009-02-10  Josh Stone  <jistone@redhat.com>
+       * staptree.h (update_visitor::require): Add a clearok parameter for
+       optimizing traversers to signal that they're ready for NULL back.
+       * elaborate.cxx (dead_assignment_remover): Convert into an
+       update_visitor and remove its now-redundant traversal methods.
+       * elaborate.cxx (dead_stmtexpr_remover): Convert to an update_visitor.
+       * elaborate.cxx (void_statement_reducer): Convert to an update_visitor.
 -2009-02-05  Josh Stone  <jistone@redhat.com>
++2009-02-10  Josh Stone  <jistone@redhat.com>
+       * tapsets.cxx (var_expanding_copy_visitor): This struct becomes
+       var_expanding_visitor and inherits from update_visitor instead of
+       deep_copy_visitor.  Each of the probe-type variants of this are also no
+       longer copiers.
 -2009-02-05  Josh Stone  <jistone@redhat.com>
++2009-02-10  Josh Stone  <jistone@redhat.com>
+       * staptree.h (update_visitor): A new visitor to make it easier to
+       rewrite parts of a probe or function without making a full copy.
+       * staptree.cxx (update_visitor::*): Each child is recursed with a
+       require() call, and then the parent returns itself with provide().
+       * staptree.h (deep_copy_visitor): Inherit from update_visitor to get
+       the recursive descent while updating nodes.
+       * staptree.cxx (deep_copy_visitor::*): Use the implicit copy
+       constructors to copy all fields, then defer to update_visitor for the
+       recursion.  Referents are still cleared from the copies of symbols and
+       function calls.
++2009-02-10  Josh Stone  <jistone@redhat.com>
+       * staptree.h (require, provide): Simplify stack operations with less
+       pointer magic, and move to be deep_copy_visitor members.
+       * staptree.h (deep_copy_visitor::deep_copy): Templatize
+       * staptree.cxx, tapsets.cxx: Refactor require/provide callers
 +2009-02-10  Frank Ch. Eigler  <fche@elastic.org>
 +
 +      * tapsets.cxx (find_variable_and_frame_base): Tolerate -1 return
 +      value from dwarf_getscope_die.
 +
 +2009-02-07  Josh Stone  <jistone@redhat.com>
 +
 +      * buildrun.cxx (compile_pass): Pull in autoconf options in a header
 +      of #defines rather than -DXXX, and make that header a build dependency.
 +      * buildrun.cxx (output_autoconf): New function to consolidate the
 +      computation of each autoconf test.
 +      * cache.cxx (add_to_cache, get_from_cache, clean_cache): Start treating
 +      the stapconf header as a first-class cached item.
 +      * cache.h: Move definitions of things only needed in cache.cxx
 +      * hash.cxx (find_stapconf_hash): Generate stapconf_name as a .h now.
 +      * main.cxx (main): Default the stapconf_name based on getpid().
 +
 +2009-02-06  Josh Stone  <jistone@redhat.com>
 +
 +      * hash.cxx (find_hash): Compute a separate script-independent hash
 +      for caching autoconf values, saved in session.stapconf_path.
 +      * buildrun.cxx (compile_pass): Tweak the Makefile to read/save
 +      the autoconf values in the cache directory
 +
 +2009-02-06  Frank Ch. Eigler  <fche@elastic.org>
 +
 +      * buildrun.cxx: Add STAPCONF_PROCFS_OWNER test.
 +
 +2009-02-05  Will Cohen <wcohen@redhat.com>
 +
 +      PR9756.
 +      * scripts/kernel-doc: Correct productname tag.
 +
 +2009-02-05  Frank Ch. Eigler  <fche@elastic.org>
 +
 +      PR9740/9816?
 +      * buildrun.cxx: Add STAPCONF_VM_AREA autoconf test.
 +
  2009-02-04  Mark Wielaard  <mjw@redhat.com>
  
        * NEWS: process().mark(), sys/sdt.h and dtrace compatibility script.
diff --cc tapsets.cxx
Simple merge
This page took 0.050948 seconds and 5 git commands to generate.