Branch: Tag:

2002-11-23

2002-11-23 16:38:54 by Henrik Grubbström (Grubba) <grubba@grubba.org>

More valgrind support.

Rev: src/interpret.h:1.117

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.116 2002/11/23 14:43:12 mast Exp $ + || $Id: interpret.h,v 1.117 2002/11/23 16:38:54 grubba Exp $   */      #ifndef INTERPRET_H
51:   struct pike_frame   {    INT32 refs; /* must be first */ -  INT32 args; -  unsigned INT16 fun; -  INT16 num_locals; -  INT16 num_args; -  unsigned INT16 flags; +  INT32 args; /* Actual number of arguments. */ +  unsigned INT16 fun; /* Function number. */ +  INT16 num_locals; /* Number of local variables. */ +  INT16 num_args; /* Number of argument variables. */ +  unsigned INT16 flags; /* PIKE_FRAME_* */    INT16 ident;    struct pike_frame *next;    struct pike_frame *scope; -  PIKE_OPCODE_T *pc; -  struct svalue *locals; +  PIKE_OPCODE_T *pc; /* Program counter of last/next opcode. */ +  struct svalue *locals; /* Start of local variables. */       /* This is <= locals, and this is where the    * return value should go.
182:   #define STACK_LEVEL_CHECK(depth)   #endif /* PIKE_DEBUG */    - #define pop_stack() do{ free_svalue(--Pike_sp); debug_check_stack(); }while(0) + #define pop_stack() do{ free_svalue(--Pike_sp); debug_check_stack(); PIKE_MEM_WO(Pike_sp, sizeof(*Pike_sp)); }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(Pike_sp, x_*sizeof(*Pike_sp)); \    } } while (0)      #define stack_pop_n_elems_keep_top(X) \
253:    Pike_sp=s_; \   }while(0)    - #define stack_pop_to_no_free(X) (*(X)=*--Pike_sp) + #define stack_pop_to_no_free(X) do { *(X)=*--Pike_sp; PIKE_MEM_WO(Pike_sp, sizeof(*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