For debug build, check that the stack pointer never exceeds the stack size.

This commit is contained in:
Jeremy Hylton 2001-10-17 13:29:30 +00:00
parent 93a569d634
commit 14368158c2
1 changed files with 3 additions and 1 deletions

View File

@ -542,7 +542,9 @@ eval_frame(PyFrameObject *f)
#define BASIC_POP() (*--stack_pointer) #define BASIC_POP() (*--stack_pointer)
#ifdef LLTRACE #ifdef LLTRACE
#define PUSH(v) (void)(BASIC_PUSH(v), lltrace && prtrace(TOP(), "push")) #define PUSH(v) { (void)(BASIC_PUSH(v), \
lltrace && prtrace(TOP(), "push")); \
assert(STACK_LEVEL() <= f->f_stacksize); }
#define POP() ((void)(lltrace && prtrace(TOP(), "pop")), BASIC_POP()) #define POP() ((void)(lltrace && prtrace(TOP(), "pop")), BASIC_POP())
#else #else
#define PUSH(v) BASIC_PUSH(v) #define PUSH(v) BASIC_PUSH(v)