From 3066c15c5313ba37afb518ef13d207c764a8ad2a Mon Sep 17 00:00:00 2001 From: fche Date: Thu, 26 Jan 2006 22:55:20 +0000 Subject: 2006-01-26 Frank Ch. Eigler PR 2060: lock elevation, mop-up * staptree.cxx (functioncall_traversing_visitor): Store a current_function pointer during traversal. (visit_embeddedcode): Use it to handle $target-synthesized functions. (varuse_collecting_visitor::visit_assignment): Correct l-lr typo. (visit_foreach_loop): Note added write on sorted foreach. (visit_delete_statement): Note as read+write. * staptree.h: Corresponding changes. * elaborate.cxx (dead_assignment_remover::visit_expr_statement): Correct stmt token after possible expression rewriting. * tapsets.cxx (visit_target_symbol): Create naming convention to recognize $target-synthesized functions. * translate.cxx (emit_locks, emit_unlocks): New functions to emit lock/unlock sequences at the outermost level of a probe. (emit_probe): Call them. (varlock_*): #if-0 out the lock code generation. Later, these classes should be removed. (translate_pass): Emit read_trylock() kludge macro for old kernels. --- elaborate.cxx | 1 + 1 file changed, 1 insertion(+) (limited to 'elaborate.cxx') diff --git a/elaborate.cxx b/elaborate.cxx index 613d85ae..b0f784d4 100644 --- a/elaborate.cxx +++ b/elaborate.cxx @@ -1303,6 +1303,7 @@ dead_assignment_remover::visit_expr_statement (expr_statement* s) expression** last_expr = current_expr; current_expr = & s->value; s->value->visit (this); + s->tok = s->value->tok; // in case it was replaced current_expr = last_expr; } -- cgit