v8::Persistent<v8::FunctionTemplate> V8TreeWalker::GetTemplate() { V8PerIsolateData* data = V8PerIsolateData::current(); V8PerIsolateData::TemplateMap::iterator result = data->templateMap().find(&info); if (result != data->templateMap().end()) return result->value; v8::HandleScope handleScope; v8::Persistent<v8::FunctionTemplate> templ = ConfigureV8TreeWalkerTemplate(GetRawTemplate()); data->templateMap().add(&info, templ); return templ; }
v8::Persistent<v8::FunctionTemplate> V8TreeWalker::GetTemplate() { static v8::Persistent<v8::FunctionTemplate> V8TreeWalker_cache_ = ConfigureV8TreeWalkerTemplate(GetRawTemplate()); return V8TreeWalker_cache_; }