[git commit master] diff: add NOINLINE

Denys Vlasenko vda.linux at googlemail.com
Mon Jan 18 05:15:57 UTC 2010


commit: http://git.busybox.net/busybox/commit/?id=9e0879a1cb991e5305e2c226e56ba0080019f828
branch: http://git.busybox.net/busybox/commit/?id=refs/heads/master

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 <vda.linux at googlemail.com>
---
 editors/diff.c |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/editors/diff.c b/editors/diff.c
index b89bbc1..0c75873 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));
 		}
 	}
-- 
1.6.3.3



More information about the busybox-cvs mailing list