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.167 2006/03/17 18:01:07 grubba Exp $ + || $Id: interpret.h,v 1.168 2006/03/25 16:31:59 grubba Exp $   */      #ifndef INTERPRET_H   #define INTERPRET_H      #include "global.h"   #include "program.h"   #include "pike_error.h"   #include "object.h"   #include "pike_rusage.h"
pike.git/src/interpret.h:147:   PMOD_EXPORT extern const char Pike_check_mark_stack_errmsg[];      #define check_mark_stack(X) do { \    if(Pike_mark_sp - Pike_interpreter.mark_stack + (X) >= Pike_stack_size) \    ((void (*)(const char*, ...))Pike_error)(Pike_check_mark_stack_errmsg); \    }while(0)      PMOD_EXPORT extern const char Pike_check_c_stack_errmsg[];      #define check_c_stack(X) do { \ -  ptrdiff_t x_= ((char *)&x_) + \ -  STACK_DIRECTION * (Pike_interpreter.c_stack_margin + (X)) - \ -  Pike_interpreter.stack_top ; \ +  ptrdiff_t x_= (((char *)&x_) - Pike_interpreter.stack_top) + \ +  STACK_DIRECTION * (Pike_interpreter.c_stack_margin + (X)); \    x_*=STACK_DIRECTION; \ -  if(x_>0) \ +  if(x_>0) { \    low_error(Pike_check_c_stack_errmsg); \ -  +  /* Pike_fatal("C stack overflow: x_:%p &x_:%p top:%p margin:%p\n", \ +  x_, &x_, Pike_interpreter.stack_top, \ +  Pike_interpreter.c_stack_margin + (X)); */ \ +  } \    }while(0)      #define fatal_check_c_stack(X) do { \    ptrdiff_t x_= \    ((char *)&x_) + STACK_DIRECTION * (X) - Pike_interpreter.stack_top ; \    x_*=STACK_DIRECTION; \    if(x_>0) { \    ((void (*)(const char*, ...))Pike_fatal)(Pike_check_c_stack_errmsg); \    } \    }while(0)