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