> Yes clauses execute in order and that's both by
> design and a behavior  that is part of the D language 
> specification (though perhaps  implicitly). If there's
> a documentation change that would clarify this  
> please propose it and then make the change on the
> wiki.
> 
> - ahl

Thanks to all for the fast replies!

My inclination would be to extend 
http://wikis.sun.com/display/DTrace/D+Program+Structure#Program+Clauses+and+Declarations
 as follows:

... a D program source file consists of one or more probe clauses that describe 
the instrumentation to be enabled by DTrace. ***A single probe description may 
match multiple providers and a D program may declare multiple probe 
descriptions matching the same provider. Whenever multiple probes match a 
provider they fire in the order they were declared in.*** Each probe clause has 
the general form:

To really do it right, though, we should also add a new section, between 
Actions and CPP, which explains how in-order firing can be exploited to 
implement control flow, preserve predicate caching when some of the predicates 
are non-cacheable, etc. It might also point out the gotchas that could come up 
if you declare clauses in the wrong order and cause unintended control flow 
(e.g. by accidentally changing a variable some later clause was predicated on).

Ryan 

BTW, I tried replying directly from my mail client, but it bounced... do I need 
to do something special before sending to the list?
-- 
This message posted from opensolaris.org
_______________________________________________
dtrace-discuss mailing list
[email protected]

Reply via email to