Evgueni Brevnov wrote:
> Hi Guys,
> 
> Just one little note from me... AFAIK Window and Linux have limitation
> on the number of TLS slots which can be allocated for any particular
> thread. I believe here is strong (probably performance) reasons for
> doing so. It can be a problem to implement arbitrary size TLS which
> seems to be required in case we want to allocate memory for keeping
> whole structures in it.

Currently TM provides this service by using just *1* OS-level TLS slot.
The keys are allocated from a hythread_t structure:

thread/src/thread_private.h
   166  typedef struct HyThread {
 
   312      /**
   313       * Array representing thread local storage
   314       */
   315      void *thread_local_storage[10];


So, it seems reasonable to use 3 of them for GC, 1 for VM and 1 for JIT.

Reply via email to