diff options
author | Mark Shannon <mark@hotpy.org> | 2024-06-25 15:42:29 (GMT) |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-06-25 15:42:29 (GMT) |
commit | 8f5a01707f27a015b52b7b55af058f8833f8f7db (patch) | |
tree | 7f29c5e82fbfd85e4b1976fc0288a406256dd1cd /Python/optimizer_analysis.c | |
parent | 42b2c9d78da7ebd6bd5925a4d4c78aec3c9e78e6 (diff) | |
download | cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.zip cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.tar.gz cpython-8f5a01707f27a015b52b7b55af058f8833f8f7db.tar.bz2 |
GH-120982: Add stack check assertions to generated interpreter code (GH-120992)
Diffstat (limited to 'Python/optimizer_analysis.c')
-rw-r--r-- | Python/optimizer_analysis.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Python/optimizer_analysis.c b/Python/optimizer_analysis.c index 0e45bd8..bbddbc8 100644 --- a/Python/optimizer_analysis.c +++ b/Python/optimizer_analysis.c @@ -301,6 +301,11 @@ remove_globals(_PyInterpreterFrame *frame, _PyUOpInstruction *buffer, #define STACK_LEVEL() ((int)(stack_pointer - ctx->frame->stack)) +#define STACK_SIZE() ((int)(ctx->frame->stack_len)) + +#define WITHIN_STACK_BOUNDS() \ + (STACK_LEVEL() >= 0 && STACK_LEVEL() <= STACK_SIZE()) + #define GETLOCAL(idx) ((ctx->frame->locals[idx])) |