Skip to content

gh-119726: generate and patch AArch64 trampolines #123872

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Conversation

diegorusso
Copy link
Contributor

@diegorusso diegorusso commented Sep 9, 2024

AArch64 trampolines are now generated at runtime at the end of every trace.

@diegorusso diegorusso marked this pull request as draft September 9, 2024 16:16
@diegorusso diegorusso force-pushed the gh-119726-generate-and-patch-AArch64-trampolines branch 2 times, most recently from a7a04fc to 8cbca05 Compare September 10, 2024 15:37
@brandtbucher brandtbucher self-assigned this Sep 18, 2024
@brandtbucher brandtbucher added performance Performance or resource usage interpreter-core (Objects, Python, Grammar, and Parser dirs) topic-JIT labels Sep 18, 2024
Copy link
Member

@brandtbucher brandtbucher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is great! I'd like to see this mechanism used across all platforms for symbols in the "global offset table" too (but that can be a separate project).

It's a clear improvement for the affected platforms:

Here's an initial review of the Python code. I'll dig into the C code tomorrow.

@diegorusso
Copy link
Contributor Author

It's a clear improvement for the affected platforms:

Well better than nothing :)

@diegorusso diegorusso force-pushed the gh-119726-generate-and-patch-AArch64-trampolines branch 2 times, most recently from 7bdf9f0 to ffd74bd Compare September 19, 2024 16:37
@diegorusso diegorusso marked this pull request as ready for review September 19, 2024 16:41
@diegorusso diegorusso force-pushed the gh-119726-generate-and-patch-AArch64-trampolines branch from f523e6a to 43c6f98 Compare September 26, 2024 13:36
Copy link
Member

@brandtbucher brandtbucher left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your patience! This is looking really good.

A few thoughts I had reading the C code:

@diegorusso diegorusso force-pushed the gh-119726-generate-and-patch-AArch64-trampolines branch from 94a2c1e to bf3b14f Compare September 30, 2024 12:39
@diegorusso diegorusso force-pushed the gh-119726-generate-and-patch-AArch64-trampolines branch from ca75436 to 6723f87 Compare October 2, 2024 10:18
@brandtbucher brandtbucher merged commit b85923a into python:main Oct 2, 2024
65 checks passed
@brandtbucher
Copy link
Member

Thanks!

@diegorusso diegorusso deleted the gh-119726-generate-and-patch-AArch64-trampolines branch October 3, 2024 08:46
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
interpreter-core (Objects, Python, Grammar, and Parser dirs) performance Performance or resource usage topic-JIT
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants