Just my $0.02:
Actually VM_thread contains thread-local data. The VM_thread is a thread
local data by itself. HyThread keeps a pointer to it, so VM_thread is always
accessed from HyThread.
Some of the components, e.g. GCv4 and GCv5, keeps all thread local data in
VM_thread, but others JIT, GC_CC use more up to date method and request TLS
slots directly from TM.
Today we are in a transition from the old model when all TLS data was stored
in VM_thread to the new model - when every component requests TLS slots
independently from TM
On 10/30/06, Nikolay Kuznetsov <nikolay.kuznetsov@gmail.com> wrote:
>
> Yes, this data is non threading and separate fields of VM_thread
> structure should be replaced with independent values (data structures)
> stored in TLS under separate keys.
>
> Nik.
>
--
Mikhail Fursov
|