| Index: Source/bindings/core/v8/V8PerIsolateData.cpp
|
| diff --git a/Source/bindings/core/v8/V8PerIsolateData.cpp b/Source/bindings/core/v8/V8PerIsolateData.cpp
|
| index a1bd8584735efd5763fef1a1ca04355e10248ab8..d5aa45c6d7d8f79c13d732112242c2243266d8d0 100644
|
| --- a/Source/bindings/core/v8/V8PerIsolateData.cpp
|
| +++ b/Source/bindings/core/v8/V8PerIsolateData.cpp
|
| @@ -62,7 +62,8 @@ static void useCounterCallback(v8::Isolate* isolate, v8::Isolate::UseCounterFeat
|
| }
|
|
|
| V8PerIsolateData::V8PerIsolateData()
|
| - : m_isolateHolder(adoptPtr(new gin::IsolateHolder()))
|
| + : m_destructionPending(false)
|
| + , m_isolateHolder(adoptPtr(new gin::IsolateHolder()))
|
| , m_stringCache(adoptPtr(new StringCache(isolate())))
|
| , m_hiddenValue(adoptPtr(new V8HiddenValue()))
|
| , m_constructorMode(ConstructorMode::CreateNewObject)
|
| @@ -122,6 +123,9 @@ void V8PerIsolateData::willBeDestroyed(v8::Isolate* isolate)
|
| {
|
| V8PerIsolateData* data = from(isolate);
|
|
|
| + ASSERT(!data->m_destructionPending);
|
| + data->m_destructionPending = true;
|
| +
|
| // Clear any data that may have handles into the heap,
|
| // prior to calling ThreadState::detach().
|
| data->m_idbPendingTransactionMonitor.clear();
|
|
|