pike.git
/
src
/
builtin.cmod
version
»
Context lines:
10
20
40
80
file
none
3
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 ||