pike.git / src / interpret_functions.h

version» Context lines:

pike.git/src/interpret_functions.h:2596:    }   });      #undef DO_CALL_BUILTIN   #ifdef PIKE_DEBUG   #define DO_CALL_BUILTIN(ARGS) do { \    int args_=(ARGS); \    struct svalue *expected_stack=Pike_sp-args_; \    struct svalue *s; \    s = &Pike_fp->context->prog->constants[arg1].sval; \ -  if(Pike_interpreter.trace_level) \ -  { \ +  if(PIKE_NEEDS_TRACE()) \    do_trace_efun_call(s, args_); \ -  } \ -  if (PIKE_FN_START_ENABLED()) { \ -  /* DTrace enter probe \ -  arg0: function name \ -  arg1: object \ -  */ \ -  PIKE_FN_START(s->u.efun->name->size_shift == 0 ? \ -  s->u.efun->name->str : "[widestring fn name]", \ -  ""); \ -  } \ +     (*(s->u.efun->function))(args_); \    DO_IF_PROFILING (s->u.efun->runs++); \    if(Pike_sp != expected_stack + !s->u.efun->may_return_void) \    { \    if(Pike_sp < expected_stack) \    Pike_fatal("Function popped too many arguments: %s\n", \    s->u.efun->name->str); \    if(Pike_sp>expected_stack+1) \    Pike_fatal("Function left %"PRINTPTRDIFFT"d droppings on stack: %s\n", \    Pike_sp-(expected_stack+1), \    s->u.efun->name->str); \    if(Pike_sp == expected_stack && !s->u.efun->may_return_void) \    Pike_fatal("Non-void function returned without return value " \    "on stack: %s %d\n", \    s->u.efun->name->str,s->u.efun->may_return_void); \    if(Pike_sp==expected_stack+1 && s->u.efun->may_return_void) \    Pike_fatal("Void function returned with a value on the stack: %s %d\n", \    s->u.efun->name->str, s->u.efun->may_return_void); \    } \ -  if(Pike_interpreter.trace_level>1) { \ +  if (PIKE_NEEDS_TRACE()) \    do_trace_efun_return(s, Pike_sp>expected_stack); \ -  } \ -  if (PIKE_FN_DONE_ENABLED()) { \ -  /* DTrace leave probe \ -  arg0: function name \ -  */ \ -  PIKE_FN_DONE(s->u.efun->name->size_shift == 0 ? \ -  s->u.efun->name->str : "[widestring fn name]"); \ -  } \ +    }while(0)   #else   #define DO_CALL_BUILTIN(ARGS) do { \    (*(Pike_fp->context->prog->constants[arg1].sval.u.efun->function))(ARGS); \    } while (0)   #endif      OPCODE1(F_CALL_BUILTIN, "call builtin", I_UPDATE_ALL, {    FAST_CHECK_THREADS_ON_CALL();    DO_CALL_BUILTIN((INT32)(Pike_sp - *--Pike_mark_sp));