Revisions applied. Thanks for the feedback.
http://codereview.chromium.org/2715004/diff/36002/42006 File src/execution.cc (right): http://codereview.chromium.org/2715004/diff/36002/42006#newcode46 src/execution.cc:46: // ClearThreadLocal(&thread_local_) is called by Isolate once it is safe. On 2010/06/09 18:48:54, Vitaly wrote:
Looks really unfortunate. I think it should be safe provided Heap is
initialized
before StackGuard.
StackGuard is inlined in Isolate. The global_isolate pointer is not initialized until ::PreInit is called, which happens after the Isolate is constructed. 'it is safe' means that the isolate under construction is inside global_isolate. Removing the SetStackLimits() side-effect from Clear()/Initialize() makes this behavior explicit. http://codereview.chromium.org/2715004/diff/36002/42006#newcode336 src/execution.cc:336: ClearThreadLocal(&blank); On 2010/06/09 18:48:54, Vitaly wrote:
Can we decouple clearing the thread local from setting limits in the
isolate?
The current situation looks too complicated and the comment describing
its
previous state doesn't really help.
Yes-- I agree with doing this. In the CL I was trying to avoid changing semantics where possible, hence the ugliness. I'll split out the limit call from calls to the ctor. http://codereview.chromium.org/2715004/show -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
