Thread (1 message) 1 message, 1 author, 2016-06-15

Re: ce_stage(..) == 2?

From: Junio C Hamano <hidden>
Date: 2016-06-15 22:48:15

cg [off-list ref] writes:
I  saw some code like:
attr.c(365): if (ce_stage(istate->cache[i]) == 2)
...
rerere.c(352):  if (ce_stage(e2) == 2
...

but there is no 0x200 in cache.h(158):
#define CE_NAMEMASK  (0x0fff)
#define CE_STAGEMASK (0x3000)
#define CE_EXTENDED  (0x4000)
#define CE_VALID     (0x8000)
#define CE_STAGESHIFT 12

so what does "2" mean?
#define ce_stage(ce) ((CE_STAGEMASK & (ce)->ce_flags) >> CE_STAGESHIFT)

0x3000 shifted 12 places is a mask for two bits, as you can have cache
entries at stage 0 (normal), or stage 1/2/3.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help