You mean replacing the IsDeadCheck in GetEntered with an EnsureInitializedForIsolate? Sounds sensible and far less hacky than my workaround, I'll try that. Another issue: Jakob pointed out that I use a strange Chrome 12 tag, so I'll re-test with 12.0.742.130...
Thanks for the tip, S. On Thu, Aug 18, 2011 at 17:41, Vitaly Repeshko <[email protected]> wrote: > Sven, can you change the GetEntered implementation to lazily initialize the > isolate like it's done in some other API functions? > > -- Vitaly > On Aug 18, 2011 6:53 PM, "Sven Panne" <[email protected]> wrote: > > I am currently trying to fix an issue where I need the most recent Chrome > 12 > > (12.0.747.0) combined with a recent version of v8's 3.2 branch. I've just > > noticed that revision 3.2.10.34 (the "minimize malloc" patch above) broke > > Chrome 12, resulting in an immediate "Aw snap" tab after startup due to a > > violated assertion in Isolate::handle_scope_implementer(). The problem is > > that Chrome calls Context::GetEntered(), but handle_sope_implementer_ is > > still NULL because of the patch above. > > > > The patch below seems to fix it, but I am not sure if it the right way to > do > > it, especially regarding the 2nd hunk. Could somebody have look at the > issue > > and/or comment on the patch? As it is, v8's 3.2 branch is broken, and we > > need to fix this soon. > > > > Cheers, > > S. > > > > Index: v8/src/isolate.cc > > =================================================================== > > --- v8/src/isolate.cc (revision 8835) > > +++ v8/src/isolate.cc (working copy) > > @@ -320,6 +320,7 @@ > > per_isolate_thread_data_key_ = Thread::CreateThreadLocalKey(); > > thread_data_table_ = new Isolate::ThreadDataTable(); > > default_isolate_ = new Isolate(); > > + default_isolate_->handle_scope_implementer_ = new > > HandleScopeImplementer(); > > } > > // Can't use SetIsolateThreadLocals(default_isolate_, NULL) here > > // becase a non-null thread data may be already set. > > @@ -738,7 +739,9 @@ > > write_input_buffer_ = new StringInputBuffer(); > > global_handles_ = new GlobalHandles(this); > > bootstrapper_ = new Bootstrapper(); > > - handle_scope_implementer_ = new HandleScopeImplementer(); > > + if (!handle_scope_implementer_) { > > + handle_scope_implementer_ = new HandleScopeImplementer(); > > + } > > stub_cache_ = new StubCache(this); > > ast_sentinels_ = new AstSentinels(); > > regexp_stack_ = new RegExpStack(); > > > > > > On Thu, Aug 4, 2011 at 19:26, <[email protected]> wrote: > > > >> LGTM > >> > >> > >> http://codereview.chromium.**org/7575013/< > http://codereview.chromium.org/7575013/> > > >> > >> -- > >> v8-dev mailing list > >> [email protected] > >> http://groups.google.com/**group/v8-dev< > http://groups.google.com/group/v8-dev> > >> > -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev
