Index: generic/nsfStack.c =================================================================== diff -u -rf7e7dd532f08b253e4b81e73074e216674685d60 -rbb0d12c63024e25ca81a370eb934dbbe2b7a10fd --- generic/nsfStack.c (.../nsfStack.c) (revision f7e7dd532f08b253e4b81e73074e216674685d60) +++ generic/nsfStack.c (.../nsfStack.c) (revision bb0d12c63024e25ca81a370eb934dbbe2b7a10fd) @@ -802,10 +802,20 @@ *---------------------------------------------------------------------- */ NSF_INLINE static void -CscInit(/*@notnull@*/ NsfCallStackContent *cscPtr, NsfObject *object, NsfClass *cl, +CscInit_(/*@notnull@*/ NsfCallStackContent *cscPtr, NsfObject *object, NsfClass *cl, Tcl_Command cmd, int frameType, int flags) { +#if defined(NSF_PROFILE) + struct timeval trt; +#endif assert(cscPtr); + +#if defined(NSF_PROFILE) + gettimeofday(&trt, NULL); + + cscPtr->startUsec = trt.tv_usec; + cscPtr->startSec = trt.tv_sec; +#endif /* * When cmd is provided, the call is not an unknown, the method @@ -875,6 +885,10 @@ assert(cscPtr); assert(cscPtr->self); +#if defined(NSF_PROFILE) + NsfProfileEvaluateData(interp, cscPtr); +#endif + object = cscPtr->self; flags = cscPtr->flags;