Home | History | Annotate | Download | only in core

Lines Matching refs:Arg

42 template <typename Func, typename Arg>
43 inline void SkOnce(SkOnceFlag* once, Func f, Arg arg);
99 template <typename Func, typename Arg>
100 static void sk_once_slow(SkOnceFlag* once, Func f, Arg arg) {
103 f(arg);
105 // done before here---in particular, those done by calling f(arg)---are observable
109 // to and including f(arg), then check in *done=true as a subsequent change".
111 // We'll use this in the fast path to make sure f(arg)'s effects are
134 template <typename Func, typename Arg>
135 inline void SkOnce(SkOnceFlag* once, Func f, Arg arg) {
138 sk_once_slow(once, f, arg);
142 // calling f(arg)---is at least as current as the value we read from once->done.
148 // happens after f(arg), so by syncing to once->done = true here we're
149 // forcing ourselves to also wait until the effects of f(arg) are readble.