summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBenjamin Peterson <benjamin@python.org>2009-06-28 16:08:02 (GMT)
committerBenjamin Peterson <benjamin@python.org>2009-06-28 16:08:02 (GMT)
commitb8338ab92c8902f020cc2e052866bf6f8ae30ee1 (patch)
treeec5a4de828d5071d006e82a62a3abff9dca48118
parent741e6998f80d8ee90a23159788a86fcdce443224 (diff)
downloadcpython-b8338ab92c8902f020cc2e052866bf6f8ae30ee1.zip
cpython-b8338ab92c8902f020cc2e052866bf6f8ae30ee1.tar.gz
cpython-b8338ab92c8902f020cc2e052866bf6f8ae30ee1.tar.bz2
add two generic macros for peeking and setting in the stack
-rw-r--r--Python/ceval.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Python/ceval.c b/Python/ceval.c
index dd91f5d..8f46404 100644
--- a/Python/ceval.c
+++ b/Python/ceval.c
@@ -803,10 +803,12 @@ PyEval_EvalFrameEx(PyFrameObject *f, int throwflag)
#define SECOND() (stack_pointer[-2])
#define THIRD() (stack_pointer[-3])
#define FOURTH() (stack_pointer[-4])
+#define PEEK(n) (stack_pointer[-(n)])
#define SET_TOP(v) (stack_pointer[-1] = (v))
#define SET_SECOND(v) (stack_pointer[-2] = (v))
#define SET_THIRD(v) (stack_pointer[-3] = (v))
#define SET_FOURTH(v) (stack_pointer[-4] = (v))
+#define SET_VALUE(n, v) (stack_pointer[-(n)] = (v))
#define BASIC_STACKADJ(n) (stack_pointer += n)
#define BASIC_PUSH(v) (*stack_pointer++ = (v))
#define BASIC_POP() (*--stack_pointer)