pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:2492:    SET_PROG_COUNTER(addr); \    new_frame->fun=Pike_fp->fun; \    DO_IF_PROFILING( new_frame->ident=Pike_fp->ident ); \    new_frame->current_storage=Pike_fp->current_storage; \    if(Pike_fp->scope) add_ref(new_frame->scope=Pike_fp->scope); \    add_ref(new_frame->current_object = Pike_fp->current_object); \    add_ref(new_frame->current_program = Pike_fp->current_program); \    new_frame->context = Pike_fp->context; \    \    DO_IF_PROFILING({ \ +  struct identifier *func; \    new_frame->start_time = \    get_cpu_time() - Pike_interpreter.unlocked_time; \    new_frame->ident = Pike_fp->ident; \    new_frame->children_base = Pike_interpreter.accounted_time; \ -  new_frame->context->prog->identifiers[new_frame->ident].num_calls++; \ +  func = new_frame->context->prog->identifiers + new_frame->ident; \ +  func->num_calls++; \ +  func->recur_depth++; \    DO_IF_PROFILING_DEBUG({ \    fprintf(stderr, "%p{: Push at %" PRINT_CPU_TIME \    " %" PRINT_CPU_TIME "\n", \    Pike_interpreter.thread_state, new_frame->start_time, \    new_frame->children_base); \    }); \    }); \    \    Pike_fp=new_frame; \    new_frame->flags=PIKE_FRAME_RETURN_INTERNAL | XFLAGS; \