Ignore:
Timestamp:
Jul 11, 2008, 10:51:33 PM (17 years ago)
Author:
Stephanie Lewis
Message:

2008-07-11 Stephanie Lewis <Stephanie Lewis>

Reviewed by Darin Adler and Oliver Hunt.

JavaScriptCore:

Refactor RefCounting Leak counting code into a common class.

In order to export the symbols I needed to put the debug defines inside the function names


Before we had a separate channel for each Logging each Leak type. Since the leak channels were only used in one location, and only at quit for simplicity I combined them all into one leak channel.

  • JavaScriptCore.exp:
  • JavaScriptCore.xcodeproj/project.pbxproj: add new class
  • kjs/nodes.cpp: remove old leak counting code
  • wtf/RefCountedLeakCounter.cpp: Added. create a common leak counting class
  • wtf/RefCountedLeakCounter.h: Added.

WebCore:

No Functionality Changed. Change all the leak counting code to use the new WTF leak counter class.

  • bindings/js/JSCustomSQLTransactionCallback.cpp: (WebCore::JSCustomSQLTransactionCallback::JSCustomSQLTransactionCallback): (WebCore::JSCustomSQLTransactionCallback::~JSCustomSQLTransactionCallback):
  • bindings/js/JSEventListener.cpp: (WebCore::JSEventListener::JSEventListener): (WebCore::JSEventListener::~JSEventListener):
  • dom/Node.cpp: (WebCore::Node::Node): (WebCore::Node::~Node):
  • dom/Range.cpp: (WebCore::Range::Range): (WebCore::Range::~Range):
  • history/CachedPage.cpp: (WebCore::CachedPage::CachedPage): (WebCore::CachedPage::~CachedPage):
  • loader/SubresourceLoader.cpp: (WebCore::SubresourceLoader::SubresourceLoader): (WebCore::SubresourceLoader::~SubresourceLoader):
  • page/Frame.cpp: (WebCore::Frame::Frame): (WebCore::Frame::~Frame):
  • page/Page.cpp: (WebCore::Page::Page): (WebCore::Page::~Page):
  • rendering/RenderObject.cpp: (WebCore::RenderObject::RenderObject): (WebCore::RenderObject::~RenderObject):
  • rendering/bidi.cpp: (WebCore::throw): (WebCore::BidiRun::operator delete):

WebKit

Move WebPreferences.m to objc++ so it can include the new WTF leak counting class.

  • WebKit.xcodeproj/project.pbxproj:

Disable WTF leak messages when using fast teardown. Use full document teardown while running in debug.

  • WebView/WebPreferences.m: Removed.
  • WebView/WebPreferences.mm: Copied from http:/svn.webkit.org/repository/webkit/trunk/WebKit/mac/WebView/WebPreferences.m. (+[WebPreferences initialize]): if running in Default enable full document teardown (-[WebPreferences editableLinkBehavior]): (-[WebPreferences setFullDocumentTeardownEnabled:]):
  • WebView/WebView.mm: (-[WebView _close]): disable leak messages if using fast teardown

WebKitTools:

Make sure we read WebCore Leak messages. Force full document teardown for DumpRenderTree.

Up timeout limit, some slower machines were timing out before crashtracer finished writing out to disk and quitting DRT.

  • DumpRenderTree/mac/DumpRenderTree.mm: (setDefaultsToConsistentValuesForTesting): (resetWebViewToConsistentStateBeforeTesting):
  • Scripts/run-webkit-tests:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj

    r35142 r35148  
    7575                65DFC93308EA173A00F7300B /* HashTable.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65DFC92D08EA173A00F7300B /* HashTable.cpp */; };
    7676                65FDE49C0BDD1D4A00E80111 /* Assertions.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 65E217B808E7EECC0023E5F6 /* Assertions.cpp */; };
     77                905B02AE0E28640F006DF882 /* RefCountedLeakCounter.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 905B02AD0E28640F006DF882 /* RefCountedLeakCounter.cpp */; };
     78                90D3469C0E285280009492EE /* RefCountedLeakCounter.h in Headers */ = {isa = PBXBuildFile; fileRef = 90D3469B0E285280009492EE /* RefCountedLeakCounter.h */; settings = {ATTRIBUTES = (Private, ); }; };
    7779                930754C108B0F68000AB3056 /* pcre_compile.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 930754BF08B0F68000AB3056 /* pcre_compile.cpp */; };
    7880                930754D008B0F74600AB3056 /* pcre_tables.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 930754CE08B0F74500AB3056 /* pcre_tables.cpp */; };
     
    554556                704FD35305697E6D003DBED9 /* BooleanObject.h */ = {isa = PBXFileReference; fileEncoding = 30; indentWidth = 4; lastKnownFileType = sourcecode.c.h; path = BooleanObject.h; sourceTree = "<group>"; tabWidth = 8; };
    555557                7E2C6C980D31C6B6002D44E2 /* ScopeChainMark.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ScopeChainMark.h; sourceTree = "<group>"; };
     558                905B02AD0E28640F006DF882 /* RefCountedLeakCounter.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = RefCountedLeakCounter.cpp; sourceTree = "<group>"; };
     559                90D3469B0E285280009492EE /* RefCountedLeakCounter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RefCountedLeakCounter.h; sourceTree = "<group>"; };
    556560                9303F567099118FA00AD71B8 /* OwnPtr.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = OwnPtr.h; sourceTree = "<group>"; };
    557561                9303F5690991190000AD71B8 /* Noncopyable.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Noncopyable.h; sourceTree = "<group>"; };
     
    10471051                                65D6D87E09B5A32E0002E4D7 /* Platform.h */,
    10481052                                1419D32C0CEA7CDE00FF507A /* RefCounted.h */,
     1053                                90D3469B0E285280009492EE /* RefCountedLeakCounter.h */,
     1054                                905B02AD0E28640F006DF882 /* RefCountedLeakCounter.cpp */,
    10491055                                65C647B3093EF8D60022C380 /* RefPtr.h */,
    10501056                                148A1ECD0D10C23B0069A47C /* RefPtrHashMap.h */,
     
    14301436                                BC18C4560E16F5CD00B34460 /* protect.h in Headers */,
    14311437                                BC18C4570E16F5CD00B34460 /* RefCounted.h in Headers */,
     1438                                90D3469C0E285280009492EE /* RefCountedLeakCounter.h in Headers */,
    14321439                                BC18C4580E16F5CD00B34460 /* RefPtr.h in Headers */,
    14331440                                BC18C4590E16F5CD00B34460 /* RefPtrHashMap.h in Headers */,
     
    18001807                                95CD45760E1C4FDD0085358E /* ProfileGenerator.cpp in Sources */,
    18011808                                95FDFA140E22998F0006FB00 /* HeavyProfile.cpp in Sources */,
     1809                                905B02AE0E28640F006DF882 /* RefCountedLeakCounter.cpp in Sources */,
    18021810                        );
    18031811                        runOnlyForDeploymentPostprocessing = 0;
Note: See TracChangeset for help on using the changeset viewer.