diff options
author | fche <fche> | 2006-01-04 20:19:01 +0000 |
---|---|---|
committer | fche <fche> | 2006-01-04 20:19:01 +0000 |
commit | 8616e84e10c240791bed6f1ce7d4da3476078acc (patch) | |
tree | 6db96b0babb33858b0d79450acb1405580b9e1c5 | |
parent | 64150b1beebfde251ba51cd4fa5d3c79c4620c5e (diff) | |
download | systemtap-steved-8616e84e10c240791bed6f1ce7d4da3476078acc.tar.gz systemtap-steved-8616e84e10c240791bed6f1ce7d4da3476078acc.tar.xz systemtap-steved-8616e84e10c240791bed6f1ce7d4da3476078acc.zip |
2006-01-04 Frank Ch. Eigler <fche@elastic.org>
PR 2057.
* translate.cxx (c_unparser_assignment::visit_arrayindex): Don't take
write lock around pmap accumulation.
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | translate.cxx | 6 |
2 files changed, 9 insertions, 3 deletions
@@ -1,3 +1,9 @@ +2006-01-04 Frank Ch. Eigler <fche@elastic.org> + + PR 2057. + * translate.cxx (c_unparser_assignment::visit_arrayindex): Don't take + write lock around pmap accumulation. + 2006-01-04 Will Cohen <wcohen@redhat.com> * testsuite/buildok/printf.stp: Improve test coverage. diff --git a/translate.cxx b/translate.cxx index 78788de9..5bad6bdf 100644 --- a/translate.cxx +++ b/translate.cxx @@ -2964,9 +2964,9 @@ c_unparser_assignment::visit_arrayindex (arrayindex *e) // a statistic-valued map, there's a special form we follow: // // ({ tmp0=(idx0); ... tmpN=(idxN); rvar=(rhs); lvar; res; - // lock (array); + // *no need to* lock (array); // _stp_map_add_stat (array, idx0...N, rvar); - // unlock (array); + // *no need to* unlock (array); // rvar; }) // // To simplify variable-allocation rules, we assign rvar to lvar and @@ -2982,7 +2982,7 @@ c_unparser_assignment::visit_arrayindex (arrayindex *e) mapvar mvar = parent->getmap (array->referent, e->tok); o->newline() << "c->last_stmt = " << lex_cast_qstring(*e->tok) << ";"; - varlock_w guard (*parent, mvar); + // NB: *no need to* varlock_w guard (*parent, mvar); o->newline() << mvar.add (idx, rvar) << ";"; // dummy assignments o->newline() << lvar << " = " << rvar << ";"; |