There are a series of incremental improvements that we could implement when generating AArch64 code:
// 0000000000000140: R_AARCH64_MOVW_UABS_G0_NC PyObject_Free
// 144: f2a00008 movk x8, #0x0, lsl #16
// 0000000000000144: R_AARCH64_MOVW_UABS_G1_NC PyObject_Free
// 148: f2c00008 movk x8, #0x0, lsl #32
// 0000000000000148: R_AARCH64_MOVW_UABS_G2_NC PyObject_Free
// 14c: f2e00008 movk x8, #0x0, lsl #48
// 000000000000014c: R_AARCH64_MOVW_UABS_G3 PyObject_Free
// 150: d61f0100 br x8
// 154: 00 00 00 00
// 158: d2800008 mov x8, #0x0
// 0000000000000158: R_AARCH64_MOVW_UABS_G0_NC PyObject_Free
// 15c: f2a00008 movk x8, #0x0, lsl #16
// 000000000000015c: R_AARCH64_MOVW_UABS_G1_NC PyObject_Free
// 160: f2c00008 movk x8, #0x0, lsl #32
// 0000000000000160: R_AARCH64_MOVW_UABS_G2_NC PyObject_Free
// 164: f2e00008 movk x8, #0x0, lsl #48
// 0000000000000164: R_AARCH64_MOVW_UABS_G3 PyObject_Free
// 168: d61f0100 br x8
This has been discussed broadly at PyCon 2024 in person.
Feature or enhancement
Proposal:
This is really a follow up of #115802 and more focused on the AArch64 improvements of the code generated for the JIT.
This has been discussed with @brandtbucher during PyCon 2024.
There are a series of incremental improvements that we could implement when generating AArch64 code:
Has this already been discussed elsewhere?
I have already discussed this feature proposal on Discourse
Links to previous discussion of this feature:
This has been discussed broadly at PyCon 2024 in person.
Linked PRs