]> CyberLeo.Net >> Repos - FreeBSD/FreeBSD.git/commit
amd64: annotate the syscall return address check with __predict_false
authorMateusz Guzik <mjg@FreeBSD.org>
Wed, 2 Aug 2017 11:25:38 +0000 (11:25 +0000)
committerMateusz Guzik <mjg@FreeBSD.org>
Wed, 2 Aug 2017 11:25:38 +0000 (11:25 +0000)
commitfd1d4c815987b2eea507502ff189b2278df08479
tree6422d398170b56d61515b4c5f22275858264ce13
parentf2d3f6918eaa7a2821fb8c28833bb084366c99a8
amd64: annotate the syscall return address check with __predict_false

before:
   0xffffffff80b03ebb <+2059>: mov    0x460(%r14),%rax
   0xffffffff80b03ec2 <+2066>: mov    0x98(%rax),%rax
   0xffffffff80b03ec9 <+2073>: shr    $0x2f,%rax
   0xffffffff80b03ecd <+2077>: je     0xffffffff80b03edd <amd64_syscall+2093>
   0xffffffff80b03ecf <+2079>: mov    0x3f8(%r14),%rax
   0xffffffff80b03ed6 <+2086>: orl    $0x1,0xc8(%rax)
   0xffffffff80b03edd <+2093>: add    $0xf8,%rsp

after:
   0xffffffff80b03ebb <+2059>: mov    0x460(%r14),%rax
   0xffffffff80b03ec2 <+2066>: mov    0x98(%rax),%rax
   0xffffffff80b03ec9 <+2073>: shr    $0x2f,%rax
   0xffffffff80b03ecd <+2077>: jne    0xffffffff80b03eef <amd64_syscall+2111>
   0xffffffff80b03ecf <+2079>: add    $0xf8,%rsp

Reviewed by: kib
MFC after: 1 week
sys/amd64/amd64/trap.c