pike.git / src / builtin.cmod

version» Context lines:

pike.git/src/builtin.cmod:61:   #define SET_GMTOFF(TM, VAL) (((TM)->tm_gmtoff) = (VAL))   #define SET_ZONE(this, VAL) ((this)->t.tm_zone = (VAL))   #else    struct tm_extra { const char *tm_zone; };   #define GET_GMTOFF(TM) 0   #define GET_ZONE(this) ((this)->extra.tm_zone)   #define SET_GMTOFF(TM, VAL) (VAL)   #define SET_ZONE(this, VAL) ((this)->extra.tm_zone = (VAL))   #endif    - static void gc_check_frame(struct pike_frame *f) + static void gc_check_frame(struct pike_frame *f, const char *place)   { -  +  int marker_refs; +  if (!f) return; +  marker_refs = debug_gc_check(f, place); +  if (marker_refs) return;    if(f->flags & PIKE_FRAME_MALLOCED_LOCALS)    {    if(f->current_object)    debug_gc_check (f->current_object, " as current_object in a frame");    if(f->current_program)    debug_gc_check (f->current_program, " as current_program in a frame");    debug_gc_check_svalues (f->locals - 1, 1, " in malloced locals of a frame"); -  if(f->scope && !debug_gc_check (f->scope, " as scope frame of a frame")) -  gc_check_frame(f->scope); +  gc_check_frame(f->scope, " as scope frame of a frame");    }   }      static void gc_recurse_frame(struct pike_frame *f)   { -  +  if (!f) return;    if(f->current_object)    gc_recurse_object(f->current_object);    if(f->current_program)    gc_recurse_program(f->current_program);    if(f->flags & PIKE_FRAME_MALLOCED_LOCALS)    gc_recurse_svalues(f->locals - 1, 1); -  if(f->scope) +     gc_recurse_frame(f->scope);   }      DECLARATIONS      /*! @module System    */      /*! @class TM    *! A wrapper for the system struct tm time keeping structure.
pike.git/src/builtin.cmod:3685:    THIS->filename = NULL;    }    if (THIS->fp) {    free_pike_frame(THIS->fp);    THIS->fp = NULL;    }    }       GC_CHECK    { -  if (THIS->fp && !debug_gc_check(THIS->fp, " as live backtrace frame")) -  gc_check_frame(THIS->fp); +  gc_check_frame(THIS->fp, " as live backtrace frame");    }       GC_RECURSE    { -  if (THIS->fp) gc_recurse_frame(THIS->fp); +  gc_recurse_frame(THIS->fp);    }       PIKEFUN void fill_in_file_and_line()    flags ID_PROTECTED;    {    if (THIS->lineno) {    if (THIS->fp && (THIS->pc == THIS->fp->pc)) return;    THIS->lineno = 0;    }    if (THIS->filename) {
pike.git/src/builtin.cmod:7347:    {    if(THIS->trampoline.frame)    {    free_pike_scope(THIS->trampoline.frame);    THIS->trampoline.frame=0;    }    }       GC_CHECK    { -  if (THIS->trampoline.frame && -  !debug_gc_check(THIS->trampoline.frame, " as trampoline frame")) -  gc_check_frame(THIS->trampoline.frame); +  gc_check_frame(THIS->trampoline.frame, " as trampoline frame");    }       GC_RECURSE    { -  if (THIS->trampoline.frame) gc_recurse_frame(THIS->trampoline.frame); +  gc_recurse_frame(THIS->trampoline.frame);    }       PIKEFUN void `()(mixed ... ignored)    {    Pike_error("Internal error: Trampoline magic failed!\n");    }       PIKEFUN int(0..1) `!()    {    if (!THIS->trampoline.frame || !THIS->trampoline.frame->current_object ||