Page MenuHomeFreeBSD

Optimize set_syscall_retval for arm64
ClosedPublic

Authored by trasz on Oct 28 2020, 7:44 PM.
Tags
None
Referenced Files
Unknown Object (File)
Thu, Apr 18, 11:51 PM
Unknown Object (File)
Feb 27 2024, 10:37 PM
Unknown Object (File)
Feb 8 2024, 2:27 AM
Unknown Object (File)
Jan 8 2024, 4:24 AM
Unknown Object (File)
Dec 22 2023, 9:43 PM
Unknown Object (File)
Dec 17 2023, 11:46 PM
Unknown Object (File)
Dec 12 2023, 11:18 AM
Unknown Object (File)
Nov 17 2023, 10:25 AM

Details

Summary

Optimize set_syscall_retval() for arm64 by predicting the return
value to be zero.

Diff Detail

Repository
rG FreeBSD src repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

trasz requested review of this revision.Oct 28 2020, 7:44 PM

similar to amd64,

if (__predict_true(error == 0)) {
        frame->tf_rax = td->td_retval[0];
        frame->tf_rdx = td->td_retval[1];
        frame->tf_rflags &= ~PSL_C;
        return;
}
emaste added a subscriber: mhorne.

Maybe worth a comment about the microoptimization?

This revision is now accepted and ready to land.Jan 8 2021, 3:37 PM

See also, the analogous commit for riscv: rS367138.

This revision was automatically updated to reflect the committed changes.