1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32
|
// stable_function_mix.stp - normal function and embedded-c function
// including nested functioncalls
%{int f1hits = 0; %}
global fn3_hits
function fn1:long() %{
/* pure */ /* stable */
f1hits++;
STAP_RETURN(100);
%}
function fn2:long(x) %{
STAP_RETURN(STAP_ARG_x);
%}
function fn3:long() {
fn3_hits++
x = fn1()
y = fn1()
if (x == y) {
z = fn1()
}
return x+y+z
}
probe begin {
x = fn1()
x = fn3()
println(x, " ", fn3(), " ", fn2(fn1()), " ", %{f1hits%}, " ", fn3_hits)
exit()
}
|