Index: Source/bindings/v8/V8GCController.cpp |
diff --git a/Source/bindings/v8/V8GCController.cpp b/Source/bindings/v8/V8GCController.cpp |
index 5af7b234619775b879b93a29707a24e302f1a738..204b6f692fa1406e1ab956bcae24a4f6778db784 100644 |
--- a/Source/bindings/v8/V8GCController.cpp |
+++ b/Source/bindings/v8/V8GCController.cpp |
@@ -413,8 +413,11 @@ void V8GCController::majorGCEpilogue(v8::Isolate* isolate) |
void V8GCController::collectGarbage(v8::Isolate* isolate) |
{ |
- V8ExecutionScope scope(isolate); |
+ v8::HandleScope handleScope(isolate); |
+ RefPtr<ScriptState> scriptState = ScriptState::create(v8::Context::New(isolate), DOMWrapperWorld::create()); |
+ ScriptState::Scope scope(scriptState.get()); |
V8ScriptRunner::compileAndRunInternalScript(v8String(isolate, "if (gc) gc();"), isolate); |
+ scriptState->disposePerContextData(); |
} |
} // namespace WebCore |