// Create object groups for DOM tree nodes. void V8GCController::gcPrologue() { v8::HandleScope scope; #ifndef NDEBUG DOMObjectVisitor domObjectVisitor; visitDOMObjects(&domObjectVisitor); #endif // Run through all objects with possible pending activity making their // wrappers non weak if there is pending activity. GCPrologueVisitor<void, SpecialCasePrologueObjectHandler> prologueObjectVisitor; visitActiveDOMObjects(&prologueObjectVisitor); GCPrologueVisitor<Node, SpecialCasePrologueNodeHandler> prologueNodeVisitor; visitActiveDOMNodes(&prologueNodeVisitor); // Create object groups. GrouperVisitor grouperVisitor; visitDOMNodes(&grouperVisitor); visitActiveDOMNodes(&grouperVisitor); visitDOMObjects(&grouperVisitor); grouperVisitor.applyGrouping(); // Clean single element cache for string conversions. V8BindingPerIsolateData* data = V8BindingPerIsolateData::current(); data->stringCache()->clearOnGC(); }
// Create object groups for DOM tree nodes. void V8GCController::gcPrologue() { v8::HandleScope scope; #ifndef NDEBUG DOMObjectVisitor domObjectVisitor; visitDOMObjectsInCurrentThread(&domObjectVisitor); #endif // Run through all objects with possible pending activity making their // wrappers non weak if there is pending activity. GCPrologueVisitor prologueVisitor; visitActiveDOMObjectsInCurrentThread(&prologueVisitor); // Create object groups. GrouperVisitor grouperVisitor; visitDOMNodesInCurrentThread(&grouperVisitor); visitDOMObjectsInCurrentThread(&grouperVisitor); grouperVisitor.applyGrouping(); // Clean single element cache for string conversions. //SAMSUNG_WEB_WORKER_CHANGES >> /*lastStringImpl = 0; lastV8String.Clear();*/ V8BindingPerIsolateData* data = V8BindingPerIsolateData::current(); data->stringCache()->clearOnGC(); //SAMSUNG_WEB_WORKER_CHANGES << }
// Create object groups for DOM tree nodes. void V8GCController::gcPrologue() { v8::HandleScope scope; #if 0 //crash_in_debug ndef NDEBUG DOMObjectVisitor domObjectVisitor; visitDOMObjectsInCurrentThread(&domObjectVisitor); #endif // Run through all objects with possible pending activity making their // wrappers non weak if there is pending activity. GCPrologueVisitor prologueVisitor; visitActiveDOMObjectsInCurrentThread(&prologueVisitor); // Create object groups. GrouperVisitor grouperVisitor; visitDOMNodesInCurrentThread(&grouperVisitor); //visitDOMObjectsInCurrentThread(&grouperVisitor); //crash grouperVisitor.applyGrouping(); // Clean single element cache for string conversions. lastStringImpl = 0; lastV8String.Clear(); }