summaryrefslogtreecommitdiffstats
path: root/lib/libc/stdio/getchar.c
diff options
context:
space:
mode:
authorbde <bde@FreeBSD.org>1995-04-21 16:07:12 +0000
committerbde <bde@FreeBSD.org>1995-04-21 16:07:12 +0000
commit05efcad0fb6d46848b976a541f2367049dce01ff (patch)
tree1e2015f5356631325fb3cb4e91de6c570c7f5e26 /lib/libc/stdio/getchar.c
parent135036b6248d06c5fe8f6e6f2d90dbe9d871d582 (diff)
downloadFreeBSD-src-05efcad0fb6d46848b976a541f2367049dce01ff.zip
FreeBSD-src-05efcad0fb6d46848b976a541f2367049dce01ff.tar.gz
Never pass char or short args to functions. This saves 64 bytes of
recently introduced bloat in just 2 calls to biosread(), although very little in calls to putc() and serial_putc(). Gcc produces amazingly bad code for unnecessary conversions. E.g., if it has `int x' in register %edx and wants to pass a char, then it could simply push %edx and access only one byte in the callee. Instead, it sometimes unnecessarily spills %edx; it always sign extends %edx and pushes the result. Remove useless `extern' in function prototypes. Remove unused declaration of `end'. Declare pbzero() and pcpy() like the library bzero and bcopy(). Declare printf() properly.
Diffstat (limited to 'lib/libc/stdio/getchar.c')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud