From c1073a1cf5b4e488283d1b210fd2de43ebd775ce Mon Sep 17 00:00:00 2001 From: "Mirar (Pontus Hagland)" <pike@sort.mirar.org> Date: Tue, 11 May 1999 20:56:34 +0200 Subject: [PATCH] debug_malloc_touch around f_aggregate Rev: src/builtin_functions.c:1.169 Rev: src/builtin_functions.h:1.9 --- src/builtin_functions.c | 11 ++++++++++- src/builtin_functions.h | 10 ++++++++-- 2 files changed, 18 insertions(+), 3 deletions(-) diff --git a/src/builtin_functions.c b/src/builtin_functions.c index d3f691b795..beae1c977c 100644 --- a/src/builtin_functions.c +++ b/src/builtin_functions.c @@ -5,7 +5,7 @@ \*/ /**/ #include "global.h" -RCSID("$Id: builtin_functions.c,v 1.168 1999/05/02 08:11:32 hubbe Exp $"); +RCSID("$Id: builtin_functions.c,v 1.169 1999/05/11 18:56:32 mirar Exp $"); #include "interpret.h" #include "svalue.h" #include "pike_macros.h" @@ -38,6 +38,7 @@ RCSID("$Id: builtin_functions.c,v 1.168 1999/05/02 08:11:32 hubbe Exp $"); #include "cyclic.h" #include "signal_handler.h" #include "security.h" +#include "builtin_functions.h" #ifdef HAVE_POLL #ifdef HAVE_POLL_H @@ -67,7 +68,11 @@ void f_equal(INT32 args) push_int(i); } +#ifdef DEBUG_MALLOC +void _f_aggregate(INT32 args) +#else void f_aggregate(INT32 args) +#endif { struct array *a; #ifdef PIKE_DEBUG @@ -3972,7 +3977,11 @@ void init_builtin_efuns(void) ADD_EFUN("add_constant",f_add_constant,tFunc(tStr tOr(tVoid,tMix),tVoid),OPT_SIDE_EFFECT); /* function(0=mixed ...:array(0)) */ +#ifdef DEBUG_MALLOC + ADD_EFUN("aggregate",_f_aggregate,tFuncV(,tSetvar(0,tMix),tArr(tVar(0))),OPT_TRY_OPTIMIZE); +#else ADD_EFUN("aggregate",f_aggregate,tFuncV(,tSetvar(0,tMix),tArr(tVar(0))),OPT_TRY_OPTIMIZE); +#endif /* function(0=mixed ...:multiset(0)) */ ADD_EFUN("aggregate_multiset",f_aggregate_multiset,tFuncV(,tSetvar(0,tMix),tSet(tVar(0))),OPT_TRY_OPTIMIZE); diff --git a/src/builtin_functions.h b/src/builtin_functions.h index 52ce5ff056..a3c0970a1b 100644 --- a/src/builtin_functions.h +++ b/src/builtin_functions.h @@ -5,7 +5,7 @@ \*/ /* - * $Id: builtin_functions.h,v 1.8 1998/12/16 07:49:34 hubbe Exp $ + * $Id: builtin_functions.h,v 1.9 1999/05/11 18:56:34 mirar Exp $ */ #ifndef BUILTIN_EFUNS_H #define BUILTIN_EFUNS_H @@ -15,8 +15,14 @@ #include "callback.h" /* Prototypes begin here */ -void f_equal(INT32 args); +#ifdef DEBUG_MALLOC +void _f_aggregate(INT32 args); +#define f_aggregate(X) do { _f_aggregate(X); debug_malloc_touch(sp[-1].u.refs); } while (0) +#else void f_aggregate(INT32 args); +#endif + +void f_equal(INT32 args); void f_trace(INT32 args); void f_hash(INT32 args); void f_copy_value(INT32 args); -- GitLab