| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
(plus emacs' automagic whitespace fixes)
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|\
| |
| |
| |
| |
| | |
* 'master' of ssh://sources.redhat.com/git/systemtap:
Improved callback handling.
Create alternative list only as needed.
|
| | |
|
|/ |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|\
| |
| |
| |
| |
| | |
* '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.
|
| | |
|
| | |
|
|/ |
|
| |
|
|
|
|
| |
output
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* 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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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.
|