* [Bug translator/13009] New: Allow @defined($foo) in probe predicates @ 2011-07-20 21:20 jistone at redhat dot com 2011-07-20 22:31 ` [Bug translator/13009] " fche at redhat dot com 2011-07-20 23:14 ` jistone at redhat dot com 0 siblings, 2 replies; 3+ messages in thread From: jistone at redhat dot com @ 2011-07-20 21:20 UTC (permalink / raw) To: systemtap http://sourceware.org/bugzilla/show_bug.cgi?id=13009 Summary: Allow @defined($foo) in probe predicates Product: systemtap Version: unspecified Status: NEW Severity: enhancement Priority: P2 Component: translator AssignedTo: systemtap@sourceware.org ReportedBy: jistone@redhat.com The @defined() test is statically resolved to either 0 or 1, depending on the presence of the argument. It would be nice if you could use this to statically filter probes that have a particular variable. For example, when some functions don't have a return value: probe module("jsm").function("*").return if (@defined($return)) { if ($return < 0) printf("%s returned %d\n", probefunc(), $return) } But this gives "semantic error: unexpected @defined". You could move the @defined check into the probe body for approximately the same effect, though still incurring probe hits. Once @defined is allowed in the predicate, we can further optimize that predicate == 0 throws the whole body away, and probes with empty bodies are discarded entirely. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug translator/13009] Allow @defined($foo) in probe predicates 2011-07-20 21:20 [Bug translator/13009] New: Allow @defined($foo) in probe predicates jistone at redhat dot com @ 2011-07-20 22:31 ` fche at redhat dot com 2011-07-20 23:14 ` jistone at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: fche at redhat dot com @ 2011-07-20 22:31 UTC (permalink / raw) To: systemtap http://sourceware.org/bugzilla/show_bug.cgi?id=13009 Frank Ch. Eigler <fche at redhat dot com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fche at redhat dot com --- Comment #1 from Frank Ch. Eigler <fche at redhat dot com> 2011-07-20 22:30:40 UTC --- "But this gives "semantic error: unexpected @defined". " That's odd - the code should accept pretty general expressions. "Once @defined is allowed in the predicate, we can further optimize that predicate == 0 throws the whole body away" Sure, or delete the probe directly. "and probes with empty bodies are discarded entirely." That's bug #11353. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
* [Bug translator/13009] Allow @defined($foo) in probe predicates 2011-07-20 21:20 [Bug translator/13009] New: Allow @defined($foo) in probe predicates jistone at redhat dot com 2011-07-20 22:31 ` [Bug translator/13009] " fche at redhat dot com @ 2011-07-20 23:14 ` jistone at redhat dot com 1 sibling, 0 replies; 3+ messages in thread From: jistone at redhat dot com @ 2011-07-20 23:14 UTC (permalink / raw) To: systemtap http://sourceware.org/bugzilla/show_bug.cgi?id=13009 --- Comment #2 from Josh Stone <jistone at redhat dot com> 2011-07-20 23:13:42 UTC --- (In reply to comment #1) > "But this gives "semantic error: unexpected @defined". " > > That's odd - the code should accept pretty general expressions. That's coming from typeresolution_info::visit_defined_op, as it's not expecting @defined expressions to survive this far. We may just need to tweak all the var_expanding_visitor invocations to visit the predicate too. > "and probes with empty bodies are discarded entirely." > > That's bug #11353. Ah, yes, thanks for jogging my memory. -- Configure bugmail: http://sourceware.org/bugzilla/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are the assignee for the bug. ^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-07-20 23:14 UTC | newest] Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2011-07-20 21:20 [Bug translator/13009] New: Allow @defined($foo) in probe predicates jistone at redhat dot com 2011-07-20 22:31 ` [Bug translator/13009] " fche at redhat dot com 2011-07-20 23:14 ` jistone at redhat dot com
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).