2.1.3 Clause Predicates

Predicates are expressions that are enclosed in a pair of slashes (//) that are then evaluated at probe firing time to determine whether the associated actions should be executed. Predicates are the primary conditional construct that are used for building more complex control flow in a D program. You can omit the predicate section of the probe clause entirely for any probe. In which case, the actions are always executed when the probe fires.

Predicate expressions can use any of the D operators and can refer to any D data objects such as variables and constants. The predicate expression must evaluate to a value of integer or pointer type so that it can be considered as true or false. As with all D expressions, a zero value is interpreted as false and any non-zero value is interpreted as true.