Lines Matching refs:impl_
90 : impl_(new Impl()) {
94 impl_->platform = platform;
95 uv_loop_t* loop = &impl_->loop;
106 impl_->allocator = ArrayBufferAllocator::Create();
107 impl_->isolate = NewIsolate(impl_->allocator, &impl_->loop, platform);
108 Isolate* isolate = impl_->isolate;
123 impl_->isolate_data.reset(CreateIsolateData(
124 isolate, loop, platform, impl_->allocator.get()));
127 impl_->context.Reset(isolate, context);
134 impl_->env.reset(make_env(this));
139 if (impl_->isolate != nullptr) {
140 Isolate* isolate = impl_->isolate;
145 impl_->context.Reset();
146 impl_->env.reset();
147 impl_->isolate_data.reset();
151 impl_->platform->AddIsolateFinishedCallback(isolate, [](void* data) {
154 impl_->platform->UnregisterIsolate(isolate);
159 uv_run(&impl_->loop, UV_RUN_ONCE);
162 if (impl_->isolate || impl_->loop.data != nullptr)
163 CheckedUvLoopClose(&impl_->loop);
165 delete impl_;
170 return &impl_->loop;
175 return impl_->allocator;
179 return impl_->isolate;
183 return impl_->isolate_data.get();
187 return impl_->env.get();
191 return impl_->context.Get(impl_->isolate);