Function pointers are not always just a pointer to the instruction
Function pointers are not always just a pointer to the instruction
Posted Jul 23, 2025 9:45 UTC (Wed) by farnz (subscriber, #17727)In reply to: Function pointers are not always just a pointer to the instruction by anton
Parent article: Following up on the Python JIT
The mode stuff on ARM applies to all processors that have both T32 and A32 modes. See the BX instruction. If you're jumping to a register (absolute address), not to an inline offset, the bottom bit determines whether the destination is T32 or A32 code.
This happens to not be a problem for jumps to intentionally generated machine code, because T32 instructions must be 16-bit aligned, and A32 instructions must be 32-bit aligned.