Circle has a cooperative scheduler and the task switch is implemented as a subroutine, so the procedure call rules apply. According to the Procedure Call Standard for AArch64 only x16-x30 and d8-d15 have to be saved by the callee, the other registers by the caller of a subroutine. So for performance reasons it is not necessary to save the other registers.Hello, I was wondering if anyone could explain why the Circle OS only saves only x16-x30 and likewise d8-d15?
Statistics: Posted by rst — Tue Oct 01, 2024 9:29 am