Branch: Tag:

2008-05-11

2008-05-11 02:36:00 by Martin Stjernholm <mast@lysator.liu.se>

Implemented visit functions for the visit_thing_fn interface. The gc
check/mark functions are restored to how they were before the
GC_PASS_COUNT_MEMORY stuff.

Rev: src/array.c:1.206
Rev: src/array.h:1.74
Rev: src/constants.c:1.59
Rev: src/constants.h:1.36
Rev: src/mapping.c:1.200
Rev: src/mapping.h:1.67
Rev: src/multiset.c:1.110
Rev: src/multiset.h:1.43
Rev: src/object.c:1.290
Rev: src/object.h:1.95
Rev: src/pike_types.c:1.331
Rev: src/pike_types.h:1.114
Rev: src/program.c:1.691
Rev: src/program.h:1.242
Rev: src/stralloc.c:1.218
Rev: src/stralloc.h:1.103

2:   || This file is part of Pike. For copyright information see COPYRIGHT.   || Pike is distributed under GPL, LGPL and MPL. See the file COPYING   || for more information. - || $Id: pike_types.h,v 1.113 2008/04/25 13:45:22 grubba Exp $ + || $Id: pike_types.h,v 1.114 2008/05/11 02:35:22 mast Exp $   */      #ifndef PIKE_TYPES_H
275:   PMOD_EXPORT char *get_name_of_type(TYPE_T t);   void cleanup_pike_types(void);   void cleanup_pike_type_table(void); + void visit_type (struct pike_type *t, int action);   void gc_mark_type_as_referenced(struct pike_type *t);   void gc_check_type (struct pike_type *t);   void gc_check_all_types (void);
289:    struct svalue *handler);   /* Prototypes end here */    + #define visit_type_ref(T, REF_TYPE) \ +  visit_ref (pass_type (T), (REF_TYPE), \ +  (visit_thing_fn *) &visit_type, NULL) +    #if 0 /* FIXME: Not supported under USE_PIKE_TYPE yet. */   /* "Dynamic types" - use with ADD_FUNCTION_DTYPE */   #define dtStore(TYPE) {int e; for (e=0; e<CONSTANT_STRLEN(TYPE); e++) unsafe_push_type((TYPE)[e]);}