Return-Path: Delivered-To: apmail-incubator-harmony-dev-archive@www.apache.org Received: (qmail 36892 invoked from network); 26 Oct 2006 00:20:20 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 26 Oct 2006 00:20:18 -0000 Received: (qmail 25859 invoked by uid 500); 25 Oct 2006 13:07:02 -0000 Delivered-To: apmail-incubator-harmony-dev-archive@incubator.apache.org Received: (qmail 25638 invoked by uid 500); 25 Oct 2006 13:07:01 -0000 Mailing-List: contact harmony-dev-help@incubator.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: harmony-dev@incubator.apache.org Delivered-To: mailing list harmony-dev@incubator.apache.org Received: (qmail 25629 invoked by uid 99); 25 Oct 2006 13:07:01 -0000 Received: from herse.apache.org (HELO herse.apache.org) (140.211.11.133) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Oct 2006 06:07:01 -0700 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (herse.apache.org: domain of gcjhd-harmony-dev@m.gmane.org designates 80.91.229.2 as permitted sender) Received: from [80.91.229.2] (HELO ciao.gmane.org) (80.91.229.2) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 25 Oct 2006 06:06:49 -0700 Received: from list by ciao.gmane.org with local (Exim 4.43) id 1GciSY-0002AJ-Gi for harmony-dev@incubator.apache.org; Wed, 25 Oct 2006 15:06:18 +0200 Received: from msfwpr01.ims.intel.com ([62.118.80.132]) by main.gmane.org with esmtp (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 25 Oct 2006 15:06:18 +0200 Received: from Salikh.Zakirov by msfwpr01.ims.intel.com with local (Gmexim 0.1 (Debian)) id 1AlnuQ-0007hv-00 for ; Wed, 25 Oct 2006 15:06:18 +0200 X-Injected-Via-Gmane: http://gmane.org/ To: harmony-dev@incubator.apache.org From: Salikh Zakirov Subject: Re: [drlvm][gc] TLS access from GC: a proposal to refactor the code Date: Wed, 25 Oct 2006 17:05:45 +0400 Lines: 23 Message-ID: References: <9623c9a50610250043t5f79502dqab09b92d42b2f86f@mail.gmail.com> <9623c9a50610250110k4441eadey986ca5b5782f0ef3@mail.gmail.com> <9623c9a50610250135r5ff69879w248b9fd41e5076e7@mail.gmail.com> <12385bbd0610250204l4222290fxe0b019a68df5a168@mail.gmail.com> <9623c9a50610250227u67e88595q616fe40bcc3cd99a@mail.gmail.com> <12385bbd0610250448o1e480ed3w6acf6b1a9702f8f3@mail.gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Complaints-To: usenet@sea.gmane.org X-Gmane-NNTP-Posting-Host: msfwpr01.ims.intel.com User-Agent: Thunderbird 1.5.0.7 (Windows/20060909) In-Reply-To: Sender: news X-Virus-Checked: Checked by ClamAV on apache.org 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.