summaryrefslogtreecommitdiffstats
path: root/elaborate.cxx
Commit message (Collapse)AuthorAgeFilesLines
* First attempt at printf kernel memory hex dumpElliott Baron2008-12-191-0/+1
|
* PR7051: Remove broken printf %n directive supportroot2008-12-051-4/+2
|
* PR7053: Add checking empty aggregate and default print where @count==0.Wenji Huang2008-12-021-1/+37
|
* PR6477: tolerate null token, e.g., from unwindsym warning messageFrank Ch. Eigler2008-11-281-1/+3
|
* PR7035: don't suppress all error messages during listings modeWenji Huang2008-11-271-3/+0
|
* RHBZ 468139 avoid display of tapset globalsRajan Arora2008-10-271-2/+11
|
* partial revert of 212a56Frank Ch. Eigler2008-10-261-2/+10
|
* Unused global variables display in guru mode fix (rh bz 468139)Rajan Arora2008-10-251-1/+2
|
* PR6851: Added support for %c printf conversion specifier [trying again]Elliott Baron2008-10-201-3/+4
|
* Display source context for error and warning messages (6701)Rajan Arora2008-10-091-0/+43
|
* sort arrays by value- subject to automagic foreach/printfFrank Ch. Eigler2008-09-261-1/+2
|
* PR6916: fix STRUCT1 ($var alternatives error message syntax) regressionFrank Ch. Eigler2008-09-261-13/+30
|
* Fix redundant implicit probe points in listing modeWenji Huang2008-09-121-0/+2
|
* PR6876: translator speedup for many $varsFrank Ch. Eigler2008-09-101-95/+111
|
* Handle scalar statistics.Stan Cox2008-09-051-8/+25
|
* Simplify add_global_var_display token use.Stan Cox2008-09-021-23/+10
|
* Display written but unread global statistics.Stan Cox2008-09-011-4/+31
|
* Repopulate symbol/type info.Stan Cox2008-08-291-35/+10
|
* fix global-var array index renderingFrank Ch. Eigler2008-08-281-148/+154
| | | | (plus emacs' automagic whitespace fixes)
* Automatically print written but unread globalsStan Cox2008-08-271-7/+195
|
* session.h (struct systemtap_session): Added itrace_derived_probedcn2008-07-291-0/+1
| | | | | | | | | | | | | | | | | | | group. elaborate.cxx (systemtap_session::systemtap_session): Added initialization of itrace_derived_probes. tapsets.cxx (struct itrace_derived_probe): Add derived_probe struct for holding info needed by itrace probes. (struct itrace_derived_probe_group): New derived_probe_group to handle itrace probes. (itrace_derived_probe::itrace_derived_probe): Needed for use with task_finder. (itrace_derived_probe_group::join_group): Ditto. (itrace_derived_probe_group::enroll): Ditto. (itrace_derived_probe_group::emit_probe_decl): Ditto. (itrace_derived_probe_group::emit_module_decls): Ditto. (itrace_derived_probe_group::emit_module_init): Ditto. (itrace_derived_probe_group::emit_module_exit): Ditto. stapprobes.5.in : Added documentation of itrace probe.
* make module_cache a session field rather than plain staticFrank Ch. Eigler2008-06-231-0/+1
|
* Get rid of the dynamic_cast<>s in void_statement_reducer.Josh Stone2008-06-191-57/+49
| | | | | | | | Instead, visit_expr_statement can explicitly load a pointer to use for back-references. I also decided to be less-clever about reusing expr_statements. It's a little leakier as a result, but I like having less magic in the air.
* Prove that I know how to spell.Josh Stone2008-06-181-1/+1
|
* Add Intel to copyright header on elaborate.cxxJosh Stone2008-06-181-0/+1
|
* New optimization to break up statements in void contexts.Josh Stone2008-06-181-19/+419
| | | | | | | | | | | | | | | | PR 6644 * elaborate.cxx (dead_stmtexpr_remover::visit_block): Flatten nested block statements into a single block. (dead_stmtexpr_remover::visit_if_statement): Remove the possibility of if_statements with a null thenblock. When an if lacks both then and else, either remove it completely or reduce it to a simple statment evaluating the condition. With an else and no then, invert the condition and else becomes then. (void_statement_reducer): New optimization visitor that breaks statements in void context into smaller pieces, to expose more optimization opportunities. (semantic_pass_opt5, semantic_pass_opt6): Bump opt5 to opt6, and create a new opt5 that runs through void_statement_reducer.
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2008-06-161-1/+0
|\ | | | | | | | | | | * 'master' of ssh://sources.redhat.com/git/systemtap: Improved callback handling. Create alternative list only as needed.
| * Create alternative list only as needed.Stan Cox2008-06-161-28/+29
| |
* | warning/error message compaction by removing duplicated token file namesFrank Ch. Eigler2008-06-161-56/+94
|/
* Bug 6611: read-only variable typo warnings should list alternatives.Stan Cox2008-06-161-6/+40
|
* Make print_warning parm a const.Stan Cox2008-06-121-1/+1
|
* Micro-optimize print_warning output. Fix warnings.exp line count.Mark Wielaard2008-06-111-2/+1
|
* ha ha haFrank Ch. Eigler2008-06-111-1/+1
|
* duplicate warning thinko foxFrank Ch. Eigler2008-06-111-2/+2
|
* Eliminate duplicate warnings.Stan Cox2008-06-111-11/+23
|
* Merge branch 'master' of ssh://sources.redhat.com/git/systemtapFrank Ch. Eigler2008-05-211-0/+13
|\ | | | | | | | | | | * 'master' of ssh://sources.redhat.com/git/systemtap: Use pointer_arg to fetch arguments for syscall.utime and compat_utime. Optimize compound and binary expression assignments.
| * Optimize compound and binary expression assignments.Stan Cox2008-05-211-0/+13
| |
* | PR6538: fix treatment of initialized globalsFrank Ch. Eigler2008-05-211-1/+2
| |
* | PR6538: warn about read-only variablesFrank Ch. Eigler2008-05-201-3/+29
|/
* Optimize away assignments in other contexts.Stan Cox2008-05-191-0/+62
|
* suppress "pass-2 failed" messages from "stap -l FOOBAR"; just produce empty ↵Frank Ch. Eigler2008-05-171-6/+3
| | | | output
* PR5643: function caching for much faster syscall.* pass-2 processingFrank Ch. Eigler2008-05-161-1/+4
|
* PR6466: broad side-effect free statement elisionFrank Ch. Eigler2008-04-291-37/+143
|
* 2008-04-15 David Smith <dsmith@redhat.com>David Smith2008-04-161-0/+2
| | | | | | | | | | | | | | | | | | | * session.h (struct systemtap_session): Added utrace_derived_probe group and task_finder_derived_probe_group members. * elaborate.cxx (systemtap_session::systemtap_session): Added initialization of utrace_derived_probes and task_finder_derived_probes. * tapsets.cxx (struct task_finder_derived_probe_group): New derived_probe_group to handle task_finder framework. (struct utrace_derived_probe_group): New derived_probe_group to handle utrace probes. 2008-04-15 David Smith <dsmith@redhat.com> PR 5961 (partial) * task_finder.c (stap_start_task_finder): When an interesting thread is found that is already running, make sure to set up thread death notification.
* PR2949: listings mode (stap -l PROBE)Frank Ch. Eigler2008-04-101-0/+3
| | | | | | | | | | | | | | | | 2008-04-10 Frank Ch. Eigler <fche@elastic.org> PR 2949. * session.h (listing_mode): New field. * main.cxx (main): Test it. Enjoy it. (usage): Document it. * stap.1.in, stapex.5.in: Ditto. * elaborate.cxx (print_error): Disable error messages in listing mode. 2008-04-10 Frank Ch. Eigler <fche@elastic.org> PR 2949 * systemtap.base/cmd_parse.exp: Add "-l" listing test.
* 2008-03-10 Dave Brolley <brolley@redhat.com>brolley2008-03-101-1/+1
| | | | | | | | | | | | | | PR5189 * translate.cxx (probe_or_function_needs_deref_fault_handler): New member of c_unparser. (c_unparser::emit_function): Initialize probe_or_function_needs_deref_fault_handler. Check it after the body is visited and generate a deref fault handler if necessary. (c_unparser::emit_probe): Likewise. (c_unparser::visit_print_format): Correct the compoenent type for an overridden string literal. Generate code to check that pointer arguments to %m can be dereferenced. Generate casts for printf arguments as necessary. * elaborate.cxx (typeresolution_info::visit_print_format): Desired type for conv_memory is pe_long.
* PR5516: assignment to $pointersfche2008-03-031-8/+10
| | | | | | | | | | | | | | | | | | | | | 2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * elaborate.cxx (symbol_fetcher, dead_assignment_remover): Support unresolved $target lvalues. Propagate pretty error messages. * staptree.cxx (varuse_collecting_visitor target_symbol): Ditto. * staptree.h: Corresponding decl. * loc2c.c: c_translate_pointer_store: New function. * loc2c.h: Corresponding decl. * tapsets.cxx (dwflpp::translate_final_fetch_or_store): Call it for $target pointer assignments. 2008-03-03 Frank Ch. Eigler <fche@elastic.org> PR5516 * buildok/twentynine.stp: New test.
* PR5045: clean up after interruptsfche2008-02-281-0/+17
| | | | | | | | | | | 2008-02-28 Frank Ch. Eigler <fche@elastic.org> PR5045 * session.h (pending_interrupts): New global. * main.cxx (handle_interrupts): New fn to handle SIGINT* etc. * elaborate.cxx, translate.cxx, tapsets.cxx, main.cxx (*): Insert pending_interrupts escape hatches inside potentially timetaking loops. * buildrun.cxx: Don't deal with signals.
* 2008-02-21 Dave Brolley <brolley@redhat.com>brolley2008-02-271-14/+43
| | | | | | | | | | | | | | | | | | | | | | PR5189 * staptree.h (print_format::conv_memory): New enumerator. (print_format::width_type): New enumeration. (print_format::precision_type): New enumeration. (format_component::widthtype): New member. (format_component::prectype): New member. (format_component::is_empty): Test widthtype and prectype. (format_component::clear): Clear widthtype and prectype. * staptree.cxx (print_format::components_to_string): Handle dynamic width and precision. Handle conv_memory. (print_format::string_to_components): Parse dynamic width and precision specifiers. Set widthtype and prectype. Parse %m format specifier. * elaborate.h (typeresolution_info::check_arg_type): New method. * elaborate.cxx (typeresolution_info::visit_print_format): Account for dynamic width and precision when computing the expected number of arguments. Check the types of arguments for dynamic width and precision. Use check_arg_type to check the types of all arguments. Handle print_format::conv_memory. (typeresolution_info::check_arg_type): New method. * NEWS: Describe the enhancements above.
* 2008-02-13 Dave Brolley <brolley@redhat.com>brolley2008-02-131-3/+38
| | | | | | | | | | | | | | | | | PR5609 * staptree.h (probe::collect_derivation_chain): Now takes vector<probe*>. (probe::get_alias): New virtual method. * elaborate.h (derived_probe::collect_derivation_chain): Now takes vector<probe*>. * staptree.cxx (probe::collect_derivation_chain): Now takes vector<probe*>. Don't cast 'this' to (derived_probe*). * elaborate.cxx (derived_probe::collect_derivation_chain): Now takes vector<probe*>. (alias_derived_probe::get_alias): New virtual method. (alias_derived_probe::alias): New member. (alias_expansion_builder::build): Call checkForRecursiveExpansion and emit a diagnostic if recursion is detected. Pass alias to constructor of alias_derived_probe. (alias_expansion_builder::checkForRecursiveExpansion): New method. * coveragedb.cxx: Pass vector<probe*> on all calls to collect_derivation_chain.