BEGIN { self->start = 0; self->ind = 0; } fluffos$target:::lpc-entry /!self->ind/ { self->start = timestamp; self->spec = speculation(); speculate(self->spec); printf("%s(%s):%s ", copyinstr(arg0), copyinstr(arg2), copyinstr(arg1)); } fluffos$target:::lpc-entry /self->ind==1/ { speculate(self->spec); printf("\n%s(%s):%s ", copyinstr(arg0), copyinstr(arg2), copyinstr(arg1)); } fluffos$target:::lpc-entry { self->ind++; } fluffos$target:::lpc-return /self->ind>0/{ self->ind--; } fluffos$target:::lpc-return /!self->ind && timestamp - self->start>1000000000/ { speculate(self->spec); printf("%d\n", timestamp - self->start); commit(self->spec); self->spec = 0; } fluffos$target:::lpc-return /!self->ind && self->spec/ { discard(self->spec); self->spec = 0; }