Am Sonntag, 22. April 2007 14:40 schrieb Patrick Rutkowski: > Ok, so I see now that reg_alloc is rounded up to a multiple of 8 by > the following two lines: > > /*code*/ const int slot = (reg_alloc + 7) >> 3; > /*code*/ reg_alloc = slot << 3; > > However, this still begs the question of what the slot variable is > for. Clearly it's being used as an index into > interp->ctx_mem.free_list; but its value, which is always set to > reg_alloc/8, seems to me to be rather arbitrary (either that or it has > some meaning but I just don't know any better).
Alloc size slot 0, 4 0 8, 12 1 16, 20 2 ... (As this is for registers, the sizes are not more fine grained). That's all. leo