amd64: stop re-reading curpc on subyte/suword
Originally read value is still safely kept. Re-reading code was there for previous iterations which were partially shared with i386. Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
18519f1583
commit
3c76ace36b
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=341719
@ -1155,7 +1155,6 @@ ENTRY(suword16_nosmap)
|
|||||||
|
|
||||||
movw %si,(%rdi)
|
movw %si,(%rdi)
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
movq PCPU(CURPCB),%rcx /* restore trashed register */
|
|
||||||
movq %rax,PCB_ONFAULT(%rcx)
|
movq %rax,PCB_ONFAULT(%rcx)
|
||||||
POP_FRAME_POINTER
|
POP_FRAME_POINTER
|
||||||
ret
|
ret
|
||||||
@ -1174,7 +1173,6 @@ ENTRY(suword16_smap)
|
|||||||
movw %si,(%rdi)
|
movw %si,(%rdi)
|
||||||
clac
|
clac
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
movq PCPU(CURPCB),%rcx /* restore trashed register */
|
|
||||||
movq %rax,PCB_ONFAULT(%rcx)
|
movq %rax,PCB_ONFAULT(%rcx)
|
||||||
POP_FRAME_POINTER
|
POP_FRAME_POINTER
|
||||||
ret
|
ret
|
||||||
@ -1192,7 +1190,6 @@ ENTRY(subyte_nosmap)
|
|||||||
movl %esi,%eax
|
movl %esi,%eax
|
||||||
movb %al,(%rdi)
|
movb %al,(%rdi)
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
movq PCPU(CURPCB),%rcx /* restore trashed register */
|
|
||||||
movq %rax,PCB_ONFAULT(%rcx)
|
movq %rax,PCB_ONFAULT(%rcx)
|
||||||
POP_FRAME_POINTER
|
POP_FRAME_POINTER
|
||||||
ret
|
ret
|
||||||
@ -1212,7 +1209,6 @@ ENTRY(subyte_smap)
|
|||||||
movb %al,(%rdi)
|
movb %al,(%rdi)
|
||||||
clac
|
clac
|
||||||
xorl %eax,%eax
|
xorl %eax,%eax
|
||||||
movq PCPU(CURPCB),%rcx /* restore trashed register */
|
|
||||||
movq %rax,PCB_ONFAULT(%rcx)
|
movq %rax,PCB_ONFAULT(%rcx)
|
||||||
POP_FRAME_POINTER
|
POP_FRAME_POINTER
|
||||||
ret
|
ret
|
||||||
|
Loading…
Reference in New Issue
Block a user