summaryrefslogtreecommitdiffstats
path: root/Python/ceval_macros.h
diff options
context:
space:
mode:
authorMark Shannon <mark@hotpy.org>2024-03-26 09:35:11 (GMT)
committerGitHub <noreply@github.com>2024-03-26 09:35:11 (GMT)
commitbf82f77957a31c3731b4ec470c406f5708ca9ba3 (patch)
tree89b5e94311e0ae020754155b243be49607af4bf4 /Python/ceval_macros.h
parent61599a48f52e951d8813877ee311d2a830ba2cd8 (diff)
downloadcpython-bf82f77957a31c3731b4ec470c406f5708ca9ba3.zip
cpython-bf82f77957a31c3731b4ec470c406f5708ca9ba3.tar.gz
cpython-bf82f77957a31c3731b4ec470c406f5708ca9ba3.tar.bz2
GH-116422: Tier2 hot/cold splitting (GH-116813)
Splits the "cold" path, deopts and exits, from the "hot" path, reducing the size of most jitted instructions, at the cost of slower exits.
Diffstat (limited to 'Python/ceval_macros.h')
-rw-r--r--Python/ceval_macros.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/Python/ceval_macros.h b/Python/ceval_macros.h
index 22992aa..f2536ed 100644
--- a/Python/ceval_macros.h
+++ b/Python/ceval_macros.h
@@ -423,3 +423,9 @@ do { \
#define CURRENT_OPARG() (next_uop[-1].oparg)
#define CURRENT_OPERAND() (next_uop[-1].operand)
+
+#define JUMP_TO_JUMP_TARGET() goto jump_to_jump_target
+#define JUMP_TO_ERROR() goto jump_to_error_target
+#define GOTO_UNWIND() goto error_tier_two
+#define EXIT_TO_TRACE() goto exit_to_trace
+#define EXIT_TO_TIER1() goto exit_to_tier1