Branch: Tag:

2002-11-23

2002-11-23 20:25:49 by Martin Stjernholm <mast@lysator.liu.se>

Removed some memory invalidation since it's already taken care of in
free_svalue et al. Do DMALLOC invalidation in addition to PIKE_MEM_WO
in the remaining case.

Rev: src/interpret.h:1.119

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: interpret.h,v 1.118 2002/11/23 17:42:16 mast Exp $ + || $Id: interpret.h,v 1.119 2002/11/23 20:25:49 mast Exp $   */      #ifndef INTERPRET_H
182:   #define STACK_LEVEL_CHECK(depth)   #endif /* PIKE_DEBUG */    - #define pop_stack() do{ free_svalue(--Pike_sp); debug_check_stack(); PIKE_MEM_WO(*Pike_sp); }while(0) + #define pop_stack() do{ free_svalue(--Pike_sp); debug_check_stack(); }while(0)   #define pop_2_elems() do { pop_stack(); pop_stack(); }while(0)      #ifdef __ECL
197:    check__positive(x_, (msg_pop_neg, x_)); \    Pike_sp -= x_; debug_check_stack(); \    free_mixed_svalues(Pike_sp, x_); \ -  PIKE_MEM_WO_RANGE(Pike_sp, x_*sizeof(*Pike_sp)); \ +     } } while (0)      #define stack_pop_n_elems_keep_top(X) \
254:    Pike_sp=s_; \   }while(0)    - #define stack_pop_to_no_free(X) do { *(X)=*--Pike_sp; PIKE_MEM_WO(*Pike_sp); } while(0) + #define stack_pop_to_no_free(X) do { \ +  *(X)=*--Pike_sp; \ +  DO_IF_DMALLOC(Pike_sp->type=PIKE_T_UNKNOWN; Pike_sp->u.refs=(void *)-1); \ +  PIKE_MEM_WO(*Pike_sp); \ +  } while(0)   #define stack_pop_to(X) do { struct svalue *_=(X); free_svalue(_); stack_pop_to_no_free(_); }while(0)      /* This pops a number of arguments from the stack but keeps the top