JavaScriptCore:
- replaced List class with a vector rather than a linked list, changed it
to use a pool of instances instead of all the nodes allocated off of the
heap; gives 10% gain on iBench
* kjs/list.h: Complete rewrite.
* kjs/list.cpp: Ditto.
* kjs/array_object.cpp: (compareWithCompareFunctionForQSort): Go back to
doing a clear and two appends here. Fast with the new list implementation.
* kjs/collector.h: Remove _COLLECTOR hack and just make rootObjectClasses
return a const void *.
* kjs/collector.cpp: Remove _COLLECTOR hack, and various other minor tweaks.
WebCore:
* khtml/ecma/kjs_window.cpp: Remove _COLLECTOR hack.
* kwq/WebCoreJavaScript.h:
* kwq/WebCoreJavaScript.mm:
(+[WebCoreJavaScript rootObjectClasses]):
Update for name change -- root object classes, not all live object classes.
* force-js-clean-timestamp: Make sure we don't have more build problems.
WebKit:
* Misc.subproj/WebCoreStatistics.h:
* Misc.subproj/WebCoreStatistics.m:
(+[WebCoreStatistics javaScriptRootObjectClasses]):
Update for name change -- root object classes, not all live object classes.
WebBrowser:
* Debug/CacheController.m: (-[CacheController refreshJavaScriptStatisticsMatrix]):
Update for name change -- root object classes, not all live object classes.
git-svn-id: http://svn.webkit.org/repository/webkit/trunk@2843 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/kjs/collector.cpp b/JavaScriptCore/kjs/collector.cpp
index 8e17c40..7f61064 100644
--- a/JavaScriptCore/kjs/collector.cpp
+++ b/JavaScriptCore/kjs/collector.cpp
@@ -1,8 +1,7 @@
// -*- c-basic-offset: 2 -*-
/*
* This file is part of the KDE libraries
- * Copyright (C) 1999-2000 Harri Porten (porten@kde.org)
- * Copyright (C) 2001 Peter Kelly (pmk@post.com)
+ * Copyright (C) 2002 Apple Computer, Inc.
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
@@ -20,17 +19,17 @@
*
*/
+#include "collector.h"
+
+#include "value.h"
+#include "internal.h"
+
#if APPLE_CHANGES
-#define _COLLECTOR
#include <CoreFoundation/CoreFoundation.h>
#include <cxxabi.h>
#endif
-#include <collector.h>
-#include <value.h>
-#include <internal.h>
-
-using namespace KJS;
+namespace KJS {
// tunable parameters
static const int CELL_SIZE = 56;
@@ -359,8 +358,7 @@
return count;
}
-// FIXME: Rename. Root object classes are more useful than live object classes.
-CFSetRef Collector::liveObjectClasses()
+const void *Collector::rootObjectClasses()
{
CFMutableSetRef classes = CFSetCreateMutable(NULL, 0, &kCFTypeSetCallBacks);
@@ -404,3 +402,5 @@
}
#endif // APPLE_CHANGES
+
+} // namespace KJS