diff options
author | fche <fche> | 2005-09-14 21:31:47 +0000 |
---|---|---|
committer | fche <fche> | 2005-09-14 21:31:47 +0000 |
commit | 3eb77821015ef673b4def89ad3d7b1fea60e52c4 (patch) | |
tree | 92af5bf989b84e4e6f6462aa6d6bcdb11bf5be9d /translate.cxx | |
parent | 5dfa7da393b414d9c3b2cc9bffe2892beabba9df (diff) | |
download | systemtap-steved-3eb77821015ef673b4def89ad3d7b1fea60e52c4.tar.gz systemtap-steved-3eb77821015ef673b4def89ad3d7b1fea60e52c4.tar.xz systemtap-steved-3eb77821015ef673b4def89ad3d7b1fea60e52c4.zip |
2005-09-14 Frank Ch. Eigler <fche@elastic.org>
PR 1344
* translate.cxx: Call _stp_map_clear for "delete ARRAY" statement.
2005-09-14 Frank Ch. Eigler <fche@elastic.org>
* systemtap.samples/pfaults.stp: Complicate to test PR 1344.
Diffstat (limited to 'translate.cxx')
-rw-r--r-- | translate.cxx | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/translate.cxx b/translate.cxx index 9f057043..b3a4221e 100644 --- a/translate.cxx +++ b/translate.cxx @@ -1604,8 +1604,12 @@ delete_statement_operand_visitor::visit_symbol (symbol* e) { mapvar mvar = parent->getmap(e->referent, e->tok); varlock_w guard (*parent, mvar); + /* NB: such memory deallocation/allocation operations + are not generally legal in all probe contexts. parent->o->newline() << mvar.fini (); parent->o->newline() << mvar.init (); + */ + parent->o->newline() << "_stp_map_clear (" << mvar.qname() << ");"; } void |