pike.git / src / builtin_functions.c

version» Context lines:

pike.git/src/builtin_functions.c:3308:    i=!strcmp(ret,saltp);    pop_n_elems(args);    push_int(i);    }   }      /*! @decl void destruct(void|object o)    *!    *! Mark an object as destructed.    *! -  *! Calls @expr{o->destroy()@}, and then clears all variables in the +  *! Calls @expr{o->_destruct()@}, and then clears all variables in the    *! object. If no argument is given, the current object is destructed.    *!    *! All pointers and function pointers to this object will become zero.    *! The destructed object will be freed from memory as soon as possible.    */   PMOD_EXPORT void f_destruct(INT32 args)   {    struct object *o;    if(args)    {
pike.git/src/builtin_functions.c:5068:    *! Normally there is no need to call this function since Pike will    *! call it by itself every now and then. (Pike will try to predict    *! when 20% of all arrays/object/programs in memory is 'garbage'    *! and call this routine then.)    *!    *! @returns    *! The amount of garbage is returned. This is the number of arrays,    *! mappings, multisets, objects and programs that had no nonweak    *! external references during the garbage collection. It's normally    *! the same as the number of freed things, but there might be some -  *! difference since destroy() functions are called during freeing, +  *! difference since _destruct() functions are called during freeing,    *! which can cause more things to be freed or allocated.    *!    *! @seealso    *! @[Pike.gc_parameters], @[Debug.gc_status]    */   void f_gc(INT32 args)   {    ptrdiff_t res = 0;    switch(args? TYPEOF(Pike_sp[-args]): PIKE_T_MIXED) {    case PIKE_T_MAPPING: