1
0
Fork 0

slightly optimize context destruction

This commit is contained in:
jsteemann 2017-05-22 15:57:08 +02:00
parent ae75259542
commit bdac806e49
1 changed files with 8 additions and 2 deletions

View File

@ -176,13 +176,19 @@ v8::Isolate* V8PlatformFeature::createIsolate() {
isolate->AddGCEpilogueCallback(gcEpilogueCallback);
auto data = std::make_unique<IsolateData>();
isolate->SetData(V8_INFO, data.get());
{
MUTEX_LOCKER(guard, _lock);
_isolateData.emplace(isolate, std::move(data));
try {
_isolateData.emplace(isolate, std::move(data));
} catch (...) {
isolate->SetData(V8_INFO, nullptr);
isolate->Dispose();
throw;
}
}
isolate->SetData(V8_INFO, _isolateData.back().get());
return isolate;
}