From 9e0879a1cb991e5305e2c226e56ba0080019f828 Mon Sep 17 00:00:00 2001 From: Denys Vlasenko Date: Mon, 18 Jan 2010 06:15:57 +0100 Subject: diff: add NOINLINE function old new delta create_J - 1805 +1805 diffreg 3159 1176 -1983 ------------------------------------------------------------------------------ (add/remove: 1/0 grow/shrink: 0/1 up/down: 1805/-1983) Total: -178 bytes Signed-off-by: Denys Vlasenko --- editors/diff.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) (limited to 'editors/diff.c') diff --git a/editors/diff.c b/editors/diff.c index b89bbc1dc..0c75873b3 100644 --- a/editors/diff.c +++ b/editors/diff.c @@ -409,7 +409,7 @@ static void fetch(FILE_and_pos_t *ft, const off_t *ix, int a, int b, int ch) * assigned dynamically allocated vectors of the offsets of the lines * of the old and new file respectively. These must be freed by the caller. */ -static int *create_J(FILE_and_pos_t ft[2], int nlen[2], off_t *ix[2]) +static NOINLINE int *create_J(FILE_and_pos_t ft[2], int nlen[2], off_t *ix[2]) { int *J, slen[2], *class, *member; struct line *nfile[2], *sfile[2]; @@ -542,8 +542,10 @@ start: tok1 = read_token(&ft[1], tok1); if (((tok0 ^ tok1) & TOK_EMPTY) != 0 /* one is empty (not both) */ - || (!(tok0 & TOK_EMPTY) && TOK2CHAR(tok0) != TOK2CHAR(tok1))) + || (!(tok0 & TOK_EMPTY) && TOK2CHAR(tok0) != TOK2CHAR(tok1)) + ) { J[i] = 0; /* Break the correspondence */ + } } while (!(tok0 & tok1 & TOK_EMPTY)); } } -- cgit v1.2.3