-
-
Notifications
You must be signed in to change notification settings - Fork 35.4k
Comparing changes
Open a pull request
base repository: python/cpython
base: main
head repository: stratakis/cpython
compare: trampoline_bootstrap
- 9 commits
- 14 files changed
- 1 contributor
Commits on Sep 11, 2026
-
gh-149800: Add CFI directives to the perf trampoline assembly
Let the assembler emit an .eh_frame for the trampoline, matching the frame layout jit_unwind.c describes.
Configuration menu - View commit details
-
Copy full SHA for 30241aa - Browse repository at this point
Copy the full SHA 30241aaView commit details -
Configuration menu - View commit details
-
Copy full SHA for 4439b52 - Browse repository at this point
Copy the full SHA 4439b52View commit details -
gh-149800: Generate the perf trampoline .eh_frame from the compiled a…
…ssembly Extract the .eh_frame the assembler emits for the trampoline object at build time into trampoline_ehframe.h and patch only the FDE address fields at runtime. Building with the perf trampoline now needs a host Python, and configure disables the trampoline with a warning when none is usable.
Configuration menu - View commit details
-
Copy full SHA for b63f0d1 - Browse repository at this point
Copy the full SHA b63f0d1View commit details -
gh-149800: Test the generated perf trampoline unwind data
Check the FDEs in jitdump files against their code load records, cover the generator's parsers, and validate the header structure from C.
Configuration menu - View commit details
-
Copy full SHA for 5534711 - Browse repository at this point
Copy the full SHA 5534711View commit details -
Configuration menu - View commit details
-
Copy full SHA for 0f6b805 - Browse repository at this point
Copy the full SHA 0f6b805View commit details -
gh-149800: Add pycore_jit_unwind.h to PYTHON_HEADERS
Objects including it did not rebuild when the header changed.
Configuration menu - View commit details
-
Copy full SHA for 5323dbe - Browse repository at this point
Copy the full SHA 5323dbeView commit details -
gh-149800: Drop the struct module from the trampoline unwind generator
_bootstrap_python cannot load shared extension modules such as _struct. Read the ELF and Mach-O fields with int.from_bytes and reject reads past the end of the file.
Configuration menu - View commit details
-
Copy full SHA for dcf3643 - Browse repository at this point
Copy the full SHA dcf3643View commit details -
gh-149800: Generate the perf trampoline unwind data with _bootstrap_p…
…ython Emit the trampoline's .eh_frame as a C file linked like Python/frozen.o, outside the objects the bootstrap programs link, which define an empty stub instead. A default build no longer needs a host Python for the perf trampoline, so configure stops probing for one.
Configuration menu - View commit details
-
Copy full SHA for 0f3f47a - Browse repository at this point
Copy the full SHA 0f3f47aView commit details
Commits on Sep 12, 2026
-
Configuration menu - View commit details
-
Copy full SHA for 6d9f194 - Browse repository at this point
Copy the full SHA 6d9f194View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff main...trampoline_bootstrap