[Seaside-dev] Re: WAContext Refactoring

Dale Henrichs dale.henrichs at gemstone.com
Sun Mar 30 17:04:32 UTC 2008


Lukas Renggli wrote:
>> GemStone does not have thread locals ... I imagine that it won't be too
>>  hard to add, but it will take vm modifications...
>>     
>
> But a process is also an object, isn't it? 
Yes, but we have a hand full of c code that manipulates instances of 
processes, especially when the process is being persisted - special 
needs for persisting blocks and variable contexts.
> Philippe and I had a look
> at the GemStone code and thought that it should be feasible somehow to
> attach additional state to a Smalltalk process. This state doesn't
> have to persist, it just lives as long as a request is handled.
>   
You are right, it shouldn't be a major problem. We have an upcoming 
release (2.3) that will be dedicated to Seaside specific vm changes, so 
this is good timing for knowing about the requirement.

I'll talk to Allen Otis (our VM guy) on Monday to find out if there are 
any gotchas - I don't anticipate any problems, though.
> The reason why we can't use a dynamic variable is because dynamic
> variables are bound to the execution stack and therefor captured and
> restored together with the continuations.
>   
Reducing the cost of continuations is a very good thing and adding 
thread locals to GsProcess is also a good thing.

Dale


More information about the seaside-dev mailing list