optimize hot paths of putc with manual shrink-wrapping

this is the analog of commit dd8f02b7dc,
but for putc.
This commit is contained in:
Rich Felker
2018-10-17 23:38:29 -04:00
parent dd8f02b7dc
commit d664061adb
3 changed files with 8 additions and 13 deletions
+3 -6
View File
@@ -1,10 +1,7 @@
#include "stdio_impl.h"
#include <stdio.h>
#include "putc.h"
int fputc(int c, FILE *f)
{
if (f->lock < 0 || !__lockfile(f))
return putc_unlocked(c, f);
c = putc_unlocked(c, f);
__unlockfile(f);
return c;
return do_putc(c, f);
}
+3 -6
View File
@@ -1,12 +1,9 @@
#include "stdio_impl.h"
#include <stdio.h>
#include "putc.h"
int putc(int c, FILE *f)
{
if (f->lock < 0 || !__lockfile(f))
return putc_unlocked(c, f);
c = putc_unlocked(c, f);
__unlockfile(f);
return c;
return do_putc(c, f);
}
weak_alias(putc, _IO_putc);
+2 -1
View File
@@ -1,6 +1,7 @@
#include <stdio.h>
#include "putc.h"
int putchar(int c)
{
return fputc(c, stdout);
return do_putc(c, stdout);
}