inline lookup_replace_object() calls
authorJunio C Hamano <gitster@pobox.com>
Sun, 15 May 2011 19:54:53 +0000 (12:54 -0700)
committerJunio C Hamano <gitster@pobox.com>
Sun, 15 May 2011 22:23:33 +0000 (15:23 -0700)
commite1111cef23cef1d48e9e7f222db87d58c1d51ece
tree81bad41c6310ed76a63934a68ffbcbce7fdc771b
parent4bbf5a2615420ac50c696b72dc303727e6218562
inline lookup_replace_object() calls

In a repository without object replacement, lookup_replace_object() should
be a no-op. Check the flag "read_replace_refs" on the side of the caller,
and bypess a function call when we know we are not dealing with replacement.

Also, even when we are set up to replace objects, if we do not find any
replacement defined, flip that flag off to avoid function call overhead
for all the later object accesses.

As this change the semantics of the flag from "do we need read the
replacement definition?" to "do we need to check with the lookup table?"
the flag needs to be renamed later to something saner, e.g. "use_replace",
when the codebase is calmer, but not now.

Signed-off-by: Junio C Hamano <gitster@pobox.com>
cache.h
environment.c
replace_object.c