Sure, the limitation exists. We can broke it even with older interfaces, but now we have quite pessimistic approach and don't use even a quarter of it. I do not suggest to keep everything there, just the most performance critical fields. With that interface we have much flexibility there and can do fine tuning for better performance. -- Ivan
On 10/25/06, Evgueni Brevnov <[EMAIL PROTECTED]> 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. Thanks Evgueni On 10/25/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote: > Well, AFAIU this part of Mikhail's proposal is not mandatory for all > GCs. You can use original interface functions for GCv5: malloc GC TLS > structure and install only one pointer into TLS. > > The only thing we need to change is to make GC to access and allocate > its data by itself (for greater modularity). > -- > Ivan > > On 10/25/06, Xiao-Feng Li <[EMAIL PROTECTED]> wrote: > > Yes, this can be an optimization. > > > > I am not very sure if we can get obvious performance improvement with > > this. I am usually conservative with interface change. :-) Since > > neither Windows nor Linux provides this kind of native support, I am > > guessing they have their rationality. > > > > We probably want to delay this optimization in TM until we have > > evidance for it, since what Mikhail wants is just to inline GC tls > > data access easily. > > > > Thanks, > > xiaofeng > > > > On 10/25/06, Ivan Volosyuk <[EMAIL PROTECTED]> wrote: > > > Xiao-Feng, I think there should be no problem to get this to work. > > > But, I also agree with Mikhail that it could be benefitial to have > > > data directly available in TLS without additional pointer dereference. > > > If we will have corresponding interface function to allocate more then > > > one void pointer at once in TLS it can be used as optimization. > > > -- > > > Ivan