pike.git / src / interpret.h

version» Context lines:

pike.git/src/interpret.h:1:   /*   || 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.140 2003/04/27 15:30:06 mast Exp $ + || $Id: interpret.h,v 1.141 2003/04/27 17:43:15 mast Exp $   */      #ifndef INTERPRET_H   #define INTERPRET_H      #include "global.h"   #include "program.h"   #include "pike_error.h"   #include "bignum.h"   
pike.git/src/interpret.h:218:      #define stack_pop_n_elems_keep_top(X) stack_unlink(X)      #define stack_pop_keep_top() do { \    struct svalue *_sp_ = --Pike_sp; \    free_svalue (_sp_ - 1); \    move_svalue (_sp_ - 1, _sp_); \    debug_check_stack(); \    } while (0)    + #define stack_pop_2_elems_keep_top() do { \ +  struct svalue *_sp_ = Pike_sp = Pike_sp - 2; \ +  free_svalue (_sp_ - 1); \ +  free_svalue (_sp_); \ +  move_svalue (_sp_ - 1, _sp_ + 1); \ +  debug_check_stack(); \ +  } while (0) +    #define stack_pop_to_no_free(X) move_svalue(X, --Pike_sp)      #define stack_pop_to(X) do { \    struct svalue *_=(X); \    free_svalue(_); \    stack_pop_to_no_free(_); \    }while(0)      #define push_program(P) do{ \    struct program *_=(P); \