Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(8)

Side by Side Diff: Source/core/dom/Document.cpp

Issue 265793017: Oilpan: move node/element rare data objects to the heap. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Implement a weak-like Node reference from a MO registration object Created 6 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 /* 1 /*
2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org)
3 * (C) 1999 Antti Koivisto (koivisto@kde.org) 3 * (C) 1999 Antti Koivisto (koivisto@kde.org)
4 * (C) 2001 Dirk Mueller (mueller@kde.org) 4 * (C) 2001 Dirk Mueller (mueller@kde.org)
5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org) 5 * (C) 2006 Alexey Proskuryakov (ap@webkit.org)
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved. 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2009, 2011, 2012 Apple Inc. All r ights reserved.
7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/) 7 * Copyright (C) 2008, 2009 Torch Mobile Inc. All rights reserved. (http://www.t orchmobile.com/)
8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved. 8 * Copyright (C) 2008, 2009, 2011, 2012 Google Inc. All rights reserved.
9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies) 9 * Copyright (C) 2010 Nokia Corporation and/or its subsidiary(-ies)
10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved. 10 * Copyright (C) Research In Motion Limited 2010-2011. All rights reserved.
(...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 584
585 // It's possible for multiple Documents to end up referencing the same Resou rceFetcher (e.g., SVGImages 585 // It's possible for multiple Documents to end up referencing the same Resou rceFetcher (e.g., SVGImages
586 // load the initial empty document and the SVGDocument with the same Documen tLoader). 586 // load the initial empty document and the SVGDocument with the same Documen tLoader).
587 if (m_fetcher->document() == this) 587 if (m_fetcher->document() == this)
588 m_fetcher->setDocument(nullptr); 588 m_fetcher->setDocument(nullptr);
589 m_fetcher.clear(); 589 m_fetcher.clear();
590 #endif 590 #endif
591 591
592 // We must call clearRareData() here since a Document class inherits TreeSco pe 592 // We must call clearRareData() here since a Document class inherits TreeSco pe
593 // as well as Node. See a comment on TreeScope.h for the reason. 593 // as well as Node. See a comment on TreeScope.h for the reason.
594 #if !ENABLE(OILPAN)
594 if (hasRareData()) 595 if (hasRareData())
595 clearRareData(); 596 clearRareData();
597 #endif
596 598
597 ASSERT(!m_listsInvalidatedAtDocument.size()); 599 ASSERT(!m_listsInvalidatedAtDocument.size());
598 600
599 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(m_nodeListCounts); i++) 601 for (unsigned i = 0; i < WTF_ARRAY_LENGTH(m_nodeListCounts); i++)
600 ASSERT(!m_nodeListCounts[i]); 602 ASSERT(!m_nodeListCounts[i]);
601 603
602 setClient(0); 604 setClient(0);
603 605
604 InspectorCounters::decrementCounter(InspectorCounters::DocumentCounter); 606 InspectorCounters::decrementCounter(InspectorCounters::DocumentCounter);
605 } 607 }
(...skipping 5096 matching lines...) Expand 10 before | Expand all | Expand 10 after
5702 visitor->trace(m_contextFeatures); 5704 visitor->trace(m_contextFeatures);
5703 visitor->trace(m_userActionElements); 5705 visitor->trace(m_userActionElements);
5704 visitor->registerWeakMembers<Document, &Document::clearWeakMembers>(this); 5706 visitor->registerWeakMembers<Document, &Document::clearWeakMembers>(this);
5705 DocumentSupplementable::trace(visitor); 5707 DocumentSupplementable::trace(visitor);
5706 TreeScope::trace(visitor); 5708 TreeScope::trace(visitor);
5707 ContainerNode::trace(visitor); 5709 ContainerNode::trace(visitor);
5708 ExecutionContext::trace(visitor); 5710 ExecutionContext::trace(visitor);
5709 } 5711 }
5710 5712
5711 } // namespace WebCore 5713 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698