pike.git / src / interpret.h

version» Context lines:

pike.git/src/interpret.h:213:   PMOD_EXPORT void callsite_execute(const struct pike_callsite *site);   PMOD_EXPORT void callsite_reset_pikecall(struct pike_callsite *s);      static inline void callsite_reset(struct pike_callsite *c) {    /* nothing to do, only frames for pike functions    * might need to be reallocatd */    if (LIKELY(c->type != CALLTYPE_PIKEFUN)) return;    callsite_reset_pikecall(c);   }    - PMOD_EXPORT void callsite_return_slowpath(const struct pike_callsite *c); -  - static inline void callsite_return(const struct pike_callsite *c) { -  /* pike functions might recurse or set PIKE_FRAME_RETURN_POP */ -  if (LIKELY(c->type != CALLTYPE_PIKEFUN && c->retval+1 == Pike_sp)) -  return; -  callsite_return_slowpath(c); - } -  +    static inline struct svalue *frame_get_save_sp(const struct pike_frame *frame) {    return frame->locals + frame->save_sp_offset;   }      static inline void frame_set_save_sp(struct pike_frame *frame, struct svalue *sv) {    ptrdiff_t n = sv - frame->locals;   #ifdef PIKE_DEBUG    if (n < MIN_INT16 || n > MAX_INT16)    Pike_error("Save SP offset too large.\n");   #endif