Skip to content

The JIT doesn't call for combine_symbol_mask on the initial trampoline for a trace #125911

Closed
@brandtbucher

Description

@brandtbucher

Crash report

_PyJIT_Compile doesn't consider the initial (big) trampoline "group" when collecting the (little) trampolines needed to compile a given trace.

This doesn't break anything right now, since we don't have the initial "big" trampoline on AArch64, and only emit the "little" trampolines on AArch64. But with the immenent move to LLVM 19, this is breaking stuff.

Also, our use of the term "trampoline" here is overloaded. Let's call the big trampoline a "shim" from here on out. We can rename trampoline.c to shim.c and update all of the references to the old name to make it more clear. That should wait until after GH-125499 though, to reduce the amount of conflicts.

CC @diegorusso and @savannahostrowski. Either one of you want to take this?

Linked PRs

Metadata

Metadata

Labels

3.14bugs and security fixesinterpreter-core(Objects, Python, Grammar, and Parser dirs)topic-JITtype-crashA hard crash of the interpreter, possibly with a core dump

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions