mirror of
https://github.com/freebsd/freebsd-src
synced 2024-10-15 04:43:53 +00:00
Optimize set_syscall_retval for riscv by predicting the return
value to be zero. Reviewed by: mhorne, kp MFC after: 2 weeks Sponsored by: EPSRC Differential Revision: https://reviews.freebsd.org/D26990
This commit is contained in:
parent
e3c51151a0
commit
b1497fb649
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=367138
|
@ -132,12 +132,14 @@ cpu_set_syscall_retval(struct thread *td, int error)
|
|||
|
||||
frame = td->td_frame;
|
||||
|
||||
switch (error) {
|
||||
case 0:
|
||||
if (__predict_true(error == 0)) {
|
||||
frame->tf_a[0] = td->td_retval[0];
|
||||
frame->tf_a[1] = td->td_retval[1];
|
||||
frame->tf_t[0] = 0; /* syscall succeeded */
|
||||
break;
|
||||
return;
|
||||
}
|
||||
|
||||
switch (error) {
|
||||
case ERESTART:
|
||||
frame->tf_sepc -= 4; /* prev instruction */
|
||||
break;
|
||||
|
|
Loading…
Reference in a new issue