On 10/25/06, Mikhail Fursov <[EMAIL PROTECTED]> wrote:
On 10/25/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote:
>
> Why do we need multiple slots? Can't we use just one slot, which
> stores a pointer to a user data structure (the GC_Thread_Info in this
> case)?
>

Yes you can store a pointer. But in this case you can't tell that you have
constant offset from fs[14] to your data for all threads. So you can't
inline your helper in JIT.

Why? As long as we keep the offset_of_free to the pointer be constant
and known to JIT helper, we only need an additional dereference to get
the "free" value.

We have two constant offsets, one is the pointer (to gc_tls_data)
offset in fs[14], the other is the "free" offset in gc_tls_data.

Thanks,
xiaofeng
--
Mikhail Fursov


Reply via email to