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                 

Reply via email to