JavaScriptCore:

2008-06-15  Darin Adler  <darin@apple.com>

        - rename KJS::List to KJS::ArgList

        * API/JSCallbackConstructor.cpp:
        (KJS::JSCallbackConstructor::construct):
        * API/JSCallbackConstructor.h:
        * API/JSCallbackFunction.cpp:
        (KJS::JSCallbackFunction::callAsFunction):
        * API/JSCallbackFunction.h:
        * API/JSCallbackObject.h:
        * API/JSCallbackObjectFunctions.h:
        (KJS::::construct):
        (KJS::::callAsFunction):
        * API/JSObjectRef.cpp:
        (JSObjectMakeFunction):
        (JSObjectCallAsFunction):
        (JSObjectCallAsConstructor):
        * JavaScriptCore.exp:
        * VM/Machine.cpp:
        (KJS::Machine::execute):
        (KJS::Machine::privateExecute):
        * VM/Machine.h:
        * kjs/ArrayPrototype.cpp:
        (KJS::arrayProtoFuncToString):
        (KJS::arrayProtoFuncToLocaleString):
        (KJS::arrayProtoFuncJoin):
        (KJS::arrayProtoFuncConcat):
        (KJS::arrayProtoFuncPop):
        (KJS::arrayProtoFuncPush):
        (KJS::arrayProtoFuncReverse):
        (KJS::arrayProtoFuncShift):
        (KJS::arrayProtoFuncSlice):
        (KJS::arrayProtoFuncSort):
        (KJS::arrayProtoFuncSplice):
        (KJS::arrayProtoFuncUnShift):
        (KJS::arrayProtoFuncFilter):
        (KJS::arrayProtoFuncMap):
        (KJS::arrayProtoFuncEvery):
        (KJS::arrayProtoFuncForEach):
        (KJS::arrayProtoFuncSome):
        (KJS::arrayProtoFuncIndexOf):
        (KJS::arrayProtoFuncLastIndexOf):
        (KJS::ArrayConstructor::construct):
        (KJS::ArrayConstructor::callAsFunction):
        * kjs/ArrayPrototype.h:
        * kjs/BooleanObject.cpp:
        (KJS::booleanProtoFuncToString):
        (KJS::booleanProtoFuncValueOf):
        (KJS::BooleanConstructor::construct):
        (KJS::BooleanConstructor::callAsFunction):
        * kjs/BooleanObject.h:
        * kjs/CommonIdentifiers.h:
        * kjs/ExecState.h:
        (KJS::ExecState::emptyList):
        * kjs/FunctionPrototype.cpp:
        (KJS::FunctionPrototype::callAsFunction):
        (KJS::functionProtoFuncToString):
        (KJS::functionProtoFuncApply):
        (KJS::functionProtoFuncCall):
        (KJS::FunctionConstructor::construct):
        (KJS::FunctionConstructor::callAsFunction):
        * kjs/FunctionPrototype.h:
        * kjs/JSActivation.cpp:
        (KJS::JSActivation::createArgumentsObject):
        * kjs/JSArray.cpp:
        (KJS::JSArray::JSArray):
        (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
        * kjs/JSArray.h:
        * kjs/JSFunction.cpp:
        (KJS::JSFunction::callAsFunction):
        (KJS::JSFunction::construct):
        (KJS::IndexToNameMap::IndexToNameMap):
        (KJS::Arguments::Arguments):
        (KJS::encode):
        (KJS::decode):
        (KJS::globalFuncEval):
        (KJS::globalFuncParseInt):
        (KJS::globalFuncParseFloat):
        (KJS::globalFuncIsNaN):
        (KJS::globalFuncIsFinite):
        (KJS::globalFuncDecodeURI):
        (KJS::globalFuncDecodeURIComponent):
        (KJS::globalFuncEncodeURI):
        (KJS::globalFuncEncodeURIComponent):
        (KJS::globalFuncEscape):
        (KJS::globalFuncUnescape):
        (KJS::globalFuncKJSPrint):
        (KJS::PrototypeFunction::callAsFunction):
        (KJS::PrototypeReflexiveFunction::callAsFunction):
        * kjs/JSFunction.h:
        * kjs/JSGlobalData.h:
        * kjs/JSImmediate.cpp:
        (KJS::JSImmediate::toObject):
        * kjs/JSNotAnObject.cpp:
        (KJS::JSNotAnObject::construct):
        (KJS::JSNotAnObject::callAsFunction):
        * kjs/JSNotAnObject.h:
        * kjs/JSObject.cpp:
        (KJS::JSObject::put):
        (KJS::JSObject::construct):
        (KJS::JSObject::callAsFunction):
        (KJS::Error::create):
        * kjs/JSObject.h:
        * kjs/MathObject.cpp:
        (KJS::mathProtoFuncAbs):
        (KJS::mathProtoFuncACos):
        (KJS::mathProtoFuncASin):
        (KJS::mathProtoFuncATan):
        (KJS::mathProtoFuncATan2):
        (KJS::mathProtoFuncCeil):
        (KJS::mathProtoFuncCos):
        (KJS::mathProtoFuncExp):
        (KJS::mathProtoFuncFloor):
        (KJS::mathProtoFuncLog):
        (KJS::mathProtoFuncMax):
        (KJS::mathProtoFuncMin):
        (KJS::mathProtoFuncPow):
        (KJS::mathProtoFuncRandom):
        (KJS::mathProtoFuncRound):
        (KJS::mathProtoFuncSin):
        (KJS::mathProtoFuncSqrt):
        (KJS::mathProtoFuncTan):
        * kjs/MathObject.h:
        * kjs/NumberObject.cpp:
        (KJS::numberProtoFuncToString):
        (KJS::numberProtoFuncToLocaleString):
        (KJS::numberProtoFuncValueOf):
        (KJS::numberProtoFuncToFixed):
        (KJS::numberProtoFuncToExponential):
        (KJS::numberProtoFuncToPrecision):
        (KJS::NumberConstructor::construct):
        (KJS::NumberConstructor::callAsFunction):
        * kjs/NumberObject.h:
        * kjs/RegExpObject.cpp:
        (KJS::regExpProtoFuncTest):
        (KJS::regExpProtoFuncExec):
        (KJS::regExpProtoFuncCompile):
        (KJS::regExpProtoFuncToString):
        (KJS::RegExpObject::match):
        (KJS::RegExpObject::test):
        (KJS::RegExpObject::exec):
        (KJS::RegExpObject::callAsFunction):
        (KJS::RegExpConstructor::construct):
        (KJS::RegExpConstructor::callAsFunction):
        * kjs/RegExpObject.h:
        * kjs/Shell.cpp:
        (functionPrint):
        (functionDebug):
        (functionGC):
        (functionVersion):
        (functionRun):
        (functionLoad):
        (functionReadline):
        (functionQuit):
        * kjs/collector.cpp:
        (KJS::Collector::collect):
        * kjs/collector.h:
        (KJS::Collector::markListSet):
        * kjs/date_object.cpp:
        (KJS::formatLocaleDate):
        (KJS::fillStructuresUsingTimeArgs):
        (KJS::fillStructuresUsingDateArgs):
        (KJS::DateConstructor::construct):
        (KJS::DateConstructor::callAsFunction):
        (KJS::DateFunction::callAsFunction):
        (KJS::dateProtoFuncToString):
        (KJS::dateProtoFuncToUTCString):
        (KJS::dateProtoFuncToDateString):
        (KJS::dateProtoFuncToTimeString):
        (KJS::dateProtoFuncToLocaleString):
        (KJS::dateProtoFuncToLocaleDateString):
        (KJS::dateProtoFuncToLocaleTimeString):
        (KJS::dateProtoFuncValueOf):
        (KJS::dateProtoFuncGetTime):
        (KJS::dateProtoFuncGetFullYear):
        (KJS::dateProtoFuncGetUTCFullYear):
        (KJS::dateProtoFuncToGMTString):
        (KJS::dateProtoFuncGetMonth):
        (KJS::dateProtoFuncGetUTCMonth):
        (KJS::dateProtoFuncGetDate):
        (KJS::dateProtoFuncGetUTCDate):
        (KJS::dateProtoFuncGetDay):
        (KJS::dateProtoFuncGetUTCDay):
        (KJS::dateProtoFuncGetHours):
        (KJS::dateProtoFuncGetUTCHours):
        (KJS::dateProtoFuncGetMinutes):
        (KJS::dateProtoFuncGetUTCMinutes):
        (KJS::dateProtoFuncGetSeconds):
        (KJS::dateProtoFuncGetUTCSeconds):
        (KJS::dateProtoFuncGetMilliSeconds):
        (KJS::dateProtoFuncGetUTCMilliseconds):
        (KJS::dateProtoFuncGetTimezoneOffset):
        (KJS::dateProtoFuncSetTime):
        (KJS::setNewValueFromTimeArgs):
        (KJS::setNewValueFromDateArgs):
        (KJS::dateProtoFuncSetMilliSeconds):
        (KJS::dateProtoFuncSetUTCMilliseconds):
        (KJS::dateProtoFuncSetSeconds):
        (KJS::dateProtoFuncSetUTCSeconds):
        (KJS::dateProtoFuncSetMinutes):
        (KJS::dateProtoFuncSetUTCMinutes):
        (KJS::dateProtoFuncSetHours):
        (KJS::dateProtoFuncSetUTCHours):
        (KJS::dateProtoFuncSetDate):
        (KJS::dateProtoFuncSetUTCDate):
        (KJS::dateProtoFuncSetMonth):
        (KJS::dateProtoFuncSetUTCMonth):
        (KJS::dateProtoFuncSetFullYear):
        (KJS::dateProtoFuncSetUTCFullYear):
        (KJS::dateProtoFuncSetYear):
        (KJS::dateProtoFuncGetYear):
        * kjs/date_object.h:
        * kjs/debugger.h:
        * kjs/error_object.cpp:
        (KJS::errorProtoFuncToString):
        (KJS::ErrorConstructor::construct):
        (KJS::ErrorConstructor::callAsFunction):
        (KJS::NativeErrorConstructor::construct):
        (KJS::NativeErrorConstructor::callAsFunction):
        * kjs/error_object.h:
        * kjs/internal.cpp:
        (KJS::JSNumberCell::toObject):
        (KJS::JSNumberCell::toThisObject):
        * kjs/list.cpp:
        (KJS::ArgList::getSlice):
        (KJS::ArgList::markLists):
        (KJS::ArgList::slowAppend):
        * kjs/list.h:
        (KJS::ArgList::ArgList):
        (KJS::ArgList::~ArgList):
        * kjs/object_object.cpp:
        (KJS::objectProtoFuncValueOf):
        (KJS::objectProtoFuncHasOwnProperty):
        (KJS::objectProtoFuncIsPrototypeOf):
        (KJS::objectProtoFuncDefineGetter):
        (KJS::objectProtoFuncDefineSetter):
        (KJS::objectProtoFuncLookupGetter):
        (KJS::objectProtoFuncLookupSetter):
        (KJS::objectProtoFuncPropertyIsEnumerable):
        (KJS::objectProtoFuncToLocaleString):
        (KJS::objectProtoFuncToString):
        (KJS::ObjectConstructor::construct):
        (KJS::ObjectConstructor::callAsFunction):
        * kjs/object_object.h:
        * kjs/string_object.cpp:
        (KJS::replace):
        (KJS::stringProtoFuncToString):
        (KJS::stringProtoFuncValueOf):
        (KJS::stringProtoFuncCharAt):
        (KJS::stringProtoFuncCharCodeAt):
        (KJS::stringProtoFuncConcat):
        (KJS::stringProtoFuncIndexOf):
        (KJS::stringProtoFuncLastIndexOf):
        (KJS::stringProtoFuncMatch):
        (KJS::stringProtoFuncSearch):
        (KJS::stringProtoFuncReplace):
        (KJS::stringProtoFuncSlice):
        (KJS::stringProtoFuncSplit):
        (KJS::stringProtoFuncSubstr):
        (KJS::stringProtoFuncSubstring):
        (KJS::stringProtoFuncToLowerCase):
        (KJS::stringProtoFuncToUpperCase):
        (KJS::stringProtoFuncToLocaleLowerCase):
        (KJS::stringProtoFuncToLocaleUpperCase):
        (KJS::stringProtoFuncLocaleCompare):
        (KJS::stringProtoFuncBig):
        (KJS::stringProtoFuncSmall):
        (KJS::stringProtoFuncBlink):
        (KJS::stringProtoFuncBold):
        (KJS::stringProtoFuncFixed):
        (KJS::stringProtoFuncItalics):
        (KJS::stringProtoFuncStrike):
        (KJS::stringProtoFuncSub):
        (KJS::stringProtoFuncSup):
        (KJS::stringProtoFuncFontcolor):
        (KJS::stringProtoFuncFontsize):
        (KJS::stringProtoFuncAnchor):
        (KJS::stringProtoFuncLink):
        (KJS::StringConstructor::construct):
        (KJS::StringConstructor::callAsFunction):
        (KJS::StringConstructorFunction::callAsFunction):
        * kjs/string_object.h:

JavaScriptGlue:

2008-06-15  Darin Adler  <darin@apple.com>

        - rename KJS::List to KJS::ArgList

        * JSValueWrapper.cpp:
        (JSValueWrapper::JSObjectCallFunction):
        * UserObjectImp.cpp:
        (UserObjectImp::callAsFunction):
        * UserObjectImp.h:

WebCore:

2008-06-15  Darin Adler  <darin@apple.com>

        - try to fix Qt build

        * dom/XMLTokenizer.cpp: Use create instead of new.

        - rename KJS::List to KJS::ArgList

        * bindings/js/JSAudioConstructor.cpp:
        (WebCore::JSAudioConstructor::construct):
        * bindings/js/JSAudioConstructor.h:
        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
        (WebCore::JSCanvasRenderingContext2D::setFillColor):
        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
        (WebCore::JSCanvasRenderingContext2D::strokeRect):
        (WebCore::JSCanvasRenderingContext2D::drawImage):
        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
        (WebCore::JSCanvasRenderingContext2D::setShadow):
        (WebCore::JSCanvasRenderingContext2D::createPattern):
        (WebCore::JSCanvasRenderingContext2D::putImageData):
        * bindings/js/JSClipboardCustom.cpp:
        (WebCore::JSClipboard::types):
        (WebCore::JSClipboard::clearData):
        (WebCore::JSClipboard::getData):
        (WebCore::JSClipboard::setData):
        (WebCore::JSClipboard::setDragImage):
        * bindings/js/JSConsoleCustom.cpp:
        (WebCore::JSConsole::debug):
        (WebCore::JSConsole::error):
        (WebCore::JSConsole::info):
        (WebCore::JSConsole::log):
        (WebCore::JSConsole::warn):
        (WebCore::JSConsole::assertCondition):
        (WebCore::JSConsole::profile):
        (WebCore::JSConsole::profileEnd):
        * bindings/js/JSCustomSQLStatementCallback.cpp:
        (WebCore::JSCustomSQLStatementCallback::handleEvent):
        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionCallback.cpp:
        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
        * bindings/js/JSCustomVoidCallback.cpp:
        (WebCore::JSCustomVoidCallback::handleEvent):
        * bindings/js/JSCustomXPathNSResolver.cpp:
        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
        * bindings/js/JSDOMApplicationCacheCustom.cpp:
        (WebCore::JSDOMApplicationCache::add):
        (WebCore::JSDOMApplicationCache::remove):
        (WebCore::JSDOMApplicationCache::addEventListener):
        (WebCore::JSDOMApplicationCache::removeEventListener):
        (WebCore::JSDOMApplicationCache::dispatchEvent):
        * bindings/js/JSDOMWindowBase.cpp:
        (WebCore::windowProtoFuncAToB):
        (WebCore::windowProtoFuncBToA):
        (WebCore::windowProtoFuncOpen):
        (WebCore::windowProtoFuncSetTimeout):
        (WebCore::windowProtoFuncClearTimeout):
        (WebCore::windowProtoFuncSetInterval):
        (WebCore::windowProtoFuncAddEventListener):
        (WebCore::windowProtoFuncRemoveEventListener):
        (WebCore::windowProtoFuncShowModalDialog):
        (WebCore::windowProtoFuncNotImplemented):
        (WebCore::JSDOMWindowBase::installTimeout):
        * bindings/js/JSDOMWindowBase.h:
        * bindings/js/JSDOMWindowCustom.cpp:
        (WebCore::JSDOMWindow::postMessage):
        * bindings/js/JSDatabaseCustom.cpp:
        (WebCore::JSDatabase::changeVersion):
        (WebCore::JSDatabase::transaction):
        * bindings/js/JSElementCustom.cpp:
        (WebCore::JSElement::setAttribute):
        (WebCore::JSElement::setAttributeNode):
        (WebCore::JSElement::setAttributeNS):
        (WebCore::JSElement::setAttributeNodeNS):
        * bindings/js/JSEventTargetBase.cpp:
        (WebCore::jsEventTargetAddEventListener):
        (WebCore::jsEventTargetRemoveEventListener):
        (WebCore::jsEventTargetDispatchEvent):
        * bindings/js/JSEventTargetBase.h:
        * bindings/js/JSHTMLAppletElementCustom.cpp:
        (WebCore::JSHTMLAppletElement::callAsFunction):
        * bindings/js/JSHTMLCollectionCustom.cpp:
        (WebCore::JSHTMLCollection::callAsFunction):
        (WebCore::JSHTMLCollection::item):
        (WebCore::JSHTMLCollection::namedItem):
        * bindings/js/JSHTMLDocumentCustom.cpp:
        (WebCore::JSHTMLDocument::open):
        (WebCore::writeHelper):
        (WebCore::JSHTMLDocument::write):
        (WebCore::JSHTMLDocument::writeln):
        * bindings/js/JSHTMLEmbedElementCustom.cpp:
        (WebCore::JSHTMLEmbedElement::callAsFunction):
        * bindings/js/JSHTMLInputElementBase.cpp:
        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
        * bindings/js/JSHTMLInputElementBase.h:
        * bindings/js/JSHTMLObjectElementCustom.cpp:
        (WebCore::JSHTMLObjectElement::callAsFunction):
        * bindings/js/JSHTMLOptionElementConstructor.cpp:
        (WebCore::JSHTMLOptionElementConstructor::construct):
        * bindings/js/JSHTMLOptionElementConstructor.h:
        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
        (WebCore::JSHTMLOptionsCollection::add):
        (WebCore::JSHTMLOptionsCollection::remove):
        * bindings/js/JSHTMLSelectElementCustom.cpp:
        (WebCore::JSHTMLSelectElement::remove):
        * bindings/js/JSImageConstructor.cpp:
        (WebCore::JSImageConstructor::construct):
        * bindings/js/JSImageConstructor.h:
        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
        (WebCore::JSJavaScriptCallFrame::evaluate):
        (WebCore::JSJavaScriptCallFrame::scopeChain):
        * bindings/js/JSLocationCustom.cpp:
        (WebCore::JSLocation::replace):
        (WebCore::JSLocation::reload):
        (WebCore::JSLocation::assign):
        (WebCore::JSLocation::toString):
        * bindings/js/JSNodeCustom.cpp:
        (WebCore::JSNode::insertBefore):
        (WebCore::JSNode::replaceChild):
        (WebCore::JSNode::removeChild):
        (WebCore::JSNode::appendChild):
        * bindings/js/JSNodeFilterCondition.cpp:
        (WebCore::JSNodeFilterCondition::acceptNode):
        * bindings/js/JSNodeFilterCustom.cpp:
        (WebCore::JSNodeFilter::acceptNode):
        * bindings/js/JSNodeIteratorCustom.cpp:
        (WebCore::JSNodeIterator::nextNode):
        (WebCore::JSNodeIterator::previousNode):
        * bindings/js/JSNodeListCustom.cpp:
        (WebCore::JSNodeList::callAsFunction):
        * bindings/js/JSQuarantinedObjectWrapper.cpp:
        (WebCore::JSQuarantinedObjectWrapper::construct):
        (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
        * bindings/js/JSQuarantinedObjectWrapper.h:
        * bindings/js/JSSQLResultSetRowListCustom.cpp:
        (WebCore::JSSQLResultSetRowList::item):
        * bindings/js/JSSQLTransactionCustom.cpp:
        (WebCore::JSSQLTransaction::executeSql):
        * bindings/js/JSSVGMatrixCustom.cpp:
        (WebCore::JSSVGMatrix::multiply):
        (WebCore::JSSVGMatrix::inverse):
        (WebCore::JSSVGMatrix::translate):
        (WebCore::JSSVGMatrix::scale):
        (WebCore::JSSVGMatrix::scaleNonUniform):
        (WebCore::JSSVGMatrix::rotate):
        (WebCore::JSSVGMatrix::rotateFromVector):
        (WebCore::JSSVGMatrix::flipX):
        (WebCore::JSSVGMatrix::flipY):
        (WebCore::JSSVGMatrix::skewX):
        (WebCore::JSSVGMatrix::skewY):
        * bindings/js/JSSVGPathSegListCustom.cpp:
        (WebCore::JSSVGPathSegList::clear):
        (WebCore::JSSVGPathSegList::initialize):
        (WebCore::JSSVGPathSegList::getItem):
        (WebCore::JSSVGPathSegList::insertItemBefore):
        (WebCore::JSSVGPathSegList::replaceItem):
        (WebCore::JSSVGPathSegList::removeItem):
        (WebCore::JSSVGPathSegList::appendItem):
        * bindings/js/JSSVGPointListCustom.cpp:
        (WebCore::JSSVGPointList::clear):
        (WebCore::JSSVGPointList::initialize):
        (WebCore::JSSVGPointList::getItem):
        (WebCore::JSSVGPointList::insertItemBefore):
        (WebCore::JSSVGPointList::replaceItem):
        (WebCore::JSSVGPointList::removeItem):
        (WebCore::JSSVGPointList::appendItem):
        * bindings/js/JSSVGTransformListCustom.cpp:
        (WebCore::JSSVGTransformList::clear):
        (WebCore::JSSVGTransformList::initialize):
        (WebCore::JSSVGTransformList::getItem):
        (WebCore::JSSVGTransformList::insertItemBefore):
        (WebCore::JSSVGTransformList::replaceItem):
        (WebCore::JSSVGTransformList::removeItem):
        (WebCore::JSSVGTransformList::appendItem):
        * bindings/js/JSTreeWalkerCustom.cpp:
        (WebCore::JSTreeWalker::parentNode):
        (WebCore::JSTreeWalker::firstChild):
        (WebCore::JSTreeWalker::lastChild):
        (WebCore::JSTreeWalker::nextSibling):
        (WebCore::JSTreeWalker::previousSibling):
        (WebCore::JSTreeWalker::previousNode):
        (WebCore::JSTreeWalker::nextNode):
        * bindings/js/JSXMLHttpRequestConstructor.cpp:
        (WebCore::JSXMLHttpRequestConstructor::construct):
        * bindings/js/JSXMLHttpRequestConstructor.h:
        * bindings/js/JSXMLHttpRequestCustom.cpp:
        (WebCore::JSXMLHttpRequest::open):
        (WebCore::JSXMLHttpRequest::setRequestHeader):
        (WebCore::JSXMLHttpRequest::send):
        (WebCore::JSXMLHttpRequest::getResponseHeader):
        (WebCore::JSXMLHttpRequest::overrideMimeType):
        (WebCore::JSXMLHttpRequest::addEventListener):
        (WebCore::JSXMLHttpRequest::removeEventListener):
        (WebCore::JSXMLHttpRequest::dispatchEvent):
        * bindings/js/JSXSLTProcessorConstructor.cpp:
        (WebCore::JSXSLTProcessorConstructor::construct):
        * bindings/js/JSXSLTProcessorConstructor.h:
        * bindings/js/JSXSLTProcessorCustom.cpp:
        (WebCore::JSXSLTProcessor::importStylesheet):
        (WebCore::JSXSLTProcessor::transformToFragment):
        (WebCore::JSXSLTProcessor::transformToDocument):
        (WebCore::JSXSLTProcessor::setParameter):
        (WebCore::JSXSLTProcessor::getParameter):
        (WebCore::JSXSLTProcessor::removeParameter):
        * bindings/js/ScheduledAction.cpp:
        (WebCore::ScheduledAction::ScheduledAction):
        (WebCore::ScheduledAction::execute):
        * bindings/js/ScheduledAction.h:
        * bindings/js/kjs_events.cpp:
        (WebCore::JSAbstractEventListener::handleEvent):
        (WebCore::JSLazyEventListener::parseCode):
        * bindings/js/kjs_html.cpp:
        (WebCore::runtimeObjectCallAsFunction):
        * bindings/js/kjs_html.h:
        * bindings/objc/WebScriptObject.mm:
        (getListFromNSArray):
        (-[WebScriptObject callWebScriptMethod:withArguments:]):
        * bindings/scripts/CodeGeneratorJS.pm:
        * bridge/NP_jsobject.cpp:
        (getListFromVariantArgs):
        (_NPN_InvokeDefault):
        (_NPN_Invoke):
        * bridge/c/c_instance.cpp:
        (KJS::Bindings::CInstance::invokeMethod):
        (KJS::Bindings::CInstance::invokeDefaultMethod):
        * bridge/c/c_instance.h:
        * bridge/jni/jni_instance.cpp:
        (JavaInstance::invokeMethod):
        * bridge/jni/jni_instance.h:
        * bridge/jni/jni_jsobject.h:
        * bridge/jni/jni_jsobject.mm:
        (JavaJSObject::call):
        (JavaJSObject::getListFromJArray):
        * bridge/objc/objc_instance.h:
        * bridge/objc/objc_instance.mm:
        (ObjcInstance::invokeMethod):
        (ObjcInstance::invokeDefaultMethod):
        * bridge/objc/objc_runtime.h:
        * bridge/objc/objc_runtime.mm:
        (ObjcFallbackObjectImp::callAsFunction):
        * bridge/qt/qt_instance.cpp:
        (KJS::Bindings::QtRuntimeObjectImp::construct):
        (KJS::Bindings::QtInstance::invokeMethod):
        (KJS::Bindings::QtInstance::invokeDefaultMethod):
        * bridge/qt/qt_instance.h:
        * bridge/qt/qt_runtime.cpp:
        (KJS::Bindings::convertQVariantToValue):
        (KJS::Bindings::findMethodIndex):
        (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
        (KJS::Bindings::QtConnectionObject::execute):
        * bridge/qt/qt_runtime.h:
        * bridge/runtime.h:
        (KJS::Bindings::Instance::invokeDefaultMethod):
        * bridge/runtime_method.cpp:
        (RuntimeMethod::callAsFunction):
        * bridge/runtime_method.h:
        * bridge/runtime_object.cpp:
        (RuntimeObjectImp::callAsFunction):
        * bridge/runtime_object.h:
        * page/Console.cpp:
        (WebCore::printToStandardOut):
        (WebCore::Console::debug):
        (WebCore::Console::error):
        (WebCore::Console::info):
        (WebCore::Console::log):
        (WebCore::Console::assertCondition):
        (WebCore::Console::profile):
        (WebCore::Console::profileEnd):
        (WebCore::Console::warn):
        * page/Console.h:
        * page/InspectorController.cpp:
        (WebCore::ConsoleMessage::ConsoleMessage):
        (WebCore::InspectorController::addMessageToConsole):
        * page/InspectorController.h:

WebKit/mac:

2008-06-15  Darin Adler  <darin@apple.com>

        - rename KJS::List to KJS::ArgList

        * WebView/WebScriptDebugger.h:

WebKit/win:

2008-06-15  Darin Adler  <darin@apple.com>

        - rename KJS::List to KJS::ArgList

        * WebScriptCallFrame.cpp:
        (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):

WebKitTools:

2008-06-15  Darin Adler  <darin@apple.com>

        * Scripts/do-webcore-rename: Updated for the latest round of renaming.



git-svn-id: http://svn.webkit.org/repository/webkit/trunk@34587 268f45cc-cd09-0410-ab3c-d52691b4dbfc
diff --git a/JavaScriptCore/API/JSCallbackConstructor.cpp b/JavaScriptCore/API/JSCallbackConstructor.cpp
index 72020ca..65e9d47 100644
--- a/JavaScriptCore/API/JSCallbackConstructor.cpp
+++ b/JavaScriptCore/API/JSCallbackConstructor.cpp
@@ -61,7 +61,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSCallbackConstructor::construct(ExecState* exec, const List &args)
+JSObject* JSCallbackConstructor::construct(ExecState* exec, const ArgList &args)
 {
     JSContextRef ctx = toRef(exec);
     JSObjectRef thisRef = toRef(this);
diff --git a/JavaScriptCore/API/JSCallbackConstructor.h b/JavaScriptCore/API/JSCallbackConstructor.h
index b48700d..e1012b4 100644
--- a/JavaScriptCore/API/JSCallbackConstructor.h
+++ b/JavaScriptCore/API/JSCallbackConstructor.h
@@ -40,7 +40,7 @@
     virtual bool implementsHasInstance() const;
     
     virtual ConstructType getConstructData(ConstructData&);
-    virtual JSObject* construct(ExecState*, const List& args);
+    virtual JSObject* construct(ExecState*, const ArgList& args);
     
     virtual const ClassInfo *classInfo() const { return &info; }
     static const ClassInfo info;
diff --git a/JavaScriptCore/API/JSCallbackFunction.cpp b/JavaScriptCore/API/JSCallbackFunction.cpp
index 1611174..917fffb 100644
--- a/JavaScriptCore/API/JSCallbackFunction.cpp
+++ b/JavaScriptCore/API/JSCallbackFunction.cpp
@@ -50,7 +50,7 @@
     return false; 
 }
 
-JSValue* JSCallbackFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
+JSValue* JSCallbackFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList &args)
 {
     JSContextRef execRef = toRef(exec);
     JSObjectRef thisRef = toRef(this);
diff --git a/JavaScriptCore/API/JSCallbackFunction.h b/JavaScriptCore/API/JSCallbackFunction.h
index 782e523..53f9405 100644
--- a/JavaScriptCore/API/JSCallbackFunction.h
+++ b/JavaScriptCore/API/JSCallbackFunction.h
@@ -39,7 +39,7 @@
     JSCallbackFunction(ExecState* exec, JSObjectCallAsFunctionCallback callback, const Identifier& name);
 
     virtual bool implementsHasInstance() const;
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List &args);
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList &args);
 
     virtual const ClassInfo *classInfo() const { return &info; }
     static const ClassInfo info;
diff --git a/JavaScriptCore/API/JSCallbackObject.h b/JavaScriptCore/API/JSCallbackObject.h
index 29b57a1..c640fe0 100644
--- a/JavaScriptCore/API/JSCallbackObject.h
+++ b/JavaScriptCore/API/JSCallbackObject.h
@@ -54,13 +54,13 @@
     virtual bool deleteProperty(ExecState*, unsigned);
 
     virtual ConstructType getConstructData(ConstructData&);
-    virtual JSObject* construct(ExecState*, const List& args);
+    virtual JSObject* construct(ExecState*, const ArgList& args);
 
     virtual bool implementsHasInstance() const;
     virtual bool hasInstance(ExecState *exec, JSValue *value);
 
     virtual CallType getCallData(CallData&);
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List &args);
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList &args);
 
     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
diff --git a/JavaScriptCore/API/JSCallbackObjectFunctions.h b/JavaScriptCore/API/JSCallbackObjectFunctions.h
index 3f2f3f1..38bc23d 100644
--- a/JavaScriptCore/API/JSCallbackObjectFunctions.h
+++ b/JavaScriptCore/API/JSCallbackObjectFunctions.h
@@ -247,7 +247,7 @@
 }
 
 template <class Base>
-JSObject* JSCallbackObject<Base>::construct(ExecState* exec, const List& args)
+JSObject* JSCallbackObject<Base>::construct(ExecState* exec, const ArgList& args)
 {
     JSContextRef execRef = toRef(exec);
     JSObjectRef thisRef = toRef(this);
@@ -304,7 +304,7 @@
 }
 
 template <class Base>
-JSValue* JSCallbackObject<Base>::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
+JSValue* JSCallbackObject<Base>::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList &args)
 {
     JSContextRef execRef = toRef(exec);
     JSObjectRef thisRef = toRef(this);
diff --git a/JavaScriptCore/API/JSObjectRef.cpp b/JavaScriptCore/API/JSObjectRef.cpp
index 328acc09..f5e1854 100644
--- a/JavaScriptCore/API/JSObjectRef.cpp
+++ b/JavaScriptCore/API/JSObjectRef.cpp
@@ -116,7 +116,7 @@
     
     Identifier nameID = name ? Identifier(toJS(name)) : Identifier("anonymous");
     
-    List args;
+    ArgList args;
     for (unsigned i = 0; i < parameterCount; i++)
         args.append(jsString(UString(toJS(parameterNames[i]))));
     args.append(jsString(UString(bodyRep)));
@@ -281,7 +281,7 @@
     if (!jsThisObject)
         jsThisObject = exec->globalThisValue();
 
-    List argList;
+    ArgList argList;
     for (size_t i = 0; i < argumentCount; i++)
         argList.append(toJS(arguments[i]));
 
@@ -308,7 +308,7 @@
     ExecState* exec = toJS(ctx);
     JSObject* jsObject = toJS(object);
     
-    List argList;
+    ArgList argList;
     for (size_t i = 0; i < argumentCount; i++)
         argList.append(toJS(arguments[i]));
     
diff --git a/JavaScriptCore/ChangeLog b/JavaScriptCore/ChangeLog
index 35ca005..8296865 100644
--- a/JavaScriptCore/ChangeLog
+++ b/JavaScriptCore/ChangeLog
@@ -1,5 +1,289 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        - rename KJS::List to KJS::ArgList
+
+        * API/JSCallbackConstructor.cpp:
+        (KJS::JSCallbackConstructor::construct):
+        * API/JSCallbackConstructor.h:
+        * API/JSCallbackFunction.cpp:
+        (KJS::JSCallbackFunction::callAsFunction):
+        * API/JSCallbackFunction.h:
+        * API/JSCallbackObject.h:
+        * API/JSCallbackObjectFunctions.h:
+        (KJS::::construct):
+        (KJS::::callAsFunction):
+        * API/JSObjectRef.cpp:
+        (JSObjectMakeFunction):
+        (JSObjectCallAsFunction):
+        (JSObjectCallAsConstructor):
+        * JavaScriptCore.exp:
+        * VM/Machine.cpp:
+        (KJS::Machine::execute):
+        (KJS::Machine::privateExecute):
+        * VM/Machine.h:
+        * kjs/ArrayPrototype.cpp:
+        (KJS::arrayProtoFuncToString):
+        (KJS::arrayProtoFuncToLocaleString):
+        (KJS::arrayProtoFuncJoin):
+        (KJS::arrayProtoFuncConcat):
+        (KJS::arrayProtoFuncPop):
+        (KJS::arrayProtoFuncPush):
+        (KJS::arrayProtoFuncReverse):
+        (KJS::arrayProtoFuncShift):
+        (KJS::arrayProtoFuncSlice):
+        (KJS::arrayProtoFuncSort):
+        (KJS::arrayProtoFuncSplice):
+        (KJS::arrayProtoFuncUnShift):
+        (KJS::arrayProtoFuncFilter):
+        (KJS::arrayProtoFuncMap):
+        (KJS::arrayProtoFuncEvery):
+        (KJS::arrayProtoFuncForEach):
+        (KJS::arrayProtoFuncSome):
+        (KJS::arrayProtoFuncIndexOf):
+        (KJS::arrayProtoFuncLastIndexOf):
+        (KJS::ArrayConstructor::construct):
+        (KJS::ArrayConstructor::callAsFunction):
+        * kjs/ArrayPrototype.h:
+        * kjs/BooleanObject.cpp:
+        (KJS::booleanProtoFuncToString):
+        (KJS::booleanProtoFuncValueOf):
+        (KJS::BooleanConstructor::construct):
+        (KJS::BooleanConstructor::callAsFunction):
+        * kjs/BooleanObject.h:
+        * kjs/CommonIdentifiers.h:
+        * kjs/ExecState.h:
+        (KJS::ExecState::emptyList):
+        * kjs/FunctionPrototype.cpp:
+        (KJS::FunctionPrototype::callAsFunction):
+        (KJS::functionProtoFuncToString):
+        (KJS::functionProtoFuncApply):
+        (KJS::functionProtoFuncCall):
+        (KJS::FunctionConstructor::construct):
+        (KJS::FunctionConstructor::callAsFunction):
+        * kjs/FunctionPrototype.h:
+        * kjs/JSActivation.cpp:
+        (KJS::JSActivation::createArgumentsObject):
+        * kjs/JSArray.cpp:
+        (KJS::JSArray::JSArray):
+        (KJS::AVLTreeAbstractorForArrayCompare::compare_key_key):
+        * kjs/JSArray.h:
+        * kjs/JSFunction.cpp:
+        (KJS::JSFunction::callAsFunction):
+        (KJS::JSFunction::construct):
+        (KJS::IndexToNameMap::IndexToNameMap):
+        (KJS::Arguments::Arguments):
+        (KJS::encode):
+        (KJS::decode):
+        (KJS::globalFuncEval):
+        (KJS::globalFuncParseInt):
+        (KJS::globalFuncParseFloat):
+        (KJS::globalFuncIsNaN):
+        (KJS::globalFuncIsFinite):
+        (KJS::globalFuncDecodeURI):
+        (KJS::globalFuncDecodeURIComponent):
+        (KJS::globalFuncEncodeURI):
+        (KJS::globalFuncEncodeURIComponent):
+        (KJS::globalFuncEscape):
+        (KJS::globalFuncUnescape):
+        (KJS::globalFuncKJSPrint):
+        (KJS::PrototypeFunction::callAsFunction):
+        (KJS::PrototypeReflexiveFunction::callAsFunction):
+        * kjs/JSFunction.h:
+        * kjs/JSGlobalData.h:
+        * kjs/JSImmediate.cpp:
+        (KJS::JSImmediate::toObject):
+        * kjs/JSNotAnObject.cpp:
+        (KJS::JSNotAnObject::construct):
+        (KJS::JSNotAnObject::callAsFunction):
+        * kjs/JSNotAnObject.h:
+        * kjs/JSObject.cpp:
+        (KJS::JSObject::put):
+        (KJS::JSObject::construct):
+        (KJS::JSObject::callAsFunction):
+        (KJS::Error::create):
+        * kjs/JSObject.h:
+        * kjs/MathObject.cpp:
+        (KJS::mathProtoFuncAbs):
+        (KJS::mathProtoFuncACos):
+        (KJS::mathProtoFuncASin):
+        (KJS::mathProtoFuncATan):
+        (KJS::mathProtoFuncATan2):
+        (KJS::mathProtoFuncCeil):
+        (KJS::mathProtoFuncCos):
+        (KJS::mathProtoFuncExp):
+        (KJS::mathProtoFuncFloor):
+        (KJS::mathProtoFuncLog):
+        (KJS::mathProtoFuncMax):
+        (KJS::mathProtoFuncMin):
+        (KJS::mathProtoFuncPow):
+        (KJS::mathProtoFuncRandom):
+        (KJS::mathProtoFuncRound):
+        (KJS::mathProtoFuncSin):
+        (KJS::mathProtoFuncSqrt):
+        (KJS::mathProtoFuncTan):
+        * kjs/MathObject.h:
+        * kjs/NumberObject.cpp:
+        (KJS::numberProtoFuncToString):
+        (KJS::numberProtoFuncToLocaleString):
+        (KJS::numberProtoFuncValueOf):
+        (KJS::numberProtoFuncToFixed):
+        (KJS::numberProtoFuncToExponential):
+        (KJS::numberProtoFuncToPrecision):
+        (KJS::NumberConstructor::construct):
+        (KJS::NumberConstructor::callAsFunction):
+        * kjs/NumberObject.h:
+        * kjs/RegExpObject.cpp:
+        (KJS::regExpProtoFuncTest):
+        (KJS::regExpProtoFuncExec):
+        (KJS::regExpProtoFuncCompile):
+        (KJS::regExpProtoFuncToString):
+        (KJS::RegExpObject::match):
+        (KJS::RegExpObject::test):
+        (KJS::RegExpObject::exec):
+        (KJS::RegExpObject::callAsFunction):
+        (KJS::RegExpConstructor::construct):
+        (KJS::RegExpConstructor::callAsFunction):
+        * kjs/RegExpObject.h:
+        * kjs/Shell.cpp:
+        (functionPrint):
+        (functionDebug):
+        (functionGC):
+        (functionVersion):
+        (functionRun):
+        (functionLoad):
+        (functionReadline):
+        (functionQuit):
+        * kjs/collector.cpp:
+        (KJS::Collector::collect):
+        * kjs/collector.h:
+        (KJS::Collector::markListSet):
+        * kjs/date_object.cpp:
+        (KJS::formatLocaleDate):
+        (KJS::fillStructuresUsingTimeArgs):
+        (KJS::fillStructuresUsingDateArgs):
+        (KJS::DateConstructor::construct):
+        (KJS::DateConstructor::callAsFunction):
+        (KJS::DateFunction::callAsFunction):
+        (KJS::dateProtoFuncToString):
+        (KJS::dateProtoFuncToUTCString):
+        (KJS::dateProtoFuncToDateString):
+        (KJS::dateProtoFuncToTimeString):
+        (KJS::dateProtoFuncToLocaleString):
+        (KJS::dateProtoFuncToLocaleDateString):
+        (KJS::dateProtoFuncToLocaleTimeString):
+        (KJS::dateProtoFuncValueOf):
+        (KJS::dateProtoFuncGetTime):
+        (KJS::dateProtoFuncGetFullYear):
+        (KJS::dateProtoFuncGetUTCFullYear):
+        (KJS::dateProtoFuncToGMTString):
+        (KJS::dateProtoFuncGetMonth):
+        (KJS::dateProtoFuncGetUTCMonth):
+        (KJS::dateProtoFuncGetDate):
+        (KJS::dateProtoFuncGetUTCDate):
+        (KJS::dateProtoFuncGetDay):
+        (KJS::dateProtoFuncGetUTCDay):
+        (KJS::dateProtoFuncGetHours):
+        (KJS::dateProtoFuncGetUTCHours):
+        (KJS::dateProtoFuncGetMinutes):
+        (KJS::dateProtoFuncGetUTCMinutes):
+        (KJS::dateProtoFuncGetSeconds):
+        (KJS::dateProtoFuncGetUTCSeconds):
+        (KJS::dateProtoFuncGetMilliSeconds):
+        (KJS::dateProtoFuncGetUTCMilliseconds):
+        (KJS::dateProtoFuncGetTimezoneOffset):
+        (KJS::dateProtoFuncSetTime):
+        (KJS::setNewValueFromTimeArgs):
+        (KJS::setNewValueFromDateArgs):
+        (KJS::dateProtoFuncSetMilliSeconds):
+        (KJS::dateProtoFuncSetUTCMilliseconds):
+        (KJS::dateProtoFuncSetSeconds):
+        (KJS::dateProtoFuncSetUTCSeconds):
+        (KJS::dateProtoFuncSetMinutes):
+        (KJS::dateProtoFuncSetUTCMinutes):
+        (KJS::dateProtoFuncSetHours):
+        (KJS::dateProtoFuncSetUTCHours):
+        (KJS::dateProtoFuncSetDate):
+        (KJS::dateProtoFuncSetUTCDate):
+        (KJS::dateProtoFuncSetMonth):
+        (KJS::dateProtoFuncSetUTCMonth):
+        (KJS::dateProtoFuncSetFullYear):
+        (KJS::dateProtoFuncSetUTCFullYear):
+        (KJS::dateProtoFuncSetYear):
+        (KJS::dateProtoFuncGetYear):
+        * kjs/date_object.h:
+        * kjs/debugger.h:
+        * kjs/error_object.cpp:
+        (KJS::errorProtoFuncToString):
+        (KJS::ErrorConstructor::construct):
+        (KJS::ErrorConstructor::callAsFunction):
+        (KJS::NativeErrorConstructor::construct):
+        (KJS::NativeErrorConstructor::callAsFunction):
+        * kjs/error_object.h:
+        * kjs/internal.cpp:
+        (KJS::JSNumberCell::toObject):
+        (KJS::JSNumberCell::toThisObject):
+        * kjs/list.cpp:
+        (KJS::ArgList::getSlice):
+        (KJS::ArgList::markLists):
+        (KJS::ArgList::slowAppend):
+        * kjs/list.h:
+        (KJS::ArgList::ArgList):
+        (KJS::ArgList::~ArgList):
+        * kjs/object_object.cpp:
+        (KJS::objectProtoFuncValueOf):
+        (KJS::objectProtoFuncHasOwnProperty):
+        (KJS::objectProtoFuncIsPrototypeOf):
+        (KJS::objectProtoFuncDefineGetter):
+        (KJS::objectProtoFuncDefineSetter):
+        (KJS::objectProtoFuncLookupGetter):
+        (KJS::objectProtoFuncLookupSetter):
+        (KJS::objectProtoFuncPropertyIsEnumerable):
+        (KJS::objectProtoFuncToLocaleString):
+        (KJS::objectProtoFuncToString):
+        (KJS::ObjectConstructor::construct):
+        (KJS::ObjectConstructor::callAsFunction):
+        * kjs/object_object.h:
+        * kjs/string_object.cpp:
+        (KJS::replace):
+        (KJS::stringProtoFuncToString):
+        (KJS::stringProtoFuncValueOf):
+        (KJS::stringProtoFuncCharAt):
+        (KJS::stringProtoFuncCharCodeAt):
+        (KJS::stringProtoFuncConcat):
+        (KJS::stringProtoFuncIndexOf):
+        (KJS::stringProtoFuncLastIndexOf):
+        (KJS::stringProtoFuncMatch):
+        (KJS::stringProtoFuncSearch):
+        (KJS::stringProtoFuncReplace):
+        (KJS::stringProtoFuncSlice):
+        (KJS::stringProtoFuncSplit):
+        (KJS::stringProtoFuncSubstr):
+        (KJS::stringProtoFuncSubstring):
+        (KJS::stringProtoFuncToLowerCase):
+        (KJS::stringProtoFuncToUpperCase):
+        (KJS::stringProtoFuncToLocaleLowerCase):
+        (KJS::stringProtoFuncToLocaleUpperCase):
+        (KJS::stringProtoFuncLocaleCompare):
+        (KJS::stringProtoFuncBig):
+        (KJS::stringProtoFuncSmall):
+        (KJS::stringProtoFuncBlink):
+        (KJS::stringProtoFuncBold):
+        (KJS::stringProtoFuncFixed):
+        (KJS::stringProtoFuncItalics):
+        (KJS::stringProtoFuncStrike):
+        (KJS::stringProtoFuncSub):
+        (KJS::stringProtoFuncSup):
+        (KJS::stringProtoFuncFontcolor):
+        (KJS::stringProtoFuncFontsize):
+        (KJS::stringProtoFuncAnchor):
+        (KJS::stringProtoFuncLink):
+        (KJS::StringConstructor::construct):
+        (KJS::StringConstructor::callAsFunction):
+        (KJS::StringConstructorFunction::callAsFunction):
+        * kjs/string_object.h:
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         - new names for more JavaScriptCore files
 
         * API/JSCallbackFunction.cpp:
diff --git a/JavaScriptCore/JavaScriptCore.exp b/JavaScriptCore/JavaScriptCore.exp
index 72e4e99..1e4bb12 100644
--- a/JavaScriptCore/JavaScriptCore.exp
+++ b/JavaScriptCore/JavaScriptCore.exp
@@ -129,12 +129,11 @@
 __ZN3KJS16ParserRefCounted3refEv
 __ZN3KJS16ParserRefCounted5derefEv
 __ZN3KJS17PropertyNameArray3addEPNS_7UString3RepE
-__ZN3KJS17PrototypeFunctionC1EPNS_9ExecStateEPNS_17FunctionPrototypeEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectERKNS_4ListEE
-__ZN3KJS17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectERKNS_4ListEE
+__ZN3KJS17PrototypeFunctionC1EPNS_9ExecStateEPNS_17FunctionPrototypeEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectERKNS_7ArgListEE
+__ZN3KJS17PrototypeFunctionC1EPNS_9ExecStateEiRKNS_10IdentifierEPFPNS_7JSValueES2_PNS_8JSObjectERKNS_7ArgListEE
 __ZN3KJS17RegisterFileStack20allocateRegisterFileEmPS0_
 __ZN3KJS19initializeThreadingEv
-__ZN3KJS23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectERKNS_4ListE
-__ZN3KJS4List10slowAppendEPNS_7JSValueE
+__ZN3KJS23objectProtoFuncToStringEPNS_9ExecStateEPNS_8JSObjectERKNS_7ArgListE
 __ZN3KJS5equalEPKNS_7UString3RepES3_
 __ZN3KJS6JSCell11getCallDataERNS_8CallDataE
 __ZN3KJS6JSCell16getConstructDataERNS_13ConstructDataE
@@ -152,6 +151,7 @@
 __ZN3KJS6JSLock9lockCountEv
 __ZN3KJS6Parser5parseEPNS_9ExecStateERKNS_7UStringEiN3WTF10PassRefPtrINS_14SourceProviderEEEPiSA_PS3_
 __ZN3KJS6strtodEPKcPPc
+__ZN3KJS7ArgList10slowAppendEPNS_7JSValueE
 __ZN3KJS7CStringD1Ev
 __ZN3KJS7CStringaSERKS0_
 __ZN3KJS7JSArray4infoE
@@ -176,7 +176,7 @@
 __ZN3KJS8JSObject12defineSetterEPNS_9ExecStateERKNS_10IdentifierEPS0_
 __ZN3KJS8JSObject12lookupGetterEPNS_9ExecStateERKNS_10IdentifierE
 __ZN3KJS8JSObject12lookupSetterEPNS_9ExecStateERKNS_10IdentifierE
-__ZN3KJS8JSObject14callAsFunctionEPNS_9ExecStateEPS0_RKNS_4ListE
+__ZN3KJS8JSObject14callAsFunctionEPNS_9ExecStateEPS0_RKNS_7ArgListE
 __ZN3KJS8JSObject14deletePropertyEPNS_9ExecStateERKNS_10IdentifierE
 __ZN3KJS8JSObject14deletePropertyEPNS_9ExecStateEj
 __ZN3KJS8JSObject14implementsCallEv
@@ -190,8 +190,8 @@
 __ZN3KJS8JSObject3putEPNS_9ExecStateERKNS_10IdentifierEPNS_7JSValueE
 __ZN3KJS8JSObject3putEPNS_9ExecStateEjPNS_7JSValueE
 __ZN3KJS8JSObject4markEv
-__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_4ListE
-__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_4ListERKNS_10IdentifierERKNS_7UStringEi
+__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_7ArgListE
+__ZN3KJS8JSObject9constructEPNS_9ExecStateERKNS_7ArgListERKNS_10IdentifierERKNS_7UStringEi
 __ZN3KJS8Profiler13stopProfilingEPNS_9ExecStateERKNS_7UStringE
 __ZN3KJS8Profiler14startProfilingEPNS_9ExecStateERKNS_7UStringE
 __ZN3KJS8Profiler8profilerEv
@@ -248,7 +248,6 @@
 __ZNK3KJS17DebuggerCallFrame10thisObjectEv
 __ZNK3KJS17DebuggerCallFrame12functionNameEv
 __ZNK3KJS17DebuggerCallFrame8evaluateERKNS_7UStringERPNS_7JSValueE
-__ZNK3KJS4List8getSliceEiRS0_
 __ZNK3KJS4Node8toStringEv
 __ZNK3KJS6JSCell12toThisObjectEPNS_9ExecStateE
 __ZNK3KJS6JSCell17getTruncatedInt32ERi
@@ -257,6 +256,7 @@
 __ZNK3KJS6JSCell9getStringERNS_7UStringE
 __ZNK3KJS6JSCell9getStringEv
 __ZNK3KJS6JSCell9getUInt32ERj
+__ZNK3KJS7ArgList8getSliceEiRS0_
 __ZNK3KJS7JSArray7getItemEj
 __ZNK3KJS7JSValue15toInt32SlowCaseEPNS_9ExecStateERb
 __ZNK3KJS7JSValue16toUInt32SlowCaseEPNS_9ExecStateERb
diff --git a/JavaScriptCore/VM/Machine.cpp b/JavaScriptCore/VM/Machine.cpp
index 978cc32..7797616 100644
--- a/JavaScriptCore/VM/Machine.cpp
+++ b/JavaScriptCore/VM/Machine.cpp
@@ -684,7 +684,7 @@
     return result;
 }
 
-JSValue* Machine::execute(FunctionBodyNode* functionBodyNode, ExecState* exec, JSFunction* function, JSObject* thisObj, const List& args, RegisterFileStack* registerFileStack, ScopeChainNode* scopeChain, JSValue** exception)
+JSValue* Machine::execute(FunctionBodyNode* functionBodyNode, ExecState* exec, JSFunction* function, JSObject* thisObj, const ArgList& args, RegisterFileStack* registerFileStack, ScopeChainNode* scopeChain, JSValue** exception)
 {
     if (m_reentryDepth >= MaxReentryDepth) {
         *exception = createStackOverflowError(exec);
@@ -711,8 +711,8 @@
     Register* dst = callFrame + CallFrameHeaderSize;
     (*dst).u.jsValue = thisObj;
 
-    List::const_iterator end = args.end();
-    for (List::const_iterator it = args.begin(); it != end; ++it)
+    ArgList::const_iterator end = args.end();
+    for (ArgList::const_iterator it = args.begin(); it != end; ++it)
         (*++dst).u.jsValue = *it;
 
     // put call frame in place, using a 0 codeBlock to indicate a built-in caller
@@ -2114,7 +2114,7 @@
             r[firstArg].u.jsValue = thisVal == missingThisObjectMarker() ? exec->globalThisValue() : (r[thisVal].u.jsValue)->toObject(exec);
             JSObject* thisObj = static_cast<JSObject*>(r[firstArg].u.jsValue);
 
-            List args(reinterpret_cast<JSValue***>(registerBase), registerOffset + firstArg + 1, argCount - 1);
+            ArgList args(reinterpret_cast<JSValue***>(registerBase), registerOffset + firstArg + 1, argCount - 1);
 
             registerFile->setSafeForReentry(true);
             JSValue* returnValue = static_cast<JSObject*>(v)->callAsFunction(exec, thisObj, args);
@@ -2251,7 +2251,7 @@
 
             int registerOffset = r - (*registerBase);
 
-            List args(reinterpret_cast<JSValue***>(registerBase), registerOffset + firstArg + 1, argCount - 1);
+            ArgList args(reinterpret_cast<JSValue***>(registerBase), registerOffset + firstArg + 1, argCount - 1);
 
             registerFile->setSafeForReentry(true);
             JSValue* returnValue = constructor->construct(exec, args);
diff --git a/JavaScriptCore/VM/Machine.h b/JavaScriptCore/VM/Machine.h
index 5005994..91b0a42 100644
--- a/JavaScriptCore/VM/Machine.h
+++ b/JavaScriptCore/VM/Machine.h
@@ -99,7 +99,7 @@
         bool isOpcode(Opcode opcode);
 
         JSValue* execute(ProgramNode*, ExecState*, ScopeChainNode*, JSObject* thisObj, RegisterFileStack*, JSValue** exception);
-        JSValue* execute(FunctionBodyNode*, ExecState*, JSFunction*, JSObject* thisObj, const List& args, RegisterFileStack*, ScopeChainNode*, JSValue** exception);
+        JSValue* execute(FunctionBodyNode*, ExecState*, JSFunction*, JSObject* thisObj, const ArgList& args, RegisterFileStack*, ScopeChainNode*, JSValue** exception);
         JSValue* execute(EvalNode*, ExecState*, JSObject* thisObj, RegisterFile*, int registerOffset, ScopeChainNode*, JSValue** exception);
         JSValue* execute(EvalNode*, ExecState*, JSObject* thisObj, RegisterFileStack*, ScopeChainNode*, JSValue** exception);
 
diff --git a/JavaScriptCore/kjs/ArrayPrototype.cpp b/JavaScriptCore/kjs/ArrayPrototype.cpp
index 1409fe0..5e7847b 100644
--- a/JavaScriptCore/kjs/ArrayPrototype.cpp
+++ b/JavaScriptCore/kjs/ArrayPrototype.cpp
@@ -88,7 +88,7 @@
     return slot.getValue(exec, index);
 }
 
-JSValue* arrayProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* arrayProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&JSArray::info))
         return throwError(exec, TypeError);
@@ -131,7 +131,7 @@
     return jsString(UString(strBuffer.data(), strBuffer.data() ? strBuffer.size() : 0));
 }
 
-JSValue* arrayProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* arrayProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&JSArray::info))
         return throwError(exec, TypeError);
@@ -180,7 +180,7 @@
     return jsString(UString(strBuffer.data(), strBuffer.data() ? strBuffer.size() : 0));
 }
 
-JSValue* arrayProtoFuncJoin(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncJoin(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     HashSet<JSObject*>& arrayVisitedElements = exec->dynamicGlobalObject()->arrayVisitedElements();
     if (arrayVisitedElements.size() > MaxReentryDepth)
@@ -223,14 +223,14 @@
     return jsString(UString(strBuffer.data(), strBuffer.data() ? strBuffer.size() : 0));
 }
 
-JSValue* arrayProtoFuncConcat(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncConcat(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* arr = static_cast<JSObject*>(exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList()));
     int n = 0;
     JSValue* curArg = thisObj;
     JSObject* curObj = static_cast<JSObject* >(thisObj);
-    List::const_iterator it = args.begin();
-    List::const_iterator end = args.end();
+    ArgList::const_iterator it = args.begin();
+    ArgList::const_iterator end = args.end();
     while (1) {
         if (curArg->isObject() && curObj->inherits(&JSArray::info)) {
             unsigned k = 0;
@@ -257,7 +257,7 @@
     return arr;
 }
 
-JSValue* arrayProtoFuncPop(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* arrayProtoFuncPop(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     JSValue* result = 0;
     unsigned length = thisObj->get(exec, exec->propertyNames().length)->toUInt32(exec);
@@ -272,7 +272,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncPush(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncPush(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     unsigned length = thisObj->get(exec, exec->propertyNames().length)->toUInt32(exec);
     for (unsigned n = 0; n < args.size(); n++)
@@ -282,7 +282,7 @@
     return jsNumber(length);
 }
 
-JSValue* arrayProtoFuncReverse(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* arrayProtoFuncReverse(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     unsigned length = thisObj->get(exec, exec->propertyNames().length)->toUInt32(exec);
     unsigned middle = length / 2;
@@ -305,7 +305,7 @@
     return thisObj;
 }
 
-JSValue* arrayProtoFuncShift(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* arrayProtoFuncShift(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     JSValue* result = 0;
 
@@ -327,7 +327,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncSlice(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncSlice(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // http://developer.netscape.com/docs/manuals/js/client/jsref/array.htm#1193713 or 15.4.4.10
 
@@ -370,7 +370,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncSort(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncSort(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* sortFunction = 0;
     if (!args[0]->isUndefined()) {
@@ -406,7 +406,7 @@
             else if (minObj->isUndefined())
                 compareResult = -1;
             else if (sortFunction) {
-                List l;
+                ArgList l;
                 l.append(jObj);
                 l.append(minObj);
                 compareResult = sortFunction->callAsFunction(exec, exec->globalThisValue(), l)->toNumber(exec);
@@ -427,7 +427,7 @@
     return thisObj;
 }
 
-JSValue* arrayProtoFuncSplice(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncSplice(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // 15.4.4.12
     JSObject* resObj = static_cast<JSObject* >(exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, exec->emptyList()));
@@ -480,7 +480,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncUnShift(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncUnShift(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // 15.4.4.13
     unsigned length = thisObj->get(exec, exec->propertyNames().length)->toUInt32(exec);
@@ -500,7 +500,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncFilter(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncFilter(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* eachFunction = args[0]->toObject(exec);
 
@@ -520,7 +520,7 @@
 
         JSValue* v = slot.getValue(exec, k);
 
-        List eachArguments;
+        ArgList eachArguments;
 
         eachArguments.append(v);
         eachArguments.append(jsNumber(k));
@@ -534,7 +534,7 @@
     return resultArray;
 }
 
-JSValue* arrayProtoFuncMap(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncMap(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* eachFunction = args[0]->toObject(exec);
     if (!eachFunction->implementsCall())
@@ -544,7 +544,7 @@
 
     unsigned length = thisObj->get(exec, exec->propertyNames().length)->toUInt32(exec);
 
-    List mapArgs;
+    ArgList mapArgs;
     mapArgs.append(jsNumber(length));
     JSObject* resultArray = static_cast<JSObject*>(exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, mapArgs));
 
@@ -555,7 +555,7 @@
 
         JSValue* v = slot.getValue(exec, k);
 
-        List eachArguments;
+        ArgList eachArguments;
 
         eachArguments.append(v);
         eachArguments.append(jsNumber(k));
@@ -573,7 +573,7 @@
 // http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:forEach
 // http://developer-test.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Objects:Array:some
 
-JSValue* arrayProtoFuncEvery(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncEvery(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* eachFunction = args[0]->toObject(exec);
 
@@ -591,7 +591,7 @@
         if (!thisObj->getPropertySlot(exec, k, slot))
             continue;
 
-        List eachArguments;
+        ArgList eachArguments;
 
         eachArguments.append(slot.getValue(exec, k));
         eachArguments.append(jsNumber(k));
@@ -608,7 +608,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncForEach(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncForEach(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* eachFunction = args[0]->toObject(exec);
 
@@ -623,7 +623,7 @@
         if (!thisObj->getPropertySlot(exec, k, slot))
             continue;
 
-        List eachArguments;
+        ArgList eachArguments;
         eachArguments.append(slot.getValue(exec, k));
         eachArguments.append(jsNumber(k));
         eachArguments.append(thisObj);
@@ -633,7 +633,7 @@
     return jsUndefined();
 }
 
-JSValue* arrayProtoFuncSome(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncSome(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSObject* eachFunction = args[0]->toObject(exec);
 
@@ -650,7 +650,7 @@
         if (!thisObj->getPropertySlot(exec, k, slot))
             continue;
 
-        List eachArguments;
+        ArgList eachArguments;
         eachArguments.append(slot.getValue(exec, k));
         eachArguments.append(jsNumber(k));
         eachArguments.append(thisObj);
@@ -665,7 +665,7 @@
     return result;
 }
 
-JSValue* arrayProtoFuncIndexOf(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncIndexOf(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // JavaScript 1.5 Extension by Mozilla
     // Documentation: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:indexOf
@@ -694,7 +694,7 @@
     return jsNumber(-1);
 }
 
-JSValue* arrayProtoFuncLastIndexOf(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* arrayProtoFuncLastIndexOf(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // JavaScript 1.6 Extension by Mozilla
     // Documentation: http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Reference:Global_Objects:Array:lastIndexOf
@@ -741,7 +741,7 @@
 }
 
 // ECMA 15.4.2
-JSObject* ArrayConstructor::construct(ExecState* exec, const List& args)
+JSObject* ArrayConstructor::construct(ExecState* exec, const ArgList& args)
 {
     // a single numeric argument denotes the array size (!)
     if (args.size() == 1 && args[0]->isNumber()) {
@@ -756,7 +756,7 @@
 }
 
 // ECMA 15.6.1
-JSValue* ArrayConstructor::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* ArrayConstructor::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     // equivalent to 'new Array(....)'
     return construct(exec,args);
diff --git a/JavaScriptCore/kjs/ArrayPrototype.h b/JavaScriptCore/kjs/ArrayPrototype.h
index d39aaa8..1f1819c 100644
--- a/JavaScriptCore/kjs/ArrayPrototype.h
+++ b/JavaScriptCore/kjs/ArrayPrototype.h
@@ -41,31 +41,31 @@
     ArrayConstructor(ExecState*, FunctionPrototype*, ArrayPrototype*);
 
     virtual ConstructType getConstructData(ConstructData&);
-    virtual JSObject* construct(ExecState*, const List&);
+    virtual JSObject* construct(ExecState*, const ArgList&);
 
-    virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+    virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
 
   };
 
-  JSValue* arrayProtoFuncToString(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncToLocaleString(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncConcat(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncJoin(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncPop(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncPush(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncReverse(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncShift(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncSlice(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncSort(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncSplice(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncUnShift(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncEvery(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncForEach(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncSome(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncIndexOf(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncFilter(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncMap(ExecState*, JSObject*, const List&);
-  JSValue* arrayProtoFuncLastIndexOf(ExecState*, JSObject*, const List&);
+  JSValue* arrayProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncToLocaleString(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncConcat(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncJoin(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncPop(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncPush(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncReverse(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncShift(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncSlice(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncSort(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncSplice(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncUnShift(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncEvery(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncForEach(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncSome(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncIndexOf(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncFilter(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncMap(ExecState*, JSObject*, const ArgList&);
+  JSValue* arrayProtoFuncLastIndexOf(ExecState*, JSObject*, const ArgList&);
 
 } // namespace KJS
 
diff --git a/JavaScriptCore/kjs/BooleanObject.cpp b/JavaScriptCore/kjs/BooleanObject.cpp
index 131e971..7a05cfb 100644
--- a/JavaScriptCore/kjs/BooleanObject.cpp
+++ b/JavaScriptCore/kjs/BooleanObject.cpp
@@ -40,8 +40,8 @@
 // ------------------------------ BooleanPrototype --------------------------
 
 // Functions
-static JSValue* booleanProtoFuncToString(ExecState*, JSObject*, const List&);
-static JSValue* booleanProtoFuncValueOf(ExecState*, JSObject*, const List&);
+static JSValue* booleanProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+static JSValue* booleanProtoFuncValueOf(ExecState*, JSObject*, const ArgList&);
 
 // ECMA 15.6.4
 
@@ -59,7 +59,7 @@
 
 // ECMA 15.6.4.2 + 15.6.4.3
 
-JSValue* booleanProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* booleanProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&BooleanObject::info))
         return throwError(exec, TypeError);
@@ -69,7 +69,7 @@
 
     return jsString(v->toString(exec));
 }
-JSValue* booleanProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* booleanProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&BooleanObject::info))
         return throwError(exec, TypeError);
@@ -99,7 +99,7 @@
 }
 
 // ECMA 15.6.2
-JSObject* BooleanConstructor::construct(ExecState* exec, const List& args)
+JSObject* BooleanConstructor::construct(ExecState* exec, const ArgList& args)
 {
     BooleanObject* obj(new BooleanObject(exec->lexicalGlobalObject()->booleanPrototype()));
     obj->setInternalValue(jsBoolean(args[0]->toBoolean(exec)));
@@ -107,7 +107,7 @@
 }
 
 // ECMA 15.6.1
-JSValue* BooleanConstructor::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* BooleanConstructor::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     // TODO: optimize for bool case
     return jsBoolean(args[0]->toBoolean(exec));
diff --git a/JavaScriptCore/kjs/BooleanObject.h b/JavaScriptCore/kjs/BooleanObject.h
index 3365c01..80b6709 100644
--- a/JavaScriptCore/kjs/BooleanObject.h
+++ b/JavaScriptCore/kjs/BooleanObject.h
@@ -55,9 +55,9 @@
         BooleanConstructor(ExecState*, FunctionPrototype*, BooleanPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
     };
 
 } // namespace KJS
diff --git a/JavaScriptCore/kjs/CommonIdentifiers.h b/JavaScriptCore/kjs/CommonIdentifiers.h
index e6e9112..4274519 100644
--- a/JavaScriptCore/kjs/CommonIdentifiers.h
+++ b/JavaScriptCore/kjs/CommonIdentifiers.h
@@ -24,7 +24,7 @@
 #include "identifier.h"
 #include <wtf/Noncopyable.h>
 
-// List of property names, passed to a macro so we can do set them up various
+// ArgList of property names, passed to a macro so we can do set them up various
 // ways without repeating the list.
 #define KJS_COMMON_IDENTIFIERS_EACH_PROPERTY_NAME(macro) \
     macro(__defineGetter__) \
diff --git a/JavaScriptCore/kjs/ExecState.h b/JavaScriptCore/kjs/ExecState.h
index 8beb61a..4916159 100644
--- a/JavaScriptCore/kjs/ExecState.h
+++ b/JavaScriptCore/kjs/ExecState.h
@@ -81,7 +81,7 @@
 
         IdentifierTable* identifierTable() { return m_globalData->identifierTable; }
         const CommonIdentifiers& propertyNames() const { return *m_globalData->propertyNames; }
-        const List& emptyList() const { return m_globalData->emptyList; }
+        const ArgList& emptyList() const { return m_globalData->emptyList; }
         Lexer* lexer() { return m_globalData->lexer; }
         Parser* parser() { return m_globalData->parser; }
         static const HashTable* arrayTable(ExecState* exec) { return exec->m_globalData->arrayTable; }
diff --git a/JavaScriptCore/kjs/FunctionPrototype.cpp b/JavaScriptCore/kjs/FunctionPrototype.cpp
index fa30cd4..6e055f19f 100644
--- a/JavaScriptCore/kjs/FunctionPrototype.cpp
+++ b/JavaScriptCore/kjs/FunctionPrototype.cpp
@@ -38,9 +38,9 @@
 
 // ------------------------------ FunctionPrototype -------------------------
 
-static JSValue* functionProtoFuncToString(ExecState*, JSObject*, const List&);
-static JSValue* functionProtoFuncApply(ExecState*, JSObject*, const List&);
-static JSValue* functionProtoFuncCall(ExecState*, JSObject*, const List&);
+static JSValue* functionProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionProtoFuncApply(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionProtoFuncCall(ExecState*, JSObject*, const ArgList&);
 
 FunctionPrototype::FunctionPrototype(ExecState* exec)
 {
@@ -52,14 +52,14 @@
 }
 
 // ECMA 15.3.4
-JSValue* FunctionPrototype::callAsFunction(ExecState*, JSObject*, const List&)
+JSValue* FunctionPrototype::callAsFunction(ExecState*, JSObject*, const ArgList&)
 {
     return jsUndefined();
 }
 
 // Functions
 
-JSValue* functionProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* functionProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj || !thisObj->inherits(&InternalFunction::info)) {
 #ifndef NDEBUG
@@ -76,7 +76,7 @@
     return jsString("function " + static_cast<InternalFunction*>(thisObj)->functionName().ustring() + "() {\n    [native code]\n}");
 }
 
-JSValue* functionProtoFuncApply(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* functionProtoFuncApply(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->implementsCall())
         return throwError(exec, TypeError);
@@ -90,7 +90,7 @@
     else
         applyThis = thisArg->toObject(exec);
 
-    List applyArgs;
+    ArgList applyArgs;
     if (!argArray->isUndefinedOrNull()) {
         if (argArray->isObject() &&
             (static_cast<JSObject*>(argArray)->inherits(&JSArray::info) ||
@@ -107,7 +107,7 @@
     return thisObj->callAsFunction(exec, applyThis, applyArgs);
 }
 
-JSValue* functionProtoFuncCall(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* functionProtoFuncCall(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->implementsCall())
         return throwError(exec, TypeError);
@@ -120,7 +120,7 @@
     else
         callThis = thisArg->toObject(exec);
 
-    List argsTail;
+    ArgList argsTail;
     args.getSlice(1, argsTail);
     return thisObj->callAsFunction(exec, callThis, argsTail);
 }
@@ -142,7 +142,7 @@
 }
 
 // ECMA 15.3.2 The Function Constructor
-JSObject* FunctionConstructor::construct(ExecState* exec, const List& args, const Identifier& functionName, const UString& sourceURL, int lineNumber)
+JSObject* FunctionConstructor::construct(ExecState* exec, const ArgList& args, const Identifier& functionName, const UString& sourceURL, int lineNumber)
 {
     UString p("");
     UString body;
@@ -215,13 +215,13 @@
 }
 
 // ECMA 15.3.2 The Function Constructor
-JSObject* FunctionConstructor::construct(ExecState* exec, const List& args)
+JSObject* FunctionConstructor::construct(ExecState* exec, const ArgList& args)
 {
     return construct(exec, args, "anonymous", UString(), 1);
 }
 
 // ECMA 15.3.1 The Function Constructor Called as a Function
-JSValue* FunctionConstructor::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* FunctionConstructor::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     return construct(exec, args);
 }
diff --git a/JavaScriptCore/kjs/FunctionPrototype.h b/JavaScriptCore/kjs/FunctionPrototype.h
index 03fd954..d66e06d 100644
--- a/JavaScriptCore/kjs/FunctionPrototype.h
+++ b/JavaScriptCore/kjs/FunctionPrototype.h
@@ -38,7 +38,7 @@
     public:
         FunctionPrototype(ExecState*);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
     };
 
     /**
@@ -51,10 +51,10 @@
         FunctionConstructor(ExecState*, FunctionPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
-        virtual JSObject* construct(ExecState*, const List&, const Identifier& functionName, const UString& sourceURL, int lineNumber);
+        virtual JSObject* construct(ExecState*, const ArgList&);
+        virtual JSObject* construct(ExecState*, const ArgList&, const Identifier& functionName, const UString& sourceURL, int lineNumber);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
     };
 
 } // namespace KJS
diff --git a/JavaScriptCore/kjs/JSActivation.cpp b/JavaScriptCore/kjs/JSActivation.cpp
index 9243dcd..325266c 100644
--- a/JavaScriptCore/kjs/JSActivation.cpp
+++ b/JavaScriptCore/kjs/JSActivation.cpp
@@ -185,7 +185,7 @@
     Register* argv;
     int argc;
     exec->machine()->getFunctionAndArguments(registerBase(), callFrame, function, argv, argc);
-    List args(reinterpret_cast<JSValue***>(registerBase()), argv - *registerBase(), argc);
+    ArgList args(reinterpret_cast<JSValue***>(registerBase()), argv - *registerBase(), argc);
     return new Arguments(exec, function, args, this);
 }
 
diff --git a/JavaScriptCore/kjs/JSArray.cpp b/JavaScriptCore/kjs/JSArray.cpp
index 430969e..1a15e1c 100644
--- a/JavaScriptCore/kjs/JSArray.cpp
+++ b/JavaScriptCore/kjs/JSArray.cpp
@@ -93,7 +93,7 @@
     checkConsistency();
 }
 
-JSArray::JSArray(JSObject* prototype, const List& list)
+JSArray::JSArray(JSObject* prototype, const ArgList& list)
     : JSObject(prototype)
 {
     unsigned length = list.size();
@@ -107,8 +107,8 @@
     storage->m_sparseValueMap = 0;
 
     size_t i = 0;
-    List::const_iterator end = list.end();
-    for (List::const_iterator it = list.begin(); it != end; ++it, ++i)
+    ArgList::const_iterator end = list.end();
+    for (ArgList::const_iterator it = list.begin(); it != end; ++it, ++i)
         storage->m_vector[i] = *it;
 
     m_storage = storage;
@@ -592,7 +592,7 @@
         if (m_exec->hadException())
             return 1;
 
-        List arguments;
+        ArgList arguments;
         arguments.append(va);
         arguments.append(vb);
         double compareResult = m_compareFunction->callAsFunction(m_exec, m_globalThisValue, arguments)->toNumber(m_exec);
diff --git a/JavaScriptCore/kjs/JSArray.h b/JavaScriptCore/kjs/JSArray.h
index dd364cb..6124374 100644
--- a/JavaScriptCore/kjs/JSArray.h
+++ b/JavaScriptCore/kjs/JSArray.h
@@ -31,7 +31,7 @@
   class JSArray : public JSObject {
   public:
     JSArray(JSObject* prototype, unsigned initialLength);
-    JSArray(JSObject* prototype, const List& initialValues);
+    JSArray(JSObject* prototype, const ArgList& initialValues);
     ~JSArray();
 
     virtual bool getOwnPropertySlot(ExecState*, const Identifier& propertyName, PropertySlot&);
diff --git a/JavaScriptCore/kjs/JSFunction.cpp b/JavaScriptCore/kjs/JSFunction.cpp
index eea9326..27ce2df 100644
--- a/JavaScriptCore/kjs/JSFunction.cpp
+++ b/JavaScriptCore/kjs/JSFunction.cpp
@@ -80,7 +80,7 @@
     return CallTypeJS;
 }
 
-JSValue* JSFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* JSFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     JSValue* exception = 0;
     RegisterFileStack* stack = &exec->dynamicGlobalObject()->registerFileStack();
@@ -186,7 +186,7 @@
     return ConstructTypeJS;
 }
 
-JSObject* JSFunction::construct(ExecState* exec, const List& args)
+JSObject* JSFunction::construct(ExecState* exec, const ArgList& args)
 {
     JSObject* proto;
     JSValue* p = get(exec, exec->propertyNames().prototype);
@@ -220,14 +220,14 @@
 // We use Identifier::null to indicate that a given argument's value
 // isn't stored in the activation object.
 
-IndexToNameMap::IndexToNameMap(JSFunction* func, const List& args)
+IndexToNameMap::IndexToNameMap(JSFunction* func, const ArgList& args)
 {
   _map = new Identifier[args.size()];
   this->size = args.size();
   
   unsigned i = 0;
-  List::const_iterator end = args.end();
-  for (List::const_iterator it = args.begin(); it != end; ++i, ++it)
+  ArgList::const_iterator end = args.end();
+  for (ArgList::const_iterator it = args.begin(); it != end; ++i, ++it)
     _map[i] = func->getParameterName(i); // null if there is no corresponding parameter
 }
 
@@ -278,7 +278,7 @@
 const ClassInfo Arguments::info = { "Arguments", 0, 0, 0 };
 
 // ECMA 10.1.8
-Arguments::Arguments(ExecState* exec, JSFunction* func, const List& args, JSActivation* act)
+Arguments::Arguments(ExecState* exec, JSFunction* func, const ArgList& args, JSActivation* act)
     : JSObject(exec->lexicalGlobalObject()->objectPrototype())
     , _activationObject(act)
     , indexToNameMap(func, args)
@@ -287,8 +287,8 @@
     putDirect(exec->propertyNames().length, args.size(), DontEnum);
   
     int i = 0;
-    List::const_iterator end = args.end();
-    for (List::const_iterator it = args.begin(); it != end; ++it, ++i) {
+    ArgList::const_iterator end = args.end();
+    for (ArgList::const_iterator it = args.begin(); it != end; ++it, ++i) {
         Identifier name = Identifier::from(i);
         if (!indexToNameMap.isMapped(name))
             putDirect(name, *it, DontEnum);
@@ -338,7 +338,7 @@
 
 // ------------------------------ Global Functions -----------------------------------
 
-static JSValue* encode(ExecState* exec, const List& args, const char* do_not_escape)
+static JSValue* encode(ExecState* exec, const ArgList& args, const char* do_not_escape)
 {
   UString r = "", s, str = args[0]->toString(exec);
   CString cstr = str.UTF8String(true);
@@ -358,7 +358,7 @@
   return jsString(r);
 }
 
-static JSValue* decode(ExecState* exec, const List& args, const char* do_not_unescape, bool strict)
+static JSValue* decode(ExecState* exec, const ArgList& args, const char* do_not_unescape, bool strict)
 {
   UString s = "", str = args[0]->toString(exec);
   int k = 0, len = str.size();
@@ -557,7 +557,7 @@
     return s.toDouble( true /*tolerant*/, false /* NaN for empty string */ );
 }
 
-JSValue* globalFuncEval(ExecState* exec, PrototypeReflexiveFunction* function, JSObject* thisObj, const List& args)
+JSValue* globalFuncEval(ExecState* exec, PrototypeReflexiveFunction* function, JSObject* thisObj, const ArgList& args)
 {
     JSGlobalObject* globalObject = thisObj->toGlobalObject(exec);
 
@@ -590,28 +590,28 @@
     return value ? value : jsUndefined();
 }
 
-JSValue* globalFuncParseInt(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncParseInt(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(parseInt(args[0]->toString(exec), args[1]->toInt32(exec)));
 }
 
-JSValue* globalFuncParseFloat(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncParseFloat(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(parseFloat(args[0]->toString(exec)));
 }
 
-JSValue* globalFuncIsNaN(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncIsNaN(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsBoolean(isnan(args[0]->toNumber(exec)));
 }
 
-JSValue* globalFuncIsFinite(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncIsFinite(ExecState* exec, JSObject*, const ArgList& args)
 {
     double n = args[0]->toNumber(exec);
     return jsBoolean(!isnan(n) && !isinf(n));
 }
 
-JSValue* globalFuncDecodeURI(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncDecodeURI(ExecState* exec, JSObject*, const ArgList& args)
 {
     static const char do_not_unescape_when_decoding_URI[] =
         "#$&+,/:;=?@";
@@ -619,12 +619,12 @@
     return decode(exec, args, do_not_unescape_when_decoding_URI, true);
 }
 
-JSValue* globalFuncDecodeURIComponent(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncDecodeURIComponent(ExecState* exec, JSObject*, const ArgList& args)
 {
     return decode(exec, args, "", true);
 }
 
-JSValue* globalFuncEncodeURI(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncEncodeURI(ExecState* exec, JSObject*, const ArgList& args)
 {
     static const char do_not_escape_when_encoding_URI[] =
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -635,7 +635,7 @@
     return encode(exec, args, do_not_escape_when_encoding_URI);
 }
 
-JSValue* globalFuncEncodeURIComponent(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncEncodeURIComponent(ExecState* exec, JSObject*, const ArgList& args)
 {
     static const char do_not_escape_when_encoding_URI_component[] =
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -646,7 +646,7 @@
     return encode(exec, args, do_not_escape_when_encoding_URI_component);
 }
 
-JSValue* globalFuncEscape(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncEscape(ExecState* exec, JSObject*, const ArgList& args)
 {
     static const char do_not_escape[] =
         "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
@@ -675,7 +675,7 @@
     return jsString(r);
 }
 
-JSValue* globalFuncUnescape(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncUnescape(ExecState* exec, JSObject*, const ArgList& args)
 {
     UString s = "", str = args[0]->toString(exec);
     int k = 0, len = str.size();
@@ -701,7 +701,7 @@
 }
 
 #ifndef NDEBUG
-JSValue* globalFuncKJSPrint(ExecState* exec, JSObject*, const List& args)
+JSValue* globalFuncKJSPrint(ExecState* exec, JSObject*, const ArgList& args)
 {
     CStringBuffer string;
     args[0]->toString(exec).getCString(string);
@@ -728,7 +728,7 @@
     putDirect(exec->propertyNames().length, jsNumber(len), DontDelete | ReadOnly | DontEnum);
 }
 
-JSValue* PrototypeFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* PrototypeFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return m_function(exec, thisObj, args);
 }
@@ -745,7 +745,7 @@
     putDirect(exec->propertyNames().length, jsNumber(len), DontDelete | ReadOnly | DontEnum);
 }
 
-JSValue* PrototypeReflexiveFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* PrototypeReflexiveFunction::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return m_function(exec, this, thisObj, args);
 }
diff --git a/JavaScriptCore/kjs/JSFunction.h b/JavaScriptCore/kjs/JSFunction.h
index a861495..68aae05 100644
--- a/JavaScriptCore/kjs/JSFunction.h
+++ b/JavaScriptCore/kjs/JSFunction.h
@@ -44,7 +44,7 @@
 
     virtual CallType getCallData(CallData&);
 
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObjec, const List& args) = 0;
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObjec, const ArgList& args) = 0;
     virtual bool implementsHasInstance() const;
 
     virtual const ClassInfo* classInfo() const { return &info; }
@@ -64,10 +64,10 @@
     virtual bool deleteProperty(ExecState*, const Identifier& propertyName);
 
     virtual ConstructType getConstructData(ConstructData&);
-    virtual JSObject* construct(ExecState*, const List& args);
+    virtual JSObject* construct(ExecState*, const ArgList& args);
 
     virtual CallType getCallData(CallData&);
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List& args);
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList& args);
 
     // Note: unlike body->paramName, this returns Identifier::null for parameters 
     // that will never get set, due to later param having the same name
@@ -93,7 +93,7 @@
 
   class IndexToNameMap {
   public:
-    IndexToNameMap(JSFunction*, const List& args);
+    IndexToNameMap(JSFunction*, const ArgList& args);
     ~IndexToNameMap();
     
     Identifier& operator[](const Identifier& index);
@@ -107,7 +107,7 @@
   
   class Arguments : public JSObject {
   public:
-    Arguments(ExecState*, JSFunction* func, const List& args, JSActivation* act);
+    Arguments(ExecState*, JSFunction* func, const ArgList& args, JSActivation* act);
     virtual void mark();
     virtual bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
     virtual void put(ExecState*, const Identifier& propertyName, JSValue*);
@@ -123,12 +123,12 @@
 
   class PrototypeFunction : public InternalFunction {
   public:
-    typedef JSValue* (*JSMemberFunction)(ExecState*, JSObject* thisObj, const List&);
+    typedef JSValue* (*JSMemberFunction)(ExecState*, JSObject* thisObj, const ArgList&);
 
     PrototypeFunction(ExecState*, int len, const Identifier&, JSMemberFunction);
     PrototypeFunction(ExecState*, FunctionPrototype*, int len, const Identifier&, JSMemberFunction);
 
-    virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const List&);
+    virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList&);
 
   private:
     const JSMemberFunction m_function;
@@ -138,12 +138,12 @@
   // Just like PrototypeFunction, but callbacks also get passed the JS function object.
   class PrototypeReflexiveFunction : public InternalFunction {
   public:
-    typedef JSValue* (*JSMemberFunction)(ExecState*, PrototypeReflexiveFunction*, JSObject* thisObj, const List&);
+    typedef JSValue* (*JSMemberFunction)(ExecState*, PrototypeReflexiveFunction*, JSObject* thisObj, const ArgList&);
 
     PrototypeReflexiveFunction(ExecState*, FunctionPrototype*, int len, const Identifier&, JSMemberFunction, JSGlobalObject* expectedThisObject);
 
     virtual void mark();
-    virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const List&);
+    virtual JSValue* callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList&);
 
     JSGlobalObject* cachedGlobalObject() const { return m_cachedGlobalObject; }
 
@@ -153,19 +153,19 @@
   };
 
     // Global Functions
-    JSValue* globalFuncEval(ExecState*, PrototypeReflexiveFunction*, JSObject*, const List&);
-    JSValue* globalFuncParseInt(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncParseFloat(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncIsNaN(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncIsFinite(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncDecodeURI(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncDecodeURIComponent(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncEncodeURI(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncEncodeURIComponent(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncEscape(ExecState*, JSObject*, const List&);
-    JSValue* globalFuncUnescape(ExecState*, JSObject*, const List&);
+    JSValue* globalFuncEval(ExecState*, PrototypeReflexiveFunction*, JSObject*, const ArgList&);
+    JSValue* globalFuncParseInt(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncParseFloat(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncIsNaN(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncIsFinite(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncDecodeURI(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncDecodeURIComponent(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncEncodeURI(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncEncodeURIComponent(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncEscape(ExecState*, JSObject*, const ArgList&);
+    JSValue* globalFuncUnescape(ExecState*, JSObject*, const ArgList&);
 #ifndef NDEBUG
-    JSValue* globalFuncKJSPrint(ExecState*, JSObject*, const List&);
+    JSValue* globalFuncKJSPrint(ExecState*, JSObject*, const ArgList&);
 #endif
 
     static const double mantissaOverflowLowerBound = 9007199254740992.0;
diff --git a/JavaScriptCore/kjs/JSGlobalData.h b/JavaScriptCore/kjs/JSGlobalData.h
index be9880e..d35d99f 100644
--- a/JavaScriptCore/kjs/JSGlobalData.h
+++ b/JavaScriptCore/kjs/JSGlobalData.h
@@ -69,7 +69,7 @@
 
         IdentifierTable* identifierTable;
         CommonIdentifiers* propertyNames;
-        const List emptyList; // Lists are supposed to be allocated on the stack to have their elements properly marked, which is not the case here - but this list has nothing to mark.
+        const ArgList emptyList; // Lists are supposed to be allocated on the stack to have their elements properly marked, which is not the case here - but this list has nothing to mark.
 
         HashSet<ParserRefCounted*> newTrackedObjects;
         HashCountedSet<ParserRefCounted*> trackedObjectExtraRefCounts;
diff --git a/JavaScriptCore/kjs/JSImmediate.cpp b/JavaScriptCore/kjs/JSImmediate.cpp
index 468eb5a..b1483e4 100644
--- a/JavaScriptCore/kjs/JSImmediate.cpp
+++ b/JavaScriptCore/kjs/JSImmediate.cpp
@@ -37,12 +37,12 @@
     else if (v == jsUndefined())
         return new JSNotAnObject(throwError(exec, TypeError, "Undefined value"));
     else if (isBoolean(v)) {
-        List args;
+        ArgList args;
         args.append(const_cast<JSValue *>(v));
         return exec->lexicalGlobalObject()->booleanConstructor()->construct(exec, args);
     } else {
         ASSERT(isNumber(v));
-        List args;
+        ArgList args;
         args.append(const_cast<JSValue *>(v));
         return exec->lexicalGlobalObject()->numberConstructor()->construct(exec, args);
     }
diff --git a/JavaScriptCore/kjs/JSNotAnObject.cpp b/JavaScriptCore/kjs/JSNotAnObject.cpp
index ac7b907..dc4eeec 100644
--- a/JavaScriptCore/kjs/JSNotAnObject.cpp
+++ b/JavaScriptCore/kjs/JSNotAnObject.cpp
@@ -133,21 +133,21 @@
     return m_exception;
 }
 
-JSObject* JSNotAnObject::construct(ExecState* exec, const List&)
+JSObject* JSNotAnObject::construct(ExecState* exec, const ArgList&)
 {
     UNUSED_PARAM(exec);
     ASSERT(exec->hadException() && exec->exception() == m_exception);
     return m_exception;
 }
 
-JSObject* JSNotAnObject::construct(ExecState* exec, const List&, const Identifier&, const UString&, int)
+JSObject* JSNotAnObject::construct(ExecState* exec, const ArgList&, const Identifier&, const UString&, int)
 {
     UNUSED_PARAM(exec);
     ASSERT(exec->hadException() && exec->exception() == m_exception);
     return m_exception;
 }
 
-JSValue* JSNotAnObject::callAsFunction(ExecState* exec, JSObject*, const List&)
+JSValue* JSNotAnObject::callAsFunction(ExecState* exec, JSObject*, const ArgList&)
 {
     UNUSED_PARAM(exec);
     ASSERT(exec->hadException() && exec->exception() == m_exception);
diff --git a/JavaScriptCore/kjs/JSNotAnObject.h b/JavaScriptCore/kjs/JSNotAnObject.h
index 34f1d7e..0ddf97d 100644
--- a/JavaScriptCore/kjs/JSNotAnObject.h
+++ b/JavaScriptCore/kjs/JSNotAnObject.h
@@ -66,10 +66,10 @@
 
         virtual JSValue* defaultValue(ExecState*, JSType hint) const;
 
-        virtual JSObject* construct(ExecState*, const List&);
-        virtual JSObject* construct(ExecState*, const List&, const Identifier& functionName, const UString& sourceURL, int lineNumber);
+        virtual JSObject* construct(ExecState*, const ArgList&);
+        virtual JSObject* construct(ExecState*, const ArgList&, const Identifier& functionName, const UString& sourceURL, int lineNumber);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList&);
 
         virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
diff --git a/JavaScriptCore/kjs/JSObject.cpp b/JavaScriptCore/kjs/JSObject.cpp
index e3eb5cb..4980703 100644
--- a/JavaScriptCore/kjs/JSObject.cpp
+++ b/JavaScriptCore/kjs/JSObject.cpp
@@ -147,7 +147,7 @@
             return;
           }
             
-          List args;
+          ArgList args;
           args.append(value);
         
           setterFunc->callAsFunction(exec, this->toThisObject(exec), args);
@@ -365,13 +365,13 @@
     }
 }
 
-JSObject* JSObject::construct(ExecState*, const List& /*args*/)
+JSObject* JSObject::construct(ExecState*, const ArgList& /*args*/)
 {
   ASSERT(false);
   return NULL;
 }
 
-JSObject* JSObject::construct(ExecState* exec, const List& args, const Identifier& /*functionName*/, const UString& /*sourceURL*/, int /*lineNumber*/)
+JSObject* JSObject::construct(ExecState* exec, const ArgList& args, const Identifier& /*functionName*/, const UString& /*sourceURL*/, int /*lineNumber*/)
 {
   return construct(exec, args);
 }
@@ -382,7 +382,7 @@
     return getCallData(callData) != CallTypeNone;
 }
 
-JSValue *JSObject::callAsFunction(ExecState* /*exec*/, JSObject* /*thisObj*/, const List &/*args*/)
+JSValue *JSObject::callAsFunction(ExecState* /*exec*/, JSObject* /*thisObj*/, const ArgList &/*args*/)
 {
   ASSERT(false);
   return NULL;
@@ -555,7 +555,7 @@
     break;
   }
 
-  List args;
+  ArgList args;
   if (message.isEmpty())
     args.append(jsString(name));
   else
diff --git a/JavaScriptCore/kjs/JSObject.h b/JavaScriptCore/kjs/JSObject.h
index 0471468..4fc0064 100644
--- a/JavaScriptCore/kjs/JSObject.h
+++ b/JavaScriptCore/kjs/JSObject.h
@@ -349,8 +349,8 @@
     /**
      * Implementation of the [[Construct]] internal property
      */
-    virtual JSObject* construct(ExecState* exec, const List& args);
-    virtual JSObject* construct(ExecState* exec, const List& args, const Identifier& functionName, const UString& sourceURL, int lineNumber);
+    virtual JSObject* construct(ExecState* exec, const ArgList& args);
+    virtual JSObject* construct(ExecState* exec, const ArgList& args, const Identifier& functionName, const UString& sourceURL, int lineNumber);
 
     /**
      * Calls this object as if it is a function.
@@ -366,11 +366,11 @@
      * object. For example, if the ECMAScript code "window.location->toString()"
      * is executed, call() will be invoked on the C++ object which implements
      * the toString method, with the thisObj being window.location
-     * @param args List of arguments to be passed to the function
+     * @param args ArgList of arguments to be passed to the function
      * @return The return value from the function
      */
     bool implementsCall();
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
 
     /**
      * Whether or not the object implements the hasInstance() method. If this
diff --git a/JavaScriptCore/kjs/MathObject.cpp b/JavaScriptCore/kjs/MathObject.cpp
index a0dcda7..d198899 100644
--- a/JavaScriptCore/kjs/MathObject.cpp
+++ b/JavaScriptCore/kjs/MathObject.cpp
@@ -103,33 +103,33 @@
 
 // ------------------------------ Functions --------------------------------
 
-JSValue* mathProtoFuncAbs(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncAbs(ExecState* exec, JSObject*, const ArgList& args)
 {
     double arg = args[0]->toNumber(exec);
     return signbit(arg) ? jsNumber(-arg) : jsNumber(arg);
 }
 
-JSValue* mathProtoFuncACos(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncACos(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(acos(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncASin(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncASin(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(asin(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncATan(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncATan(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(atan(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncATan2(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncATan2(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(atan2(args[0]->toNumber(exec), args[1]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncCeil(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncCeil(ExecState* exec, JSObject*, const ArgList& args)
 {
     double arg = args[0]->toNumber(exec);
     if (signbit(arg) && arg > -1.0)
@@ -137,17 +137,17 @@
     return jsNumber(ceil(arg));
 }
 
-JSValue* mathProtoFuncCos(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncCos(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(cos(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncExp(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncExp(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(exp(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncFloor(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncFloor(ExecState* exec, JSObject*, const ArgList& args)
 {
     double arg = args[0]->toNumber(exec);
     if (signbit(arg) && arg == 0.0)
@@ -155,12 +155,12 @@
     return jsNumber(floor(arg));
 }
 
-JSValue* mathProtoFuncLog(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncLog(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(log(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncMax(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncMax(ExecState* exec, JSObject*, const ArgList& args)
 {
     unsigned argsCount = args.size();
     double result = -Inf;
@@ -176,7 +176,7 @@
     return jsNumber(result);
 }
 
-JSValue* mathProtoFuncMin(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncMin(ExecState* exec, JSObject*, const ArgList& args)
 {
     unsigned argsCount = args.size();
     double result = +Inf;
@@ -192,7 +192,7 @@
     return jsNumber(result);
 }
 
-JSValue* mathProtoFuncPow(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncPow(ExecState* exec, JSObject*, const ArgList& args)
 {
     // ECMA 15.8.2.1.13
 
@@ -206,7 +206,7 @@
     return jsNumber(pow(arg, arg2));
 }
 
-JSValue* mathProtoFuncRandom(ExecState*, JSObject*, const List&)
+JSValue* mathProtoFuncRandom(ExecState*, JSObject*, const ArgList&)
 {
 #if !USE(MULTIPLE_THREADS)
     static bool didInitRandom;
@@ -219,7 +219,7 @@
     return jsNumber(wtf_random());
 }
 
-JSValue* mathProtoFuncRound(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncRound(ExecState* exec, JSObject*, const ArgList& args)
 {
     double arg = args[0]->toNumber(exec);
     if (signbit(arg) && arg >= -0.5)
@@ -227,17 +227,17 @@
     return jsNumber(floor(arg + 0.5));
 }
 
-JSValue* mathProtoFuncSin(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncSin(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(sin(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncSqrt(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncSqrt(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(sqrt(args[0]->toNumber(exec)));
 }
 
-JSValue* mathProtoFuncTan(ExecState* exec, JSObject*, const List& args)
+JSValue* mathProtoFuncTan(ExecState* exec, JSObject*, const ArgList& args)
 {
     return jsNumber(tan(args[0]->toNumber(exec)));
 }
diff --git a/JavaScriptCore/kjs/MathObject.h b/JavaScriptCore/kjs/MathObject.h
index 658cb55..fb542fe 100644
--- a/JavaScriptCore/kjs/MathObject.h
+++ b/JavaScriptCore/kjs/MathObject.h
@@ -41,24 +41,24 @@
     };
 
     // Functions
-    JSValue* mathProtoFuncAbs(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncACos(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncASin(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncATan(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncATan2(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncCeil(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncCos(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncExp(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncFloor(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncLog(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncMax(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncMin(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncPow(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncRandom(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncRound(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncSin(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncSqrt(ExecState*, JSObject*, const List&);
-    JSValue* mathProtoFuncTan(ExecState*, JSObject*, const List&);
+    JSValue* mathProtoFuncAbs(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncACos(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncASin(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncATan(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncATan2(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncCeil(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncCos(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncExp(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncFloor(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncLog(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncMax(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncMin(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncPow(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncRandom(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncRound(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncSin(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncSqrt(ExecState*, JSObject*, const ArgList&);
+    JSValue* mathProtoFuncTan(ExecState*, JSObject*, const ArgList&);
 
 } // namespace KJS
 
diff --git a/JavaScriptCore/kjs/NumberObject.cpp b/JavaScriptCore/kjs/NumberObject.cpp
index 90dba9d..e3f24dc 100644
--- a/JavaScriptCore/kjs/NumberObject.cpp
+++ b/JavaScriptCore/kjs/NumberObject.cpp
@@ -43,12 +43,12 @@
 
 // ------------------------------ NumberPrototype ---------------------------
 
-static JSValue* numberProtoFuncToString(ExecState*, JSObject*, const List&);
-static JSValue* numberProtoFuncToLocaleString(ExecState*, JSObject*, const List&);
-static JSValue* numberProtoFuncValueOf(ExecState*, JSObject*, const List&);
-static JSValue* numberProtoFuncToFixed(ExecState*, JSObject*, const List&);
-static JSValue* numberProtoFuncToExponential(ExecState*, JSObject*, const List&);
-static JSValue* numberProtoFuncToPrecision(ExecState*, JSObject*, const List&);
+static JSValue* numberProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+static JSValue* numberProtoFuncToLocaleString(ExecState*, JSObject*, const ArgList&);
+static JSValue* numberProtoFuncValueOf(ExecState*, JSObject*, const ArgList&);
+static JSValue* numberProtoFuncToFixed(ExecState*, JSObject*, const ArgList&);
+static JSValue* numberProtoFuncToExponential(ExecState*, JSObject*, const ArgList&);
+static JSValue* numberProtoFuncToPrecision(ExecState*, JSObject*, const ArgList&);
 
 // ECMA 15.7.4
 
@@ -142,7 +142,7 @@
 }
 
 
-JSValue* numberProtoFuncToString(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* numberProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -207,7 +207,7 @@
     return jsString(startOfResultString);
 }
 
-JSValue* numberProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* numberProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -216,7 +216,7 @@
     return jsString(static_cast<NumberObject*>(thisObj)->internalValue()->toString(exec));
 }
 
-JSValue* numberProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* numberProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -224,7 +224,7 @@
     return static_cast<NumberObject*>(thisObj)->internalValue()->toJSNumber(exec);
 }
 
-JSValue* numberProtoFuncToFixed(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* numberProtoFuncToFixed(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -310,7 +310,7 @@
     buf[i++] = static_cast<char>('0' + exponential % 10);
 }
 
-JSValue* numberProtoFuncToExponential(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* numberProtoFuncToExponential(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -381,7 +381,7 @@
     return jsString(buf);
 }
 
-JSValue* numberProtoFuncToPrecision(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* numberProtoFuncToPrecision(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&NumberObject::info))
         return throwError(exec, TypeError);
@@ -501,7 +501,7 @@
 }
 
 // ECMA 15.7.1
-JSObject* NumberConstructor::construct(ExecState* exec, const List& args)
+JSObject* NumberConstructor::construct(ExecState* exec, const ArgList& args)
 {
     JSObject* proto = exec->lexicalGlobalObject()->numberPrototype();
     NumberObject* obj = new NumberObject(proto);
@@ -513,7 +513,7 @@
 }
 
 // ECMA 15.7.2
-JSValue* NumberConstructor::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* NumberConstructor::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     // FIXME: Check args[0]->isUndefined() instead of args.isEmpty()?
     return jsNumber(args.isEmpty() ? 0 : args[0]->toNumber(exec));
diff --git a/JavaScriptCore/kjs/NumberObject.h b/JavaScriptCore/kjs/NumberObject.h
index e946ac3..3510fa6 100644
--- a/JavaScriptCore/kjs/NumberObject.h
+++ b/JavaScriptCore/kjs/NumberObject.h
@@ -56,9 +56,9 @@
         NumberConstructor(ExecState*, FunctionPrototype*, NumberPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
 
         bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
         JSValue* getValueProperty(ExecState*, int token) const;
@@ -68,7 +68,7 @@
 
         enum { NaNValue, NegInfinity, PosInfinity, MaxValue, MinValue };
 
-        JSObject* construct(const List&);
+        JSObject* construct(const ArgList&);
     };
 
 } // namespace KJS
diff --git a/JavaScriptCore/kjs/RegExpObject.cpp b/JavaScriptCore/kjs/RegExpObject.cpp
index 365d341..1a6d45b 100644
--- a/JavaScriptCore/kjs/RegExpObject.cpp
+++ b/JavaScriptCore/kjs/RegExpObject.cpp
@@ -39,10 +39,10 @@
 
 // ------------------------------ RegExpPrototype ---------------------------
 
-static JSValue* regExpProtoFuncTest(ExecState*, JSObject*, const List&);
-static JSValue* regExpProtoFuncExec(ExecState*, JSObject*, const List&);
-static JSValue* regExpProtoFuncCompile(ExecState*, JSObject*, const List&);
-static JSValue* regExpProtoFuncToString(ExecState*, JSObject*, const List&);
+static JSValue* regExpProtoFuncTest(ExecState*, JSObject*, const ArgList&);
+static JSValue* regExpProtoFuncExec(ExecState*, JSObject*, const ArgList&);
+static JSValue* regExpProtoFuncCompile(ExecState*, JSObject*, const ArgList&);
+static JSValue* regExpProtoFuncToString(ExecState*, JSObject*, const ArgList&);
 
 // ECMA 15.10.5
 
@@ -59,7 +59,7 @@
 
 // ------------------------------ Functions ---------------------------
     
-JSValue* regExpProtoFuncTest(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* regExpProtoFuncTest(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&RegExpObject::info))
         return throwError(exec, TypeError);
@@ -67,7 +67,7 @@
     return static_cast<RegExpObject*>(thisObj)->test(exec, args);
 }
 
-JSValue* regExpProtoFuncExec(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* regExpProtoFuncExec(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&RegExpObject::info))
         return throwError(exec, TypeError);
@@ -75,7 +75,7 @@
     return static_cast<RegExpObject*>(thisObj)->exec(exec, args);
 }
 
-JSValue* regExpProtoFuncCompile(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* regExpProtoFuncCompile(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&RegExpObject::info))
         return throwError(exec, TypeError);
@@ -102,7 +102,7 @@
     return jsUndefined();
 }
 
-JSValue* regExpProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* regExpProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&RegExpObject::info)) {
         if (thisObj->inherits(&RegExpPrototype::info))
@@ -181,7 +181,7 @@
     m_lastIndex = value->toInteger(exec);
 }
 
-bool RegExpObject::match(ExecState* exec, const List& args)
+bool RegExpObject::match(ExecState* exec, const ArgList& args)
 {
     RegExpConstructor* regExpObj = exec->lexicalGlobalObject()->regExpConstructor();
 
@@ -218,12 +218,12 @@
     return foundIndex >= 0;
 }
 
-JSValue* RegExpObject::test(ExecState* exec, const List& args)
+JSValue* RegExpObject::test(ExecState* exec, const ArgList& args)
 {
     return jsBoolean(match(exec, args));
 }
 
-JSValue* RegExpObject::exec(ExecState* exec, const List& args)
+JSValue* RegExpObject::exec(ExecState* exec, const ArgList& args)
 {
     return match(exec, args)
         ? exec->lexicalGlobalObject()->regExpConstructor()->arrayOfMatches(exec)
@@ -235,7 +235,7 @@
     return CallTypeNative;
 }
 
-JSValue* RegExpObject::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* RegExpObject::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     return RegExpObject::exec(exec, args);
 }
@@ -478,7 +478,7 @@
 }
 
 // ECMA 15.10.4
-JSObject *RegExpConstructor::construct(ExecState *exec, const List &args)
+JSObject *RegExpConstructor::construct(ExecState *exec, const ArgList &args)
 {
   JSValue* arg0 = args[0];
   JSValue* arg1 = args[1];
@@ -499,7 +499,7 @@
 }
 
 // ECMA 15.10.3
-JSValue *RegExpConstructor::callAsFunction(ExecState *exec, JSObject * /*thisObj*/, const List &args)
+JSValue *RegExpConstructor::callAsFunction(ExecState *exec, JSObject * /*thisObj*/, const ArgList &args)
 {
   return construct(exec, args);
 }
diff --git a/JavaScriptCore/kjs/RegExpObject.h b/JavaScriptCore/kjs/RegExpObject.h
index 336f0f5..77d3605 100644
--- a/JavaScriptCore/kjs/RegExpObject.h
+++ b/JavaScriptCore/kjs/RegExpObject.h
@@ -46,11 +46,11 @@
         void setRegExp(PassRefPtr<RegExp> r) { m_regExp = r; }
         RegExp* regExp() const { return m_regExp.get(); }
 
-        JSValue* test(ExecState*, const List& args);
-        JSValue* exec(ExecState*, const List& args);
+        JSValue* test(ExecState*, const ArgList& args);
+        JSValue* exec(ExecState*, const ArgList& args);
 
         virtual CallType getCallData(CallData&);
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
 
         bool getOwnPropertySlot(ExecState*, const Identifier&, PropertySlot&);
         JSValue* getValueProperty(ExecState*, int token) const;
@@ -63,7 +63,7 @@
         void setLastIndex(double lastIndex) { m_lastIndex = lastIndex; }
 
     private:
-        bool match(ExecState*, const List& args);
+        bool match(ExecState*, const ArgList& args);
 
         RefPtr<RegExp> m_regExp;
         double m_lastIndex;
@@ -77,9 +77,9 @@
         RegExpConstructor(ExecState*, FunctionPrototype*, RegExpPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
 
         virtual void put(ExecState*, const Identifier&, JSValue*);
         void putValueProperty(ExecState*, int token, JSValue*);
diff --git a/JavaScriptCore/kjs/Shell.cpp b/JavaScriptCore/kjs/Shell.cpp
index 5f4230f..90082c9 100644
--- a/JavaScriptCore/kjs/Shell.cpp
+++ b/JavaScriptCore/kjs/Shell.cpp
@@ -71,14 +71,14 @@
 
 static bool fillBufferWithContentsOfFile(const UString& fileName, Vector<char>& buffer);
 
-static JSValue* functionPrint(ExecState*, JSObject*, const List&);
-static JSValue* functionDebug(ExecState*, JSObject*, const List&);
-static JSValue* functionGC(ExecState*, JSObject*, const List&);
-static JSValue* functionVersion(ExecState*, JSObject*, const List&);
-static JSValue* functionRun(ExecState*, JSObject*, const List&);
-static JSValue* functionLoad(ExecState*, JSObject*, const List&);
-static JSValue* functionReadline(ExecState*, JSObject*, const List&);
-static JSValue* functionQuit(ExecState*, JSObject*, const List&);
+static JSValue* functionPrint(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionDebug(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionGC(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionVersion(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionRun(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionLoad(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionReadline(ExecState*, JSObject*, const ArgList&);
+static JSValue* functionQuit(ExecState*, JSObject*, const ArgList&);
 
 struct Options {
     Options()
@@ -180,7 +180,7 @@
     Interpreter::setShouldPrintExceptions(true);
 }
 
-JSValue* functionPrint(ExecState* exec, JSObject*, const List& args)
+JSValue* functionPrint(ExecState* exec, JSObject*, const ArgList& args)
 {
     for (unsigned i = 0; i < args.size(); ++i) {
         if (i != 0)
@@ -194,27 +194,27 @@
     return jsUndefined();
 }
 
-JSValue* functionDebug(ExecState* exec, JSObject*, const List& args)
+JSValue* functionDebug(ExecState* exec, JSObject*, const ArgList& args)
 {
     fprintf(stderr, "--> %s\n", args[0]->toString(exec).UTF8String().c_str());
     return jsUndefined();
 }
 
-JSValue* functionGC(ExecState*, JSObject*, const List&)
+JSValue* functionGC(ExecState*, JSObject*, const ArgList&)
 {
     JSLock lock;
     Collector::collect();
     return jsUndefined();
 }
 
-JSValue* functionVersion(ExecState*, JSObject*, const List&)
+JSValue* functionVersion(ExecState*, JSObject*, const ArgList&)
 {
     // We need this function for compatibility with the Mozilla JS tests but for now
     // we don't actually do any version-specific handling
     return jsUndefined();
 }
 
-JSValue* functionRun(ExecState* exec, JSObject*, const List& args)
+JSValue* functionRun(ExecState* exec, JSObject*, const ArgList& args)
 {
     StopWatch stopWatch;
     UString fileName = args[0]->toString(exec);
@@ -231,7 +231,7 @@
     return jsNumber(stopWatch.getElapsedMS());
 }
 
-JSValue* functionLoad(ExecState* exec, JSObject*, const List& args)
+JSValue* functionLoad(ExecState* exec, JSObject*, const ArgList& args)
 {
     UString fileName = args[0]->toString(exec);
     Vector<char> script;
@@ -244,7 +244,7 @@
     return jsUndefined();
 }
 
-JSValue* functionReadline(ExecState*, JSObject*, const List&)
+JSValue* functionReadline(ExecState*, JSObject*, const ArgList&)
 {
     Vector<char, 256> line;
     int c;
@@ -258,7 +258,7 @@
     return jsString(line.data());
 }
 
-JSValue* functionQuit(ExecState*, JSObject*, const List&)
+JSValue* functionQuit(ExecState*, JSObject*, const ArgList&)
 {
     exit(0);
 #if !COMPILER(MSVC)
diff --git a/JavaScriptCore/kjs/collector.cpp b/JavaScriptCore/kjs/collector.cpp
index 1a6bbe9..a91ecc6 100644
--- a/JavaScriptCore/kjs/collector.cpp
+++ b/JavaScriptCore/kjs/collector.cpp
@@ -88,7 +88,7 @@
 static CollectorHeap numberHeap = { 0, 0, 0, 0, 0, 0, 0, NoOperation };
 
 size_t Collector::mainThreadOnlyObjectCount = 0;
-HashSet<List*>* Collector::m_markListSet;
+HashSet<ArgList*>* Collector::m_markListSet;
 
 static CollectorBlock* allocateBlock()
 {
@@ -957,7 +957,7 @@
     markStackObjectsConservatively();
     markProtectedObjects();
     if (m_markListSet && m_markListSet->size())
-        List::markLists(*m_markListSet);
+        ArgList::markLists(*m_markListSet);
 #if USE(MULTIPLE_THREADS)
     if (!currentThreadIsMainThread)
         markMainThreadOnlyObjects();
diff --git a/JavaScriptCore/kjs/collector.h b/JavaScriptCore/kjs/collector.h
index d6c3288..6370493 100644
--- a/JavaScriptCore/kjs/collector.h
+++ b/JavaScriptCore/kjs/collector.h
@@ -31,7 +31,7 @@
     class CollectorBlock;
     class JSCell;
     class JSValue;
-    class List;
+    class ArgList;
 
     class Collector {
     public:
@@ -78,7 +78,7 @@
 
         static void markStackObjectsConservatively(void* start, void* end);
 
-        static HashSet<List*>& markListSet() { if (!m_markListSet) m_markListSet = new HashSet<List*>; return *m_markListSet; }
+        static HashSet<ArgList*>& markListSet() { if (!m_markListSet) m_markListSet = new HashSet<ArgList*>; return *m_markListSet; }
 
     private:
         template <Collector::HeapType heapType> static void* heapAllocate(size_t s);
@@ -100,7 +100,7 @@
         static size_t mainThreadOnlyObjectCount;
         static bool memoryFull;
 
-        static HashSet<List*>* m_markListSet;
+        static HashSet<ArgList*>* m_markListSet;
     };
 
     // tunable parameters
diff --git a/JavaScriptCore/kjs/date_object.cpp b/JavaScriptCore/kjs/date_object.cpp
index 9485446..0498bb5 100644
--- a/JavaScriptCore/kjs/date_object.cpp
+++ b/JavaScriptCore/kjs/date_object.cpp
@@ -86,7 +86,7 @@
 public:
     DateFunction(ExecState *, FunctionPrototype *, int i, int len, const Identifier& );
 
-    virtual JSValue *callAsFunction(ExecState *, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *, JSObject *thisObj, const ArgList &args);
 
     enum { Parse, UTC, Now };
 
@@ -116,7 +116,7 @@
     return defaultStyle;
 }
 
-static UString formatLocaleDate(ExecState *exec, double time, bool includeDate, bool includeTime, const List &args)
+static UString formatLocaleDate(ExecState *exec, double time, bool includeDate, bool includeTime, const ArgList &args)
 {
     CFDateFormatterStyle dateStyle = (includeDate ? kCFDateFormatterLongStyle : kCFDateFormatterNoStyle);
     CFDateFormatterStyle timeStyle = (includeTime ? kCFDateFormatterLongStyle : kCFDateFormatterNoStyle);
@@ -253,7 +253,7 @@
 // ms (representing milliseconds) and t (representing the rest of the date structure) appropriately.
 //
 // Format of member function: f([hour,] [min,] [sec,] [ms])
-static bool fillStructuresUsingTimeArgs(ExecState* exec, const List& args, int maxArgs, double* ms, GregorianDateTime* t)
+static bool fillStructuresUsingTimeArgs(ExecState* exec, const ArgList& args, int maxArgs, double* ms, GregorianDateTime* t)
 {
     double milliseconds = 0;
     bool ok = true;
@@ -301,7 +301,7 @@
 // ms (representing milliseconds) and t (representing the rest of the date structure) appropriately.
 //
 // Format of member function: f([years,] [months,] [days])
-static bool fillStructuresUsingDateArgs(ExecState *exec, const List &args, int maxArgs, double *ms, GregorianDateTime *t)
+static bool fillStructuresUsingDateArgs(ExecState *exec, const ArgList &args, int maxArgs, double *ms, GregorianDateTime *t)
 {
     int idx = 0;
     bool ok = true;
@@ -501,7 +501,7 @@
 }
 
 // ECMA 15.9.3
-JSObject *DateConstructor::construct(ExecState *exec, const List &args)
+JSObject *DateConstructor::construct(ExecState *exec, const ArgList &args)
 {
   int numArgs = args.size();
 
@@ -549,7 +549,7 @@
 }
 
 // ECMA 15.9.2
-JSValue *DateConstructor::callAsFunction(ExecState * /*exec*/, JSObject * /*thisObj*/, const List &/*args*/)
+JSValue *DateConstructor::callAsFunction(ExecState * /*exec*/, JSObject * /*thisObj*/, const ArgList &/*args*/)
 {
     time_t localTime = time(0);
     tm localTM;
@@ -567,7 +567,7 @@
 }
 
 // ECMA 15.9.4.2 - 3
-JSValue *DateFunction::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue *DateFunction::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
   if (id == Parse)
     return jsNumber(parseDate(args[0]->toString(exec)));
@@ -978,7 +978,7 @@
 
 // Functions
 
-JSValue* dateProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -996,7 +996,7 @@
     return jsString(formatDate(t) + " " + formatTime(t, utc));
 }
 
-JSValue* dateProtoFuncToUTCString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncToUTCString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1014,7 +1014,7 @@
     return jsString(formatDateUTCVariant(t) + " " + formatTime(t, utc));
 }
 
-JSValue* dateProtoFuncToDateString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncToDateString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1032,7 +1032,7 @@
     return jsString(formatDate(t));
 }
 
-JSValue* dateProtoFuncToTimeString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncToTimeString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1050,7 +1050,7 @@
     return jsString(formatTime(t, utc));
 }
 
-JSValue* dateProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1075,7 +1075,7 @@
 #endif
 }
 
-JSValue* dateProtoFuncToLocaleDateString(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncToLocaleDateString(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1100,7 +1100,7 @@
 #endif
 }
 
-JSValue* dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncToLocaleTimeString(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1125,7 +1125,7 @@
 #endif
 }
 
-JSValue* dateProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1139,7 +1139,7 @@
     return jsNumber(milli);
 }
 
-JSValue* dateProtoFuncGetTime(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetTime(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1153,7 +1153,7 @@
     return jsNumber(milli);
 }
 
-JSValue* dateProtoFuncGetFullYear(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetFullYear(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1171,7 +1171,7 @@
     return jsNumber(1900 + t.year);
 }
 
-JSValue* dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCFullYear(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1189,7 +1189,7 @@
     return jsNumber(1900 + t.year);
 }
 
-JSValue* dateProtoFuncToGMTString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncToGMTString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1207,7 +1207,7 @@
     return jsString(formatDateUTCVariant(t) + " " + formatTime(t, utc));
 }
 
-JSValue* dateProtoFuncGetMonth(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetMonth(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1225,7 +1225,7 @@
     return jsNumber(t.month);
 }
 
-JSValue* dateProtoFuncGetUTCMonth(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCMonth(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1243,7 +1243,7 @@
     return jsNumber(t.month);
 }
 
-JSValue* dateProtoFuncGetDate(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetDate(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1261,7 +1261,7 @@
     return jsNumber(t.monthDay);
 }
 
-JSValue* dateProtoFuncGetUTCDate(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCDate(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1279,7 +1279,7 @@
     return jsNumber(t.monthDay);
 }
 
-JSValue* dateProtoFuncGetDay(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetDay(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1297,7 +1297,7 @@
     return jsNumber(t.weekDay);
 }
 
-JSValue* dateProtoFuncGetUTCDay(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCDay(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1315,7 +1315,7 @@
     return jsNumber(t.weekDay);
 }
 
-JSValue* dateProtoFuncGetHours(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetHours(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1333,7 +1333,7 @@
     return jsNumber(t.hour);
 }
 
-JSValue* dateProtoFuncGetUTCHours(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCHours(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1351,7 +1351,7 @@
     return jsNumber(t.hour);
 }
 
-JSValue* dateProtoFuncGetMinutes(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetMinutes(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1369,7 +1369,7 @@
     return jsNumber(t.minute);
 }
 
-JSValue* dateProtoFuncGetUTCMinutes(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCMinutes(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1387,7 +1387,7 @@
     return jsNumber(t.minute);
 }
 
-JSValue* dateProtoFuncGetSeconds(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetSeconds(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1405,7 +1405,7 @@
     return jsNumber(t.second);
 }
 
-JSValue* dateProtoFuncGetUTCSeconds(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCSeconds(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1423,7 +1423,7 @@
     return jsNumber(t.second);
 }
 
-JSValue* dateProtoFuncGetMilliSeconds(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetMilliSeconds(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1439,7 +1439,7 @@
     return jsNumber(ms);
 }
 
-JSValue* dateProtoFuncGetUTCMilliseconds(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetUTCMilliseconds(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1455,7 +1455,7 @@
     return jsNumber(ms);
 }
 
-JSValue* dateProtoFuncGetTimezoneOffset(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetTimezoneOffset(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1473,7 +1473,7 @@
     return jsNumber(-gmtoffset(t) / minutesPerHour);
 }
 
-JSValue* dateProtoFuncSetTime(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetTime(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1486,7 +1486,7 @@
     return result;
 }
 
-static JSValue* setNewValueFromTimeArgs(ExecState* exec, JSObject* thisObj, const List& args, int numArgsToUse, bool inputIsUTC)
+static JSValue* setNewValueFromTimeArgs(ExecState* exec, JSObject* thisObj, const ArgList& args, int numArgsToUse, bool inputIsUTC)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1518,7 +1518,7 @@
     return result;
 }
 
-static JSValue* setNewValueFromDateArgs(ExecState* exec, JSObject* thisObj, const List& args, int numArgsToUse, bool inputIsUTC)
+static JSValue* setNewValueFromDateArgs(ExecState* exec, JSObject* thisObj, const ArgList& args, int numArgsToUse, bool inputIsUTC)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1556,91 +1556,91 @@
     return result;
 }
 
-JSValue* dateProtoFuncSetMilliSeconds(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetMilliSeconds(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromTimeArgs(exec, thisObj, args, 1, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCMilliseconds(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCMilliseconds(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromTimeArgs(exec, thisObj, args, 1, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetSeconds(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetSeconds(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromTimeArgs(exec, thisObj, args, 2, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCSeconds(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCSeconds(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromTimeArgs(exec, thisObj, args, 2, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetMinutes(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetMinutes(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromTimeArgs(exec, thisObj, args, 3, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCMinutes(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCMinutes(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromTimeArgs(exec, thisObj, args, 3, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetHours(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetHours(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromTimeArgs(exec, thisObj, args, 4, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCHours(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCHours(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromTimeArgs(exec, thisObj, args, 4, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetDate(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetDate(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromDateArgs(exec, thisObj, args, 1, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCDate(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCDate(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromDateArgs(exec, thisObj, args, 1, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetMonth(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetMonth(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromDateArgs(exec, thisObj, args, 2, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCMonth(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCMonth(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromDateArgs(exec, thisObj, args, 2, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetFullYear(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetFullYear(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = false;
     return setNewValueFromDateArgs(exec, thisObj, args, 3, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetUTCFullYear(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetUTCFullYear(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     const bool inputIsUTC = true;
     return setNewValueFromDateArgs(exec, thisObj, args, 3, inputIsUTC);
 }
 
-JSValue* dateProtoFuncSetYear(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* dateProtoFuncSetYear(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
@@ -1683,7 +1683,7 @@
     return result;
 }
 
-JSValue* dateProtoFuncGetYear(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* dateProtoFuncGetYear(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&DateInstance::info))
         return throwError(exec, TypeError);
diff --git a/JavaScriptCore/kjs/date_object.h b/JavaScriptCore/kjs/date_object.h
index f216139..be31b14 100644
--- a/JavaScriptCore/kjs/date_object.h
+++ b/JavaScriptCore/kjs/date_object.h
@@ -75,50 +75,50 @@
     // Non-normative properties (Appendix B)
     // GetYear, SetYear, ToGMTString
 
-    JSValue* dateProtoFuncToString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToUTCString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToDateString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToTimeString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToLocaleString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToLocaleDateString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToLocaleTimeString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncValueOf(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetTime(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetFullYear(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCFullYear(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncToGMTString(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetMonth(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCMonth(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetDate(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCDate(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetDay(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCDay(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetHours(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCHours(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetMinutes(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCMinutes(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetMilliSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetUTCMilliseconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetTimezoneOffset(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetTime(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetMilliSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCMilliseconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCSeconds(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetMinutes(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCMinutes(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetHours(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCHours(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetDate(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCDate(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetMonth(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCMonth(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetFullYear(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetUTCFullYear(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncSetYear(ExecState*, JSObject*, const List&);
-    JSValue* dateProtoFuncGetYear(ExecState*, JSObject*, const List&);
+    JSValue* dateProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToUTCString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToDateString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToTimeString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToLocaleString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToLocaleDateString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToLocaleTimeString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncValueOf(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetTime(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetFullYear(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCFullYear(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncToGMTString(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetMonth(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCMonth(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetDate(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCDate(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetDay(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCDay(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetHours(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCHours(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetMinutes(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCMinutes(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetMilliSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetUTCMilliseconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetTimezoneOffset(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetTime(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetMilliSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCMilliseconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCSeconds(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetMinutes(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCMinutes(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetHours(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCHours(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetDate(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCDate(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetMonth(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCMonth(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetFullYear(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetUTCFullYear(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncSetYear(ExecState*, JSObject*, const ArgList&);
+    JSValue* dateProtoFuncGetYear(ExecState*, JSObject*, const ArgList&);
 
     /**
      * @internal
@@ -130,11 +130,11 @@
         DateConstructor(ExecState*, FunctionPrototype*, DatePrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List& args);
+        virtual JSObject* construct(ExecState*, const ArgList& args);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List& args);
+        virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList& args);
 
-        JSObject* construct(const List&);
+        JSObject* construct(const ArgList&);
     };
 
 } // namespace
diff --git a/JavaScriptCore/kjs/debugger.h b/JavaScriptCore/kjs/debugger.h
index d81c53c..550c77c 100644
--- a/JavaScriptCore/kjs/debugger.h
+++ b/JavaScriptCore/kjs/debugger.h
@@ -33,7 +33,7 @@
   class JSGlobalObject;
   class JSObject;
   class JSValue;
-  class List;
+  class ArgList;
   class SourceProvider;
   class UString;
   
diff --git a/JavaScriptCore/kjs/error_object.cpp b/JavaScriptCore/kjs/error_object.cpp
index 04f8dd8..c087ae3 100644
--- a/JavaScriptCore/kjs/error_object.cpp
+++ b/JavaScriptCore/kjs/error_object.cpp
@@ -52,7 +52,7 @@
     putDirectFunction(new PrototypeFunction(exec, functionPrototype, 0, exec->propertyNames().toString, errorProtoFuncToString), DontEnum);
 }
 
-JSValue* errorProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* errorProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     UString s = "Error";
 
@@ -84,7 +84,7 @@
 }
 
 // ECMA 15.9.3
-JSObject* ErrorConstructor::construct(ExecState* exec, const List& args)
+JSObject* ErrorConstructor::construct(ExecState* exec, const ArgList& args)
 {
     JSObject* proto = static_cast<JSObject*>(exec->lexicalGlobalObject()->errorPrototype());
     JSObject* imp = new ErrorInstance(proto);
@@ -97,7 +97,7 @@
 }
 
 // ECMA 15.9.2
-JSValue* ErrorConstructor::callAsFunction(ExecState* exec, JSObject* /*thisObj*/, const List& args)
+JSValue* ErrorConstructor::callAsFunction(ExecState* exec, JSObject* /*thisObj*/, const ArgList& args)
 {
     // "Error()" gives the sames result as "new Error()"
     return construct(exec, args);
@@ -129,7 +129,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* NativeErrorConstructor::construct(ExecState* exec, const List& args)
+JSObject* NativeErrorConstructor::construct(ExecState* exec, const ArgList& args)
 {
     JSObject* imp = new ErrorInstance(proto);
     JSObject* obj(imp);
@@ -138,7 +138,7 @@
     return obj;
 }
 
-JSValue* NativeErrorConstructor::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* NativeErrorConstructor::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     return construct(exec, args);
 }
diff --git a/JavaScriptCore/kjs/error_object.h b/JavaScriptCore/kjs/error_object.h
index 41f8c5f..4251a22 100644
--- a/JavaScriptCore/kjs/error_object.h
+++ b/JavaScriptCore/kjs/error_object.h
@@ -38,16 +38,16 @@
         ErrorPrototype(ExecState*, ObjectPrototype*, FunctionPrototype*);
     };
 
-    JSValue* errorProtoFuncToString(ExecState*, JSObject*, const List&);
+    JSValue* errorProtoFuncToString(ExecState*, JSObject*, const ArgList&);
 
     class ErrorConstructor : public InternalFunction {
     public:
         ErrorConstructor(ExecState*, FunctionPrototype*, ErrorPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
     };
 
     class NativeErrorPrototype : public JSObject {
@@ -60,9 +60,9 @@
         NativeErrorConstructor(ExecState*, FunctionPrototype*, NativeErrorPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
 
         virtual void mark();
 
diff --git a/JavaScriptCore/kjs/internal.cpp b/JavaScriptCore/kjs/internal.cpp
index 69fffa6..902757f 100644
--- a/JavaScriptCore/kjs/internal.cpp
+++ b/JavaScriptCore/kjs/internal.cpp
@@ -177,14 +177,14 @@
 
 JSObject *JSNumberCell::toObject(ExecState *exec) const
 {
-  List args;
+  ArgList args;
   args.append(const_cast<JSNumberCell*>(this));
   return static_cast<JSObject *>(exec->lexicalGlobalObject()->numberConstructor()->construct(exec,args));
 }
 
 JSObject* JSNumberCell::toThisObject(ExecState* exec) const
 {
-    List args;
+    ArgList args;
     args.append(const_cast<JSNumberCell*>(this));
     return static_cast<JSObject*>(exec->lexicalGlobalObject()->numberConstructor()->construct(exec, args));
 }
diff --git a/JavaScriptCore/kjs/list.cpp b/JavaScriptCore/kjs/list.cpp
index 9b9a8f0..c86e6d0 100644
--- a/JavaScriptCore/kjs/list.cpp
+++ b/JavaScriptCore/kjs/list.cpp
@@ -25,7 +25,7 @@
 
 namespace KJS {
 
-void List::getSlice(int startIndex, List& result) const
+void ArgList::getSlice(int startIndex, ArgList& result) const
 {
     ASSERT(!result.m_isReadOnly);
 
@@ -35,11 +35,11 @@
     result.m_bufferSlot = result.m_vector.dataSlot();
 }
 
-void List::markLists(ListSet& markSet)
+void ArgList::markLists(ListSet& markSet)
 {
     ListSet::iterator end = markSet.end();
     for (ListSet::iterator it = markSet.begin(); it != end; ++it) {
-        List* list = *it;
+        ArgList* list = *it;
 
         iterator end2 = list->end();
         for (iterator it2 = list->begin(); it2 != end2; ++it2) {
@@ -50,7 +50,7 @@
     }
 }
 
-void List::slowAppend(JSValue* v)
+void ArgList::slowAppend(JSValue* v)
 {
     // As long as our size stays within our Vector's inline 
     // capacity, all our values are allocated on the stack, and 
diff --git a/JavaScriptCore/kjs/list.h b/JavaScriptCore/kjs/list.h
index 7e83921..81f2614 100644
--- a/JavaScriptCore/kjs/list.h
+++ b/JavaScriptCore/kjs/list.h
@@ -30,13 +30,13 @@
 namespace KJS {
 
     class JSValue;
-    class List;
+    class ArgList;
     
-    class List : Noncopyable {
+    class ArgList : Noncopyable {
     private:
         static const unsigned inlineCapacity = 8;
         typedef Vector<JSValue*, inlineCapacity> VectorType;
-        typedef HashSet<List*> ListSet;
+        typedef HashSet<ArgList*> ListSet;
 
     public:
         typedef VectorType::iterator iterator;
@@ -44,7 +44,7 @@
 
         // Constructor for a read-write list, to which you may append values.
         // FIXME: Remove all clients of this API, then remove this API.
-        List()
+        ArgList()
             : m_markSet(0)
 #ifndef NDEBUG
             , m_isReadOnly(false)
@@ -56,7 +56,7 @@
         }
 
         // Constructor for a read-only list whose data has already been allocated elsewhere.
-        List(JSValue*** bufferSlot, size_t offset, size_t size)
+        ArgList(JSValue*** bufferSlot, size_t offset, size_t size)
             : m_bufferSlot(bufferSlot)
             , m_offset(offset)
             , m_size(size)
@@ -67,7 +67,7 @@
         {
         }
 
-        ~List()
+        ~ArgList()
         {
             if (m_markSet)
                 m_markSet->remove(this);
@@ -106,7 +106,7 @@
             }
         }
 
-        void getSlice(int startIndex, List& result) const;
+        void getSlice(int startIndex, ArgList& result) const;
 
         iterator begin() { return buffer(); }
         iterator end() { return buffer() + m_size; }
diff --git a/JavaScriptCore/kjs/object_object.cpp b/JavaScriptCore/kjs/object_object.cpp
index 0ce754e..c753949 100644
--- a/JavaScriptCore/kjs/object_object.cpp
+++ b/JavaScriptCore/kjs/object_object.cpp
@@ -30,15 +30,15 @@
 
 // ------------------------------ ObjectPrototype --------------------------------
 
-static JSValue* objectProtoFuncValueOf(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncHasOwnProperty(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncIsPrototypeOf(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncDefineGetter(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncDefineSetter(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncLookupGetter(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncLookupSetter(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncPropertyIsEnumerable(ExecState*, JSObject*, const List&);
-static JSValue* objectProtoFuncToLocaleString(ExecState*, JSObject*, const List&);
+static JSValue* objectProtoFuncValueOf(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncHasOwnProperty(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncIsPrototypeOf(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncDefineGetter(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncDefineSetter(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncLookupGetter(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncLookupSetter(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncPropertyIsEnumerable(ExecState*, JSObject*, const ArgList&);
+static JSValue* objectProtoFuncToLocaleString(ExecState*, JSObject*, const ArgList&);
 
 ObjectPrototype::ObjectPrototype(ExecState* exec, FunctionPrototype* functionPrototype)
     : JSObject() // [[Prototype]] is null
@@ -62,17 +62,17 @@
 
 // ECMA 15.2.4.2, 15.2.4.4, 15.2.4.5, 15.2.4.7
 
-JSValue* objectProtoFuncValueOf(ExecState*, JSObject* thisObj, const List&)
+JSValue* objectProtoFuncValueOf(ExecState*, JSObject* thisObj, const ArgList&)
 {
     return thisObj;
 }
 
-JSValue* objectProtoFuncHasOwnProperty(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncHasOwnProperty(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return jsBoolean(thisObj->hasOwnProperty(exec, Identifier(args[0]->toString(exec))));
 }
 
-JSValue* objectProtoFuncIsPrototypeOf(ExecState*, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncIsPrototypeOf(ExecState*, JSObject* thisObj, const ArgList& args)
 {
     if (!args[0]->isObject())
         return jsBoolean(false);
@@ -88,7 +88,7 @@
     }
 }
 
-JSValue* objectProtoFuncDefineGetter(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncDefineGetter(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!args[1]->isObject() || !static_cast<JSObject*>(args[1])->implementsCall())
         return throwError(exec, SyntaxError, "invalid getter usage");
@@ -97,7 +97,7 @@
     return jsUndefined();
 }
 
-JSValue* objectProtoFuncDefineSetter(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncDefineSetter(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!args[1]->isObject() || !static_cast<JSObject*>(args[1])->implementsCall())
         return throwError(exec, SyntaxError, "invalid setter usage");
@@ -106,27 +106,27 @@
     return jsUndefined();
 }
 
-JSValue* objectProtoFuncLookupGetter(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncLookupGetter(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return thisObj->lookupGetter(exec, Identifier(args[0]->toString(exec)));
 }
 
-JSValue* objectProtoFuncLookupSetter(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncLookupSetter(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return thisObj->lookupSetter(exec, Identifier(args[0]->toString(exec)));
 }
 
-JSValue* objectProtoFuncPropertyIsEnumerable(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* objectProtoFuncPropertyIsEnumerable(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return jsBoolean(thisObj->propertyIsEnumerable(exec, Identifier(args[0]->toString(exec))));
 }
 
-JSValue* objectProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* objectProtoFuncToLocaleString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     return jsString(thisObj->toString(exec));
 }
 
-JSValue* objectProtoFuncToString(ExecState*, JSObject* thisObj, const List&)
+JSValue* objectProtoFuncToString(ExecState*, JSObject* thisObj, const ArgList&)
 {
     return jsString("[object " + thisObj->className() + "]");
 }
@@ -149,7 +149,7 @@
 }
 
 // ECMA 15.2.2
-JSObject* ObjectConstructor::construct(ExecState* exec, const List& args)
+JSObject* ObjectConstructor::construct(ExecState* exec, const ArgList& args)
 {
   JSValue* arg = args[0];
   switch (arg->type()) {
@@ -167,7 +167,7 @@
   }
 }
 
-JSValue* ObjectConstructor::callAsFunction(ExecState* exec, JSObject* /*thisObj*/, const List &args)
+JSValue* ObjectConstructor::callAsFunction(ExecState* exec, JSObject* /*thisObj*/, const ArgList &args)
 {
     return construct(exec, args);
 }
diff --git a/JavaScriptCore/kjs/object_object.h b/JavaScriptCore/kjs/object_object.h
index bdd13bb..ebb4052 100644
--- a/JavaScriptCore/kjs/object_object.h
+++ b/JavaScriptCore/kjs/object_object.h
@@ -36,7 +36,7 @@
         ObjectPrototype(ExecState*, FunctionPrototype*);
     };
 
-    JSValue* objectProtoFuncToString(ExecState*, JSObject*, const List&);
+    JSValue* objectProtoFuncToString(ExecState*, JSObject*, const ArgList&);
 
     /**
      * @internal
@@ -48,9 +48,9 @@
         ObjectConstructor(ExecState*, ObjectPrototype*, FunctionPrototype*);
 
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState*, const List&);
+        virtual JSObject* construct(ExecState*, const ArgList&);
 
-        virtual JSValue* callAsFunction(ExecState*, JSObject*, const List&);
+        virtual JSValue* callAsFunction(ExecState*, JSObject*, const ArgList&);
     };
 
 } // namespace KJS
diff --git a/JavaScriptCore/kjs/string_object.cpp b/JavaScriptCore/kjs/string_object.cpp
index 5407989..08406de 100644
--- a/JavaScriptCore/kjs/string_object.cpp
+++ b/JavaScriptCore/kjs/string_object.cpp
@@ -305,7 +305,7 @@
       UString substitutedReplacement;
       if (replacementFunction) {
           int completeMatchStart = ovector[0];
-          List args;
+          ArgList args;
 
           for (unsigned i = 0; i < reg->numSubpatterns() + 1; i++) {
               int matchStart = ovector[i * 2];
@@ -363,7 +363,7 @@
     return sourceVal;
   
   if (replacementFunction) {
-      List args;
+      ArgList args;
       
       args.append(jsString(source.substr(matchPos, matchLen)));
       args.append(jsNumber(matchPos));
@@ -375,7 +375,7 @@
   return jsString(source.substr(0, matchPos) + replacementString + source.substr(matchPos + matchLen));
 }
 
-JSValue* stringProtoFuncToString(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncToString(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&StringObject::info))
         return throwError(exec, TypeError);
@@ -383,7 +383,7 @@
     return static_cast<StringObject*>(thisObj)->internalValue();
 }
 
-JSValue* stringProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncValueOf(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     if (!thisObj->inherits(&StringObject::info))
         return throwError(exec, TypeError);
@@ -391,7 +391,7 @@
     return static_cast<StringObject*>(thisObj)->internalValue();
 }
 
-JSValue* stringProtoFuncCharAt(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncCharAt(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -407,7 +407,7 @@
     return jsString(u);
 }
 
-JSValue* stringProtoFuncCharCodeAt(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncCharCodeAt(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -424,19 +424,19 @@
     return result;
 }
 
-JSValue* stringProtoFuncConcat(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncConcat(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
 
-    List::const_iterator end = args.end();
-    for (List::const_iterator it = args.begin(); it != end; ++it) {
+    ArgList::const_iterator end = args.end();
+    for (ArgList::const_iterator it = args.begin(); it != end; ++it) {
         s += (*it)->toString(exec);
     }
     return jsString(s);
 }
 
-JSValue* stringProtoFuncIndexOf(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncIndexOf(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -453,7 +453,7 @@
     return jsNumber(s.find(u2, static_cast<int>(dpos)));
 }
 
-JSValue* stringProtoFuncLastIndexOf(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncLastIndexOf(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -471,7 +471,7 @@
     return jsNumber(s.rfind(u2, static_cast<int>(dpos)));
 }
 
-JSValue* stringProtoFuncMatch(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncMatch(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -504,7 +504,7 @@
         result = regExpObj->arrayOfMatches(exec);
     } else {
       // return array of matches
-      List list;
+      ArgList list;
       int lastIndex = 0;
       while (pos >= 0) {
         list.append(jsString(u.substr(pos, matchLength)));
@@ -526,7 +526,7 @@
     return result;
 }
 
-JSValue* stringProtoFuncSearch(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncSearch(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -552,7 +552,7 @@
     return jsNumber(pos);
 }
 
-JSValue* stringProtoFuncReplace(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncReplace(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -567,7 +567,7 @@
     return replace(exec, sVal, a0, a1);
 }
 
-JSValue* stringProtoFuncSlice(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncSlice(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -592,7 +592,7 @@
     return jsString("");
 }
 
-JSValue* stringProtoFuncSplit(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncSplit(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -662,7 +662,7 @@
     return result;
 }
 
-JSValue* stringProtoFuncSubstr(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncSubstr(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -687,7 +687,7 @@
     return jsString(s.substr(static_cast<int>(start), static_cast<int>(length)));
 }
 
-JSValue* stringProtoFuncSubstring(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncSubstring(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -720,7 +720,7 @@
     return jsString(s.substr((int)start, (int)end-(int)start));
 }
 
-JSValue* stringProtoFuncToLowerCase(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncToLowerCase(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -745,7 +745,7 @@
     return jsString(UString(buffer.releaseBuffer(), length, false));
 }
 
-JSValue* stringProtoFuncToUpperCase(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncToUpperCase(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -770,7 +770,7 @@
     return jsString(UString(buffer.releaseBuffer(), length, false));
 }
 
-JSValue* stringProtoFuncToLocaleLowerCase(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncToLocaleLowerCase(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -796,7 +796,7 @@
     return jsString(UString(buffer.releaseBuffer(), length, false));
 }
 
-JSValue* stringProtoFuncToLocaleUpperCase(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncToLocaleUpperCase(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -821,7 +821,7 @@
     return jsString(UString(buffer.releaseBuffer(), length, false));
 }
 
-JSValue* stringProtoFuncLocaleCompare(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncLocaleCompare(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (args.size() < 1)
       return jsNumber(0);
@@ -832,70 +832,70 @@
     return jsNumber(localeCompare(s, a0->toString(exec)));
 }
 
-JSValue* stringProtoFuncBig(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncBig(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<big>" + s + "</big>");
 }
 
-JSValue* stringProtoFuncSmall(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncSmall(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<small>" + s + "</small>");
 }
 
-JSValue* stringProtoFuncBlink(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncBlink(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<blink>" + s + "</blink>");
 }
 
-JSValue* stringProtoFuncBold(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncBold(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<b>" + s + "</b>");
 }
 
-JSValue* stringProtoFuncFixed(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncFixed(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<tt>" + s + "</tt>");
 }
 
-JSValue* stringProtoFuncItalics(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncItalics(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<i>" + s + "</i>");
 }
 
-JSValue* stringProtoFuncStrike(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncStrike(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<strike>" + s + "</strike>");
 }
 
-JSValue* stringProtoFuncSub(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncSub(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<sub>" + s + "</sub>");
 }
 
-JSValue* stringProtoFuncSup(ExecState* exec, JSObject* thisObj, const List&)
+JSValue* stringProtoFuncSup(ExecState* exec, JSObject* thisObj, const ArgList&)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
     return jsString("<sup>" + s + "</sup>");
 }
 
-JSValue* stringProtoFuncFontcolor(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncFontcolor(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -903,7 +903,7 @@
     return jsString("<font color=\"" + a0->toString(exec) + "\">" + s + "</font>");
 }
 
-JSValue* stringProtoFuncFontsize(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncFontsize(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -911,7 +911,7 @@
     return jsString("<font size=\"" + a0->toString(exec) + "\">" + s + "</font>");
 }
 
-JSValue* stringProtoFuncAnchor(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncAnchor(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -919,7 +919,7 @@
     return jsString("<a name=\"" + a0->toString(exec) + "\">" + s + "</a>");
 }
 
-JSValue* stringProtoFuncLink(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* stringProtoFuncLink(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // This optimizes the common case that thisObj is a StringObject
     UString s = thisObj->inherits(&StringObject::info) ? static_cast<StringObject*>(thisObj)->internalValue()->value() : thisObj->toString(exec);
@@ -948,7 +948,7 @@
 }
 
 // ECMA 15.5.2
-JSObject *StringConstructor::construct(ExecState *exec, const List &args)
+JSObject *StringConstructor::construct(ExecState *exec, const ArgList &args)
 {
   JSObject *proto = exec->lexicalGlobalObject()->stringPrototype();
   if (args.size() == 0)
@@ -957,7 +957,7 @@
 }
 
 // ECMA 15.5.1
-JSValue *StringConstructor::callAsFunction(ExecState *exec, JSObject* /*thisObj*/, const List &args)
+JSValue *StringConstructor::callAsFunction(ExecState *exec, JSObject* /*thisObj*/, const ArgList &args)
 {
   if (args.isEmpty())
     return jsString("");
@@ -976,14 +976,14 @@
   putDirect(exec->propertyNames().length, jsNumber(1), DontDelete|ReadOnly|DontEnum);
 }
 
-JSValue *StringConstructorFunction::callAsFunction(ExecState *exec, JSObject* /*thisObj*/, const List &args)
+JSValue *StringConstructorFunction::callAsFunction(ExecState *exec, JSObject* /*thisObj*/, const ArgList &args)
 {
   UString s;
   if (args.size()) {
     UChar *buf = static_cast<UChar *>(fastMalloc(args.size() * sizeof(UChar)));
     UChar *p = buf;
-    List::const_iterator end = args.end();
-    for (List::const_iterator it = args.begin(); it != end; ++it) {
+    ArgList::const_iterator end = args.end();
+    for (ArgList::const_iterator it = args.begin(); it != end; ++it) {
       unsigned short u = static_cast<unsigned short>((*it)->toUInt32(exec));
       *p++ = UChar(u);
     }
diff --git a/JavaScriptCore/kjs/string_object.h b/JavaScriptCore/kjs/string_object.h
index 802e7ee..29daca7 100644
--- a/JavaScriptCore/kjs/string_object.h
+++ b/JavaScriptCore/kjs/string_object.h
@@ -83,39 +83,39 @@
    * String.prototype object
    */
 
-  JSValue* stringProtoFuncToString(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncValueOf(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncCharAt(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncCharCodeAt(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncConcat(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncIndexOf(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncLastIndexOf(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncMatch(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncReplace(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSearch(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSlice(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSplit(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSubstr(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSubstring(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncToLowerCase(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncToUpperCase(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncToLocaleLowerCase(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncToLocaleUpperCase(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncLocaleCompare(ExecState*, JSObject*, const List&);
+  JSValue* stringProtoFuncToString(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncValueOf(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncCharAt(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncCharCodeAt(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncConcat(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncIndexOf(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncLastIndexOf(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncMatch(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncReplace(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSearch(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSlice(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSplit(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSubstr(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSubstring(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncToLowerCase(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncToUpperCase(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncToLocaleLowerCase(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncToLocaleUpperCase(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncLocaleCompare(ExecState*, JSObject*, const ArgList&);
 
-  JSValue* stringProtoFuncBig(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSmall(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncBlink(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncBold(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncFixed(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncItalics(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncStrike(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSub(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncSup(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncFontcolor(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncFontsize(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncAnchor(ExecState*, JSObject*, const List&);
-  JSValue* stringProtoFuncLink(ExecState*, JSObject*, const List&);
+  JSValue* stringProtoFuncBig(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSmall(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncBlink(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncBold(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncFixed(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncItalics(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncStrike(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSub(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncSup(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncFontcolor(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncFontsize(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncAnchor(ExecState*, JSObject*, const ArgList&);
+  JSValue* stringProtoFuncLink(ExecState*, JSObject*, const ArgList&);
 
   /**
    * @internal
@@ -127,9 +127,9 @@
     StringConstructor(ExecState*, FunctionPrototype*, StringPrototype*);
 
     virtual ConstructType getConstructData(ConstructData&);
-    virtual JSObject* construct(ExecState*, const List&);
+    virtual JSObject* construct(ExecState*, const ArgList&);
 
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List& args);
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList& args);
   };
 
   /**
@@ -141,7 +141,7 @@
   class StringConstructorFunction : public InternalFunction {
   public:
     StringConstructorFunction(ExecState*, FunctionPrototype*, const Identifier&);
-    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const List& args);
+    virtual JSValue* callAsFunction(ExecState*, JSObject* thisObj, const ArgList& args);
   };
 
 } // namespace
diff --git a/JavaScriptGlue/ChangeLog b/JavaScriptGlue/ChangeLog
index 76610a2..f919fa3 100644
--- a/JavaScriptGlue/ChangeLog
+++ b/JavaScriptGlue/ChangeLog
@@ -1,5 +1,15 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        - rename KJS::List to KJS::ArgList
+
+        * JSValueWrapper.cpp:
+        (JSValueWrapper::JSObjectCallFunction):
+        * UserObjectImp.cpp:
+        (UserObjectImp::callAsFunction):
+        * UserObjectImp.h:
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         - new names for a few key JavaScriptCore files
 
         * ForwardingHeaders/kjs/JSValue.h: Copied from JavaScriptGlue/ForwardingHeaders/kjs/value.h.
diff --git a/JavaScriptGlue/JSValueWrapper.cpp b/JavaScriptGlue/JSValueWrapper.cpp
index 3f30043..c8ec5f8 100644
--- a/JavaScriptGlue/JSValueWrapper.cpp
+++ b/JavaScriptGlue/JSValueWrapper.cpp
@@ -198,7 +198,7 @@
         JSObject *ksjThisObj = value->toObject(exec);
         JSObject *objValue = ptr->GetValue()->toObject(exec);
 
-        List listArgs;
+        ArgList listArgs;
         CFIndex argCount = args ? CFArrayGetCount(args) : 0;
         for (CFIndex i = 0; i < argCount; i++)
         {
diff --git a/JavaScriptGlue/UserObjectImp.cpp b/JavaScriptGlue/UserObjectImp.cpp
index c4ac759..bbb19e3 100644
--- a/JavaScriptGlue/UserObjectImp.cpp
+++ b/JavaScriptGlue/UserObjectImp.cpp
@@ -53,7 +53,7 @@
     return fJSUserObject ? fJSUserObject->getCallData(callData) : CallTypeNone;
 }
 
-JSValue *UserObjectImp::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue *UserObjectImp::callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args)
 {
     JSValue *result = jsUndefined();
     JSUserObject* jsThisObj = KJSValueToJSObject(thisObj, exec);
diff --git a/JavaScriptGlue/UserObjectImp.h b/JavaScriptGlue/UserObjectImp.h
index 4f2885a..738bcb5 100644
--- a/JavaScriptGlue/UserObjectImp.h
+++ b/JavaScriptGlue/UserObjectImp.h
@@ -46,7 +46,7 @@
 
     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     virtual void put(ExecState *exec, const Identifier &propertyName, JSValue *value, int attr = None);
 
diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 23f81c5..c10a084 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,5 +1,283 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        - try to fix Qt build
+
+        * dom/XMLTokenizer.cpp: Use create instead of new.
+
+        - rename KJS::List to KJS::ArgList
+
+        * bindings/js/JSAudioConstructor.cpp:
+        (WebCore::JSAudioConstructor::construct):
+        * bindings/js/JSAudioConstructor.h:
+        * bindings/js/JSCanvasRenderingContext2DCustom.cpp:
+        (WebCore::JSCanvasRenderingContext2D::setFillColor):
+        (WebCore::JSCanvasRenderingContext2D::setStrokeColor):
+        (WebCore::JSCanvasRenderingContext2D::strokeRect):
+        (WebCore::JSCanvasRenderingContext2D::drawImage):
+        (WebCore::JSCanvasRenderingContext2D::drawImageFromRect):
+        (WebCore::JSCanvasRenderingContext2D::setShadow):
+        (WebCore::JSCanvasRenderingContext2D::createPattern):
+        (WebCore::JSCanvasRenderingContext2D::putImageData):
+        * bindings/js/JSClipboardCustom.cpp:
+        (WebCore::JSClipboard::types):
+        (WebCore::JSClipboard::clearData):
+        (WebCore::JSClipboard::getData):
+        (WebCore::JSClipboard::setData):
+        (WebCore::JSClipboard::setDragImage):
+        * bindings/js/JSConsoleCustom.cpp:
+        (WebCore::JSConsole::debug):
+        (WebCore::JSConsole::error):
+        (WebCore::JSConsole::info):
+        (WebCore::JSConsole::log):
+        (WebCore::JSConsole::warn):
+        (WebCore::JSConsole::assertCondition):
+        (WebCore::JSConsole::profile):
+        (WebCore::JSConsole::profileEnd):
+        * bindings/js/JSCustomSQLStatementCallback.cpp:
+        (WebCore::JSCustomSQLStatementCallback::handleEvent):
+        * bindings/js/JSCustomSQLStatementErrorCallback.cpp:
+        (WebCore::JSCustomSQLStatementErrorCallback::handleEvent):
+        * bindings/js/JSCustomSQLTransactionCallback.cpp:
+        (WebCore::JSCustomSQLTransactionCallback::handleEvent):
+        * bindings/js/JSCustomSQLTransactionErrorCallback.cpp:
+        (WebCore::JSCustomSQLTransactionErrorCallback::handleEvent):
+        * bindings/js/JSCustomVoidCallback.cpp:
+        (WebCore::JSCustomVoidCallback::handleEvent):
+        * bindings/js/JSCustomXPathNSResolver.cpp:
+        (WebCore::JSCustomXPathNSResolver::lookupNamespaceURI):
+        * bindings/js/JSDOMApplicationCacheCustom.cpp:
+        (WebCore::JSDOMApplicationCache::add):
+        (WebCore::JSDOMApplicationCache::remove):
+        (WebCore::JSDOMApplicationCache::addEventListener):
+        (WebCore::JSDOMApplicationCache::removeEventListener):
+        (WebCore::JSDOMApplicationCache::dispatchEvent):
+        * bindings/js/JSDOMWindowBase.cpp:
+        (WebCore::windowProtoFuncAToB):
+        (WebCore::windowProtoFuncBToA):
+        (WebCore::windowProtoFuncOpen):
+        (WebCore::windowProtoFuncSetTimeout):
+        (WebCore::windowProtoFuncClearTimeout):
+        (WebCore::windowProtoFuncSetInterval):
+        (WebCore::windowProtoFuncAddEventListener):
+        (WebCore::windowProtoFuncRemoveEventListener):
+        (WebCore::windowProtoFuncShowModalDialog):
+        (WebCore::windowProtoFuncNotImplemented):
+        (WebCore::JSDOMWindowBase::installTimeout):
+        * bindings/js/JSDOMWindowBase.h:
+        * bindings/js/JSDOMWindowCustom.cpp:
+        (WebCore::JSDOMWindow::postMessage):
+        * bindings/js/JSDatabaseCustom.cpp:
+        (WebCore::JSDatabase::changeVersion):
+        (WebCore::JSDatabase::transaction):
+        * bindings/js/JSElementCustom.cpp:
+        (WebCore::JSElement::setAttribute):
+        (WebCore::JSElement::setAttributeNode):
+        (WebCore::JSElement::setAttributeNS):
+        (WebCore::JSElement::setAttributeNodeNS):
+        * bindings/js/JSEventTargetBase.cpp:
+        (WebCore::jsEventTargetAddEventListener):
+        (WebCore::jsEventTargetRemoveEventListener):
+        (WebCore::jsEventTargetDispatchEvent):
+        * bindings/js/JSEventTargetBase.h:
+        * bindings/js/JSHTMLAppletElementCustom.cpp:
+        (WebCore::JSHTMLAppletElement::callAsFunction):
+        * bindings/js/JSHTMLCollectionCustom.cpp:
+        (WebCore::JSHTMLCollection::callAsFunction):
+        (WebCore::JSHTMLCollection::item):
+        (WebCore::JSHTMLCollection::namedItem):
+        * bindings/js/JSHTMLDocumentCustom.cpp:
+        (WebCore::JSHTMLDocument::open):
+        (WebCore::writeHelper):
+        (WebCore::JSHTMLDocument::write):
+        (WebCore::JSHTMLDocument::writeln):
+        * bindings/js/JSHTMLEmbedElementCustom.cpp:
+        (WebCore::JSHTMLEmbedElement::callAsFunction):
+        * bindings/js/JSHTMLInputElementBase.cpp:
+        (WebCore::jsHTMLInputElementBaseFunctionSetSelectionRange):
+        * bindings/js/JSHTMLInputElementBase.h:
+        * bindings/js/JSHTMLObjectElementCustom.cpp:
+        (WebCore::JSHTMLObjectElement::callAsFunction):
+        * bindings/js/JSHTMLOptionElementConstructor.cpp:
+        (WebCore::JSHTMLOptionElementConstructor::construct):
+        * bindings/js/JSHTMLOptionElementConstructor.h:
+        * bindings/js/JSHTMLOptionsCollectionCustom.cpp:
+        (WebCore::JSHTMLOptionsCollection::add):
+        (WebCore::JSHTMLOptionsCollection::remove):
+        * bindings/js/JSHTMLSelectElementCustom.cpp:
+        (WebCore::JSHTMLSelectElement::remove):
+        * bindings/js/JSImageConstructor.cpp:
+        (WebCore::JSImageConstructor::construct):
+        * bindings/js/JSImageConstructor.h:
+        * bindings/js/JSJavaScriptCallFrameCustom.cpp:
+        (WebCore::JSJavaScriptCallFrame::evaluate):
+        (WebCore::JSJavaScriptCallFrame::scopeChain):
+        * bindings/js/JSLocationCustom.cpp:
+        (WebCore::JSLocation::replace):
+        (WebCore::JSLocation::reload):
+        (WebCore::JSLocation::assign):
+        (WebCore::JSLocation::toString):
+        * bindings/js/JSNodeCustom.cpp:
+        (WebCore::JSNode::insertBefore):
+        (WebCore::JSNode::replaceChild):
+        (WebCore::JSNode::removeChild):
+        (WebCore::JSNode::appendChild):
+        * bindings/js/JSNodeFilterCondition.cpp:
+        (WebCore::JSNodeFilterCondition::acceptNode):
+        * bindings/js/JSNodeFilterCustom.cpp:
+        (WebCore::JSNodeFilter::acceptNode):
+        * bindings/js/JSNodeIteratorCustom.cpp:
+        (WebCore::JSNodeIterator::nextNode):
+        (WebCore::JSNodeIterator::previousNode):
+        * bindings/js/JSNodeListCustom.cpp:
+        (WebCore::JSNodeList::callAsFunction):
+        * bindings/js/JSQuarantinedObjectWrapper.cpp:
+        (WebCore::JSQuarantinedObjectWrapper::construct):
+        (WebCore::JSQuarantinedObjectWrapper::callAsFunction):
+        * bindings/js/JSQuarantinedObjectWrapper.h:
+        * bindings/js/JSSQLResultSetRowListCustom.cpp:
+        (WebCore::JSSQLResultSetRowList::item):
+        * bindings/js/JSSQLTransactionCustom.cpp:
+        (WebCore::JSSQLTransaction::executeSql):
+        * bindings/js/JSSVGMatrixCustom.cpp:
+        (WebCore::JSSVGMatrix::multiply):
+        (WebCore::JSSVGMatrix::inverse):
+        (WebCore::JSSVGMatrix::translate):
+        (WebCore::JSSVGMatrix::scale):
+        (WebCore::JSSVGMatrix::scaleNonUniform):
+        (WebCore::JSSVGMatrix::rotate):
+        (WebCore::JSSVGMatrix::rotateFromVector):
+        (WebCore::JSSVGMatrix::flipX):
+        (WebCore::JSSVGMatrix::flipY):
+        (WebCore::JSSVGMatrix::skewX):
+        (WebCore::JSSVGMatrix::skewY):
+        * bindings/js/JSSVGPathSegListCustom.cpp:
+        (WebCore::JSSVGPathSegList::clear):
+        (WebCore::JSSVGPathSegList::initialize):
+        (WebCore::JSSVGPathSegList::getItem):
+        (WebCore::JSSVGPathSegList::insertItemBefore):
+        (WebCore::JSSVGPathSegList::replaceItem):
+        (WebCore::JSSVGPathSegList::removeItem):
+        (WebCore::JSSVGPathSegList::appendItem):
+        * bindings/js/JSSVGPointListCustom.cpp:
+        (WebCore::JSSVGPointList::clear):
+        (WebCore::JSSVGPointList::initialize):
+        (WebCore::JSSVGPointList::getItem):
+        (WebCore::JSSVGPointList::insertItemBefore):
+        (WebCore::JSSVGPointList::replaceItem):
+        (WebCore::JSSVGPointList::removeItem):
+        (WebCore::JSSVGPointList::appendItem):
+        * bindings/js/JSSVGTransformListCustom.cpp:
+        (WebCore::JSSVGTransformList::clear):
+        (WebCore::JSSVGTransformList::initialize):
+        (WebCore::JSSVGTransformList::getItem):
+        (WebCore::JSSVGTransformList::insertItemBefore):
+        (WebCore::JSSVGTransformList::replaceItem):
+        (WebCore::JSSVGTransformList::removeItem):
+        (WebCore::JSSVGTransformList::appendItem):
+        * bindings/js/JSTreeWalkerCustom.cpp:
+        (WebCore::JSTreeWalker::parentNode):
+        (WebCore::JSTreeWalker::firstChild):
+        (WebCore::JSTreeWalker::lastChild):
+        (WebCore::JSTreeWalker::nextSibling):
+        (WebCore::JSTreeWalker::previousSibling):
+        (WebCore::JSTreeWalker::previousNode):
+        (WebCore::JSTreeWalker::nextNode):
+        * bindings/js/JSXMLHttpRequestConstructor.cpp:
+        (WebCore::JSXMLHttpRequestConstructor::construct):
+        * bindings/js/JSXMLHttpRequestConstructor.h:
+        * bindings/js/JSXMLHttpRequestCustom.cpp:
+        (WebCore::JSXMLHttpRequest::open):
+        (WebCore::JSXMLHttpRequest::setRequestHeader):
+        (WebCore::JSXMLHttpRequest::send):
+        (WebCore::JSXMLHttpRequest::getResponseHeader):
+        (WebCore::JSXMLHttpRequest::overrideMimeType):
+        (WebCore::JSXMLHttpRequest::addEventListener):
+        (WebCore::JSXMLHttpRequest::removeEventListener):
+        (WebCore::JSXMLHttpRequest::dispatchEvent):
+        * bindings/js/JSXSLTProcessorConstructor.cpp:
+        (WebCore::JSXSLTProcessorConstructor::construct):
+        * bindings/js/JSXSLTProcessorConstructor.h:
+        * bindings/js/JSXSLTProcessorCustom.cpp:
+        (WebCore::JSXSLTProcessor::importStylesheet):
+        (WebCore::JSXSLTProcessor::transformToFragment):
+        (WebCore::JSXSLTProcessor::transformToDocument):
+        (WebCore::JSXSLTProcessor::setParameter):
+        (WebCore::JSXSLTProcessor::getParameter):
+        (WebCore::JSXSLTProcessor::removeParameter):
+        * bindings/js/ScheduledAction.cpp:
+        (WebCore::ScheduledAction::ScheduledAction):
+        (WebCore::ScheduledAction::execute):
+        * bindings/js/ScheduledAction.h:
+        * bindings/js/kjs_events.cpp:
+        (WebCore::JSAbstractEventListener::handleEvent):
+        (WebCore::JSLazyEventListener::parseCode):
+        * bindings/js/kjs_html.cpp:
+        (WebCore::runtimeObjectCallAsFunction):
+        * bindings/js/kjs_html.h:
+        * bindings/objc/WebScriptObject.mm:
+        (getListFromNSArray):
+        (-[WebScriptObject callWebScriptMethod:withArguments:]):
+        * bindings/scripts/CodeGeneratorJS.pm:
+        * bridge/NP_jsobject.cpp:
+        (getListFromVariantArgs):
+        (_NPN_InvokeDefault):
+        (_NPN_Invoke):
+        * bridge/c/c_instance.cpp:
+        (KJS::Bindings::CInstance::invokeMethod):
+        (KJS::Bindings::CInstance::invokeDefaultMethod):
+        * bridge/c/c_instance.h:
+        * bridge/jni/jni_instance.cpp:
+        (JavaInstance::invokeMethod):
+        * bridge/jni/jni_instance.h:
+        * bridge/jni/jni_jsobject.h:
+        * bridge/jni/jni_jsobject.mm:
+        (JavaJSObject::call):
+        (JavaJSObject::getListFromJArray):
+        * bridge/objc/objc_instance.h:
+        * bridge/objc/objc_instance.mm:
+        (ObjcInstance::invokeMethod):
+        (ObjcInstance::invokeDefaultMethod):
+        * bridge/objc/objc_runtime.h:
+        * bridge/objc/objc_runtime.mm:
+        (ObjcFallbackObjectImp::callAsFunction):
+        * bridge/qt/qt_instance.cpp:
+        (KJS::Bindings::QtRuntimeObjectImp::construct):
+        (KJS::Bindings::QtInstance::invokeMethod):
+        (KJS::Bindings::QtInstance::invokeDefaultMethod):
+        * bridge/qt/qt_instance.h:
+        * bridge/qt/qt_runtime.cpp:
+        (KJS::Bindings::convertQVariantToValue):
+        (KJS::Bindings::findMethodIndex):
+        (KJS::Bindings::QtRuntimeMetaMethod::callAsFunction):
+        (KJS::Bindings::QtRuntimeConnectionMethod::callAsFunction):
+        (KJS::Bindings::QtConnectionObject::execute):
+        * bridge/qt/qt_runtime.h:
+        * bridge/runtime.h:
+        (KJS::Bindings::Instance::invokeDefaultMethod):
+        * bridge/runtime_method.cpp:
+        (RuntimeMethod::callAsFunction):
+        * bridge/runtime_method.h:
+        * bridge/runtime_object.cpp:
+        (RuntimeObjectImp::callAsFunction):
+        * bridge/runtime_object.h:
+        * page/Console.cpp:
+        (WebCore::printToStandardOut):
+        (WebCore::Console::debug):
+        (WebCore::Console::error):
+        (WebCore::Console::info):
+        (WebCore::Console::log):
+        (WebCore::Console::assertCondition):
+        (WebCore::Console::profile):
+        (WebCore::Console::profileEnd):
+        (WebCore::Console::warn):
+        * page/Console.h:
+        * page/InspectorController.cpp:
+        (WebCore::ConsoleMessage::ConsoleMessage):
+        (WebCore::InspectorController::addMessageToConsole):
+        * page/InspectorController.h:
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         * platform/graphics/gtk/VideoSinkGStreamer.h: Undo a bogus rename done by the script.
 
 2008-06-15  Adam Barth  <abarth@webkit.org>
diff --git a/WebCore/bindings/js/JSAudioConstructor.cpp b/WebCore/bindings/js/JSAudioConstructor.cpp
index bc030cf..c839095 100644
--- a/WebCore/bindings/js/JSAudioConstructor.cpp
+++ b/WebCore/bindings/js/JSAudioConstructor.cpp
@@ -51,7 +51,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSAudioConstructor::construct(ExecState* exec, const List& args)
+JSObject* JSAudioConstructor::construct(ExecState* exec, const ArgList& args)
 {
     ExceptionCode exception = 0;
     RefPtr<Element> element = m_document->createElement("audio", exception);
diff --git a/WebCore/bindings/js/JSAudioConstructor.h b/WebCore/bindings/js/JSAudioConstructor.h
index 01f0fa1..4ad8072 100644
--- a/WebCore/bindings/js/JSAudioConstructor.h
+++ b/WebCore/bindings/js/JSAudioConstructor.h
@@ -38,7 +38,7 @@
         JSAudioConstructor(KJS::ExecState*, Document*);
 
         virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List&);
+        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList&);
 
         virtual const KJS::ClassInfo* classInfo() const { return &s_info; }
         static const KJS::ClassInfo s_info;
diff --git a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
index 66ced7d..94c99af 100644
--- a/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
+++ b/WebCore/bindings/js/JSCanvasRenderingContext2DCustom.cpp
@@ -83,7 +83,7 @@
     impl()->setFillStyle(toHTMLCanvasStyle(exec, value));
 }
 
-JSValue* JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::setFillColor(ExecState* exec, const ArgList& args)
 {
     CanvasRenderingContext2D* context = impl();
 
@@ -120,7 +120,7 @@
     return jsUndefined();
 }    
 
-JSValue* JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::setStrokeColor(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
 
@@ -158,7 +158,7 @@
     return jsUndefined();
 }
 
-JSValue* JSCanvasRenderingContext2D::strokeRect(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::strokeRect(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
     
@@ -172,7 +172,7 @@
     return jsUndefined();    
 }
 
-JSValue* JSCanvasRenderingContext2D::drawImage(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::drawImage(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
 
@@ -238,7 +238,7 @@
     return jsUndefined();    
 }
 
-JSValue* JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::drawImageFromRect(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
     
@@ -258,7 +258,7 @@
     return jsUndefined();    
 }
 
-JSValue* JSCanvasRenderingContext2D::setShadow(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::setShadow(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
 
@@ -304,7 +304,7 @@
     return jsUndefined();    
 }
 
-JSValue* JSCanvasRenderingContext2D::createPattern(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::createPattern(ExecState* exec, const ArgList& args)
 { 
     CanvasRenderingContext2D* context = impl();
 
@@ -333,7 +333,7 @@
     return 0;
 }
 
-JSValue* JSCanvasRenderingContext2D::putImageData(ExecState* exec, const List& args)
+JSValue* JSCanvasRenderingContext2D::putImageData(ExecState* exec, const ArgList& args)
 {
     // putImageData has two variants
     // putImageData(ImageData, x, y)
diff --git a/WebCore/bindings/js/JSClipboardCustom.cpp b/WebCore/bindings/js/JSClipboardCustom.cpp
index 8c55ab6..4602c1d 100644
--- a/WebCore/bindings/js/JSClipboardCustom.cpp
+++ b/WebCore/bindings/js/JSClipboardCustom.cpp
@@ -55,14 +55,14 @@
     if (types.isEmpty())
         return jsNull();
 
-    List list;
+    ArgList list;
     HashSet<String>::const_iterator end = types.end();
     for (HashSet<String>::const_iterator it = types.begin(); it != end; ++it)
         list.append(jsString(UString(*it)));
     return exec->lexicalGlobalObject()->arrayConstructor()->construct(exec, list);
 }
 
-JSValue* JSClipboard::clearData(ExecState* exec, const List& args)
+JSValue* JSClipboard::clearData(ExecState* exec, const ArgList& args)
 {
     Clipboard* clipboard = impl();
 
@@ -80,7 +80,7 @@
     return throwError(exec, SyntaxError, "clearData: Invalid number of arguments");
 }
 
-JSValue* JSClipboard::getData(ExecState* exec, const List& args)
+JSValue* JSClipboard::getData(ExecState* exec, const ArgList& args)
 {
     // FIXME: It does not match the rest of the JS bindings to throw on invalid number of arguments.
     if (args.size() != 1)
@@ -96,7 +96,7 @@
     return jsString(result);
 }
 
-JSValue* JSClipboard::setData(ExecState* exec, const List& args)
+JSValue* JSClipboard::setData(ExecState* exec, const ArgList& args)
 {
     Clipboard* clipboard = impl();
 
@@ -107,7 +107,7 @@
     return jsBoolean(clipboard->setData(args[0]->toString(exec), args[1]->toString(exec)));
 }
 
-JSValue* JSClipboard::setDragImage(ExecState* exec, const List& args)
+JSValue* JSClipboard::setDragImage(ExecState* exec, const ArgList& args)
 {
     Clipboard* clipboard = impl();
 
diff --git a/WebCore/bindings/js/JSConsoleCustom.cpp b/WebCore/bindings/js/JSConsoleCustom.cpp
index c8e063d..b15f0e9 100644
--- a/WebCore/bindings/js/JSConsoleCustom.cpp
+++ b/WebCore/bindings/js/JSConsoleCustom.cpp
@@ -32,52 +32,52 @@
 
 namespace WebCore {
 
-JSValue* JSConsole::debug(ExecState* exec, const List& arguments)
+JSValue* JSConsole::debug(ExecState* exec, const ArgList& arguments)
 {
     impl()->debug(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::error(ExecState* exec, const List& arguments)
+JSValue* JSConsole::error(ExecState* exec, const ArgList& arguments)
 {
     impl()->error(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::info(ExecState* exec, const List& arguments)
+JSValue* JSConsole::info(ExecState* exec, const ArgList& arguments)
 {
     impl()->info(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::log(ExecState* exec, const List& arguments)
+JSValue* JSConsole::log(ExecState* exec, const ArgList& arguments)
 {
     impl()->log(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::warn(ExecState* exec, const List& arguments)
+JSValue* JSConsole::warn(ExecState* exec, const ArgList& arguments)
 {
     impl()->warn(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::assertCondition(ExecState* exec, const List& arguments)
+JSValue* JSConsole::assertCondition(ExecState* exec, const ArgList& arguments)
 {
-    List messageParameters;
+    ArgList messageParameters;
     arguments.getSlice(1, messageParameters);
 
     impl()->assertCondition(arguments[0]->toBoolean(exec), exec, messageParameters);
     return jsUndefined();
 }
 
-JSValue* JSConsole::profile(ExecState* exec, const List& arguments)
+JSValue* JSConsole::profile(ExecState* exec, const ArgList& arguments)
 {
     impl()->profile(exec, arguments);
     return jsUndefined();
 }
 
-JSValue* JSConsole::profileEnd(ExecState* exec, const List& arguments)
+JSValue* JSConsole::profileEnd(ExecState* exec, const ArgList& arguments)
 {
     impl()->profileEnd(exec, arguments);
     return jsUndefined();
diff --git a/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp b/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
index b188cdd..806a801 100644
--- a/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
+++ b/WebCore/bindings/js/JSCustomSQLStatementCallback.cpp
@@ -75,7 +75,7 @@
         
     RefPtr<JSCustomSQLStatementCallback> protect(this);
         
-    List args;
+    ArgList args;
     args.append(toJS(exec, transaction));
     args.append(toJS(exec, resultSet));
         
diff --git a/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp b/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
index 1c0ae6c..c9d5477 100644
--- a/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
+++ b/WebCore/bindings/js/JSCustomSQLStatementErrorCallback.cpp
@@ -75,7 +75,7 @@
         
     RefPtr<JSCustomSQLStatementErrorCallback> protect(this);
         
-    List args;
+    ArgList args;
     args.append(toJS(exec, transaction));
     args.append(toJS(exec, error));
         
diff --git a/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp b/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
index a396171..a364bac 100644
--- a/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
+++ b/WebCore/bindings/js/JSCustomSQLTransactionCallback.cpp
@@ -129,7 +129,7 @@
         
     RefPtr<JSCustomSQLTransactionCallback> protect(this);
         
-    List args;
+    ArgList args;
     args.append(toJS(exec, transaction));
 
     globalObject->startTimeoutCheck();
diff --git a/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp b/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
index 6db92c0..5084962 100644
--- a/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
+++ b/WebCore/bindings/js/JSCustomSQLTransactionErrorCallback.cpp
@@ -74,7 +74,7 @@
         
     RefPtr<JSCustomSQLTransactionErrorCallback> protect(this);
         
-    List args;
+    ArgList args;
     args.append(toJS(exec, error));
 
     JSValue *result;
diff --git a/WebCore/bindings/js/JSCustomVoidCallback.cpp b/WebCore/bindings/js/JSCustomVoidCallback.cpp
index 8dd6ce8..a7378a2 100644
--- a/WebCore/bindings/js/JSCustomVoidCallback.cpp
+++ b/WebCore/bindings/js/JSCustomVoidCallback.cpp
@@ -75,7 +75,7 @@
         
     RefPtr<JSCustomVoidCallback> protect(this);
         
-    List args;
+    ArgList args;
     
     globalObject->startTimeoutCheck();
     if (handleEventFunc)
diff --git a/WebCore/bindings/js/JSCustomXPathNSResolver.cpp b/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
index 3a64628..3a70442 100644
--- a/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
+++ b/WebCore/bindings/js/JSCustomXPathNSResolver.cpp
@@ -96,7 +96,7 @@
 
     RefPtr<JSCustomXPathNSResolver> selfProtector(this);
 
-    List args;
+    ArgList args;
     args.append(jsString(prefix));
 
     String result;
diff --git a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
index f1c3cb8..180c337 100644
--- a/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
+++ b/WebCore/bindings/js/JSDOMApplicationCacheCustom.cpp
@@ -42,7 +42,7 @@
 
 namespace WebCore {
     
-JSValue* JSDOMApplicationCache::add(ExecState* exec, const List& args)
+JSValue* JSDOMApplicationCache::add(ExecState* exec, const ArgList& args)
 {
     Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
     if (!frame)
@@ -55,7 +55,7 @@
     return jsUndefined();
 }
     
-JSValue* JSDOMApplicationCache::remove(ExecState* exec, const List& args)
+JSValue* JSDOMApplicationCache::remove(ExecState* exec, const ArgList& args)
 {
     Frame* frame = asJSDOMWindow(exec->dynamicGlobalObject())->impl()->frame();
     if (!frame)
@@ -68,7 +68,7 @@
     return jsUndefined();
 }
     
-JSValue* JSDOMApplicationCache::addEventListener(ExecState* exec, const List& args)
+JSValue* JSDOMApplicationCache::addEventListener(ExecState* exec, const ArgList& args)
 {
     Frame* frame = impl()->frame();
     if (!frame)
@@ -80,7 +80,7 @@
     return jsUndefined();
 }
 
-JSValue* JSDOMApplicationCache::removeEventListener(ExecState* exec, const List& args)
+JSValue* JSDOMApplicationCache::removeEventListener(ExecState* exec, const ArgList& args)
 {
     Frame* frame = impl()->frame();
     if (!frame)
@@ -93,7 +93,7 @@
     
 }
     
-JSValue* JSDOMApplicationCache::dispatchEvent(KJS::ExecState* exec, const List& args)
+JSValue* JSDOMApplicationCache::dispatchEvent(KJS::ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     
diff --git a/WebCore/bindings/js/JSDOMWindowBase.cpp b/WebCore/bindings/js/JSDOMWindowBase.cpp
index 14b0769..d468e2a 100644
--- a/WebCore/bindings/js/JSDOMWindowBase.cpp
+++ b/WebCore/bindings/js/JSDOMWindowBase.cpp
@@ -887,7 +887,7 @@
     return d->m_shell;
 }
 
-JSValue* windowProtoFuncAToB(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncAToB(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -920,7 +920,7 @@
     return jsString(String(out.data(), out.size()));
 }
 
-JSValue* windowProtoFuncBToA(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncBToA(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -952,7 +952,7 @@
     return jsString(String(out.data(), out.size()));
 }
 
-JSValue* windowProtoFuncOpen(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncOpen(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1023,7 +1023,7 @@
     return toJS(exec, frame->domWindow()); // global object
 }
 
-JSValue* windowProtoFuncSetTimeout(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncSetTimeout(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1036,7 +1036,7 @@
     if (v->isString())
         return jsNumber(window->installTimeout(v->toString(exec), args[1]->toInt32(exec), true /*single shot*/));
     if (v->isObject() && static_cast<JSObject*>(v)->implementsCall()) {
-        List argsTail;
+        ArgList argsTail;
         args.getSlice(2, argsTail);
         return jsNumber(window->installTimeout(v, argsTail, args[1]->toInt32(exec), true /*single shot*/));
     }
@@ -1044,7 +1044,7 @@
     return jsUndefined();
 }
 
-JSValue* windowProtoFuncClearTimeout(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncClearTimeout(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     // Also the implementation for window.clearInterval()
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
@@ -1058,7 +1058,7 @@
     return jsUndefined();
 }
 
-JSValue* windowProtoFuncSetInterval(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncSetInterval(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1073,7 +1073,7 @@
         if (v->isString())
             return jsNumber(window->installTimeout(v->toString(exec), delay, false));
         if (v->isObject() && static_cast<JSObject*>(v)->implementsCall()) {
-            List argsTail;
+            ArgList argsTail;
             args.getSlice(2, argsTail);
             return jsNumber(window->installTimeout(v, argsTail, delay, false));
         }
@@ -1083,7 +1083,7 @@
 
 }
 
-JSValue* windowProtoFuncAddEventListener(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncAddEventListener(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1104,7 +1104,7 @@
     return jsUndefined();
 }
 
-JSValue* windowProtoFuncRemoveEventListener(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncRemoveEventListener(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1125,7 +1125,7 @@
     return jsUndefined();
 }
 
-JSValue* windowProtoFuncShowModalDialog(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncShowModalDialog(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1141,7 +1141,7 @@
     return showModalDialog(exec, frame, valueToStringWithUndefinedOrNullCheck(exec, args[0]), args[1], valueToStringWithUndefinedOrNullCheck(exec, args[2]));
 }
 
-JSValue* windowProtoFuncNotImplemented(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* windowProtoFuncNotImplemented(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     ASSERT(!thisObj->inherits(&JSDOMWindow::s_info));
     if (!thisObj->inherits(&JSDOMWindowShell::s_info))
@@ -1192,7 +1192,7 @@
     return installTimeout(new ScheduledAction(handler), t, singleShot);
 }
 
-int JSDOMWindowBase::installTimeout(JSValue* func, const List& args, int t, bool singleShot)
+int JSDOMWindowBase::installTimeout(JSValue* func, const ArgList& args, int t, bool singleShot)
 {
     return installTimeout(new ScheduledAction(func, args), t, singleShot);
 }
diff --git a/WebCore/bindings/js/JSDOMWindowBase.h b/WebCore/bindings/js/JSDOMWindowBase.h
index 6d24607..16bf6db 100644
--- a/WebCore/bindings/js/JSDOMWindowBase.h
+++ b/WebCore/bindings/js/JSDOMWindowBase.h
@@ -65,7 +65,7 @@
         virtual void put(KJS::ExecState*, const KJS::Identifier& propertyName, KJS::JSValue*);
 
         int installTimeout(const KJS::UString& handler, int t, bool singleShot);
-        int installTimeout(KJS::JSValue* function, const KJS::List& args, int t, bool singleShot);
+        int installTimeout(KJS::JSValue* function, const KJS::ArgList& args, int t, bool singleShot);
         void clearTimeout(int timerId, bool delAction = true);
         PausedTimeouts* pauseTimeouts();
         void resumeTimeouts(PausedTimeouts*);
@@ -157,16 +157,16 @@
     };
 
     // Functions
-    KJS::JSValue* windowProtoFuncAToB(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncBToA(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncOpen(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncSetTimeout(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncClearTimeout(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncSetInterval(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncAddEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncRemoveEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncShowModalDialog(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* windowProtoFuncNotImplemented(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
+    KJS::JSValue* windowProtoFuncAToB(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncBToA(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncOpen(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncSetTimeout(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncClearTimeout(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncSetInterval(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncAddEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncRemoveEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncShowModalDialog(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* windowProtoFuncNotImplemented(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
 
     // Returns a JSDOMWindow or jsNull()
     KJS::JSValue* toJS(KJS::ExecState*, DOMWindow*);
diff --git a/WebCore/bindings/js/JSDOMWindowCustom.cpp b/WebCore/bindings/js/JSDOMWindowCustom.cpp
index 621ae87..5b4eeb2 100644
--- a/WebCore/bindings/js/JSDOMWindowCustom.cpp
+++ b/WebCore/bindings/js/JSDOMWindowCustom.cpp
@@ -114,7 +114,7 @@
     }
 }
 
-JSValue* JSDOMWindow::postMessage(ExecState* exec, const List& args)
+JSValue* JSDOMWindow::postMessage(ExecState* exec, const ArgList& args)
 {
     DOMWindow* window = impl();
 
diff --git a/WebCore/bindings/js/JSDatabaseCustom.cpp b/WebCore/bindings/js/JSDatabaseCustom.cpp
index a80aef7..e7ee07a 100644
--- a/WebCore/bindings/js/JSDatabaseCustom.cpp
+++ b/WebCore/bindings/js/JSDatabaseCustom.cpp
@@ -45,7 +45,7 @@
 
 using namespace KJS;
 
-JSValue* JSDatabase::changeVersion(ExecState* exec, const List& args)
+JSValue* JSDatabase::changeVersion(ExecState* exec, const ArgList& args)
 {
     String oldVersion = args[0]->toString(exec);
     String newVersion = args[1]->toString(exec);
@@ -86,7 +86,7 @@
     return jsUndefined();
 }
 
-JSValue* JSDatabase::transaction(ExecState* exec, const List& args)
+JSValue* JSDatabase::transaction(ExecState* exec, const ArgList& args)
 {
     JSObject* object;
     
diff --git a/WebCore/bindings/js/JSElementCustom.cpp b/WebCore/bindings/js/JSElementCustom.cpp
index 4323d6a..380cdee 100644
--- a/WebCore/bindings/js/JSElementCustom.cpp
+++ b/WebCore/bindings/js/JSElementCustom.cpp
@@ -58,7 +58,7 @@
     return true;
 } 
 
-JSValue* JSElement::setAttribute(ExecState* exec, const List& args)
+JSValue* JSElement::setAttribute(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     AtomicString name = args[0]->toString(exec);
@@ -73,7 +73,7 @@
     return jsUndefined();
 }
 
-JSValue* JSElement::setAttributeNode(ExecState* exec, const List& args)
+JSValue* JSElement::setAttributeNode(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     Attr* newAttr = toAttr(args[0]);
@@ -91,7 +91,7 @@
     return result;
 }
 
-JSValue* JSElement::setAttributeNS(ExecState* exec, const List& args)
+JSValue* JSElement::setAttributeNS(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     AtomicString namespaceURI = valueToStringWithNullCheck(exec, args[0]);
@@ -107,7 +107,7 @@
     return jsUndefined();
 }
 
-JSValue* JSElement::setAttributeNodeNS(ExecState* exec, const List& args)
+JSValue* JSElement::setAttributeNodeNS(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     Attr* newAttr = toAttr(args[0]);
diff --git a/WebCore/bindings/js/JSEventTargetBase.cpp b/WebCore/bindings/js/JSEventTargetBase.cpp
index aa15dee..f445e05 100644
--- a/WebCore/bindings/js/JSEventTargetBase.cpp
+++ b/WebCore/bindings/js/JSEventTargetBase.cpp
@@ -93,7 +93,7 @@
 @end
 */
 
-JSValue* jsEventTargetAddEventListener(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* jsEventTargetAddEventListener(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     DOMExceptionTranslator exception(exec);
 
@@ -112,7 +112,7 @@
     return jsUndefined();
 }
 
-JSValue* jsEventTargetRemoveEventListener(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* jsEventTargetRemoveEventListener(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     DOMExceptionTranslator exception(exec);
 
@@ -131,7 +131,7 @@
     return jsUndefined();
 }
 
-JSValue* jsEventTargetDispatchEvent(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* jsEventTargetDispatchEvent(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     Node* eventNode = 0;
     EventTarget* eventTarget = 0;
diff --git a/WebCore/bindings/js/JSEventTargetBase.h b/WebCore/bindings/js/JSEventTargetBase.h
index b8142d9..d7d66b8 100644
--- a/WebCore/bindings/js/JSEventTargetBase.h
+++ b/WebCore/bindings/js/JSEventTargetBase.h
@@ -64,9 +64,9 @@
     bool retrieveEventTargetAndCorrespondingNode(KJS::ExecState*, KJS::JSObject* thisObj, Node*&, EventTarget*&);
 
     // Functions
-    KJS::JSValue* jsEventTargetAddEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* jsEventTargetRemoveEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
-    KJS::JSValue* jsEventTargetDispatchEvent(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
+    KJS::JSValue* jsEventTargetAddEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* jsEventTargetRemoveEventListener(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
+    KJS::JSValue* jsEventTargetDispatchEvent(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
 
     // Helper function for getValueProperty/putValueProperty
     const AtomicString& eventNameForPropertyToken(int token);
diff --git a/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp b/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp
index fe0b145..6e3d7f0 100644
--- a/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLAppletElementCustom.cpp
@@ -48,7 +48,7 @@
     return runtimeObjectImplementsCall(static_cast<HTMLElement*>(impl())) ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* JSHTMLAppletElement::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* JSHTMLAppletElement::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return runtimeObjectCallAsFunction(exec, thisObj, args, static_cast<HTMLElement*>(impl()));
 }
diff --git a/WebCore/bindings/js/JSHTMLCollectionCustom.cpp b/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
index eb274c7..c03fe66 100644
--- a/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLCollectionCustom.cpp
@@ -52,7 +52,7 @@
 
 // HTMLCollections are strange objects, they support both get and call,
 // so that document.forms.item(0) and document.forms(0) both work.
-JSValue* JSHTMLCollection::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* JSHTMLCollection::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     if (args.size() < 1)
         return jsUndefined();
@@ -108,7 +108,7 @@
     return getNamedItems(exec, thisObj->impl(), propertyName);
 }
 
-JSValue* JSHTMLCollection::item(ExecState* exec, const List& args)
+JSValue* JSHTMLCollection::item(ExecState* exec, const ArgList& args)
 {
     bool ok;
     uint32_t index = args[0]->toString(exec).toUInt32(&ok, false);
@@ -117,7 +117,7 @@
     return getNamedItems(exec, impl(), Identifier(args[0]->toString(exec)));
 }
 
-JSValue* JSHTMLCollection::namedItem(ExecState* exec, const List& args)
+JSValue* JSHTMLCollection::namedItem(ExecState* exec, const ArgList& args)
 {
     return getNamedItems(exec, impl(), Identifier(args[0]->toString(exec)));
 }
diff --git a/WebCore/bindings/js/JSHTMLDocumentCustom.cpp b/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
index 8f8840d8e..1b66700 100644
--- a/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLDocumentCustom.cpp
@@ -95,7 +95,7 @@
 
 // Custom functions
 
-JSValue* JSHTMLDocument::open(ExecState* exec, const List& args)
+JSValue* JSHTMLDocument::open(ExecState* exec, const ArgList& args)
 {
     // For compatibility with other browsers, pass open calls with more than 2 parameters to the window.
     if (args.size() > 2) {
@@ -121,7 +121,7 @@
     return jsUndefined();
 }
 
-static String writeHelper(ExecState* exec, const List& args)
+static String writeHelper(ExecState* exec, const ArgList& args)
 {
     // DOM only specifies single string argument, but NS & IE allow multiple
     // or no arguments.
@@ -136,14 +136,14 @@
     return String::adopt(result);
 }
 
-JSValue* JSHTMLDocument::write(ExecState* exec, const List& args)
+JSValue* JSHTMLDocument::write(ExecState* exec, const ArgList& args)
 {
     Document* activeDocument = asJSDOMWindow(exec->lexicalGlobalObject())->impl()->document();
     static_cast<HTMLDocument*>(impl())->write(writeHelper(exec, args), activeDocument);
     return jsUndefined();
 }
 
-JSValue* JSHTMLDocument::writeln(ExecState* exec, const List& args)
+JSValue* JSHTMLDocument::writeln(ExecState* exec, const ArgList& args)
 {
     Document* activeDocument = asJSDOMWindow(exec->lexicalGlobalObject())->impl()->document();
     static_cast<HTMLDocument*>(impl())->write(writeHelper(exec, args) + "\n", activeDocument);
diff --git a/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp b/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp
index 97d3fed..333425f 100644
--- a/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLEmbedElementCustom.cpp
@@ -48,7 +48,7 @@
     return runtimeObjectImplementsCall(static_cast<HTMLElement*>(impl())) ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* JSHTMLEmbedElement::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* JSHTMLEmbedElement::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return runtimeObjectCallAsFunction(exec, thisObj, args, static_cast<HTMLElement*>(impl()));
 }
diff --git a/WebCore/bindings/js/JSHTMLInputElementBase.cpp b/WebCore/bindings/js/JSHTMLInputElementBase.cpp
index bedd719..0a5a87ea 100644
--- a/WebCore/bindings/js/JSHTMLInputElementBase.cpp
+++ b/WebCore/bindings/js/JSHTMLInputElementBase.cpp
@@ -42,7 +42,7 @@
 
 KJS_IMPLEMENT_PROTOTYPE("HTMLInputElementBase", JSHTMLInputElementBasePrototype)
 
-JSValue* jsHTMLInputElementBaseFunctionSetSelectionRange(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* jsHTMLInputElementBaseFunctionSetSelectionRange(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     HTMLInputElement& input = *static_cast<HTMLInputElement*>(static_cast<JSHTMLInputElementBase*>(thisObj)->impl());
     input.setSelectionRange(args[0]->toInt32(exec), args[1]->toInt32(exec));
diff --git a/WebCore/bindings/js/JSHTMLInputElementBase.h b/WebCore/bindings/js/JSHTMLInputElementBase.h
index 3f7e62e..6654969 100644
--- a/WebCore/bindings/js/JSHTMLInputElementBase.h
+++ b/WebCore/bindings/js/JSHTMLInputElementBase.h
@@ -45,7 +45,7 @@
 
     // SetSelectionRange is implemented on the class instead of on the prototype
     // to make it easier to enable/disable lookup of the function based on input type.
-    KJS::JSValue* jsHTMLInputElementBaseFunctionSetSelectionRange(KJS::ExecState*, KJS::JSObject*, const KJS::List&);
+    KJS::JSValue* jsHTMLInputElementBaseFunctionSetSelectionRange(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);
 
 } // namespace WebCore
 
diff --git a/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp b/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp
index d478fc4..b2c9857 100644
--- a/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLObjectElementCustom.cpp
@@ -48,7 +48,7 @@
     return runtimeObjectImplementsCall(static_cast<HTMLElement*>(impl())) ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* JSHTMLObjectElement::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* JSHTMLObjectElement::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     return runtimeObjectCallAsFunction(exec, thisObj, args, static_cast<HTMLElement*>(impl()));
 }
diff --git a/WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp b/WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp
index 26bf13f..eda5718 100644
--- a/WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp
+++ b/WebCore/bindings/js/JSHTMLOptionElementConstructor.cpp
@@ -43,7 +43,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSHTMLOptionElementConstructor::construct(ExecState* exec, const List& args)
+JSObject* JSHTMLOptionElementConstructor::construct(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
 
diff --git a/WebCore/bindings/js/JSHTMLOptionElementConstructor.h b/WebCore/bindings/js/JSHTMLOptionElementConstructor.h
index 6b37cfb..87648ff 100644
--- a/WebCore/bindings/js/JSHTMLOptionElementConstructor.h
+++ b/WebCore/bindings/js/JSHTMLOptionElementConstructor.h
@@ -30,7 +30,7 @@
         JSHTMLOptionElementConstructor(KJS::ExecState*, Document*);
 
         virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List&);
+        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList&);
 
         virtual const KJS::ClassInfo* classInfo() const { return &s_info; }
         static const KJS::ClassInfo s_info;
diff --git a/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp b/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
index c0daf19..7cb7bec 100644
--- a/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLOptionsCollectionCustom.cpp
@@ -67,7 +67,7 @@
     selectIndexSetter(base, exec, index, value);
 }
 
-JSValue* JSHTMLOptionsCollection::add(ExecState* exec, const List& args)
+JSValue* JSHTMLOptionsCollection::add(ExecState* exec, const ArgList& args)
 {
     HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
     HTMLOptionElement* option = toHTMLOptionElement(args[0]);
@@ -88,7 +88,7 @@
     return jsUndefined();
 }
 
-JSValue* JSHTMLOptionsCollection::remove(ExecState* exec, const List& args)
+JSValue* JSHTMLOptionsCollection::remove(ExecState* exec, const ArgList& args)
 {
     HTMLOptionsCollection* imp = static_cast<HTMLOptionsCollection*>(impl());
     JSHTMLSelectElement* base = static_cast<JSHTMLSelectElement*>(toJS(exec, imp->base()));
diff --git a/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp b/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
index 9688cfe..91de8d6 100644
--- a/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
+++ b/WebCore/bindings/js/JSHTMLSelectElementCustom.cpp
@@ -33,7 +33,7 @@
 using namespace KJS;
 using namespace HTMLNames;
 
-JSValue* JSHTMLSelectElement::remove(ExecState* exec, const List& args)
+JSValue* JSHTMLSelectElement::remove(ExecState* exec, const ArgList& args)
 {
     HTMLSelectElement& select = *static_cast<HTMLSelectElement*>(impl());
 
diff --git a/WebCore/bindings/js/JSImageConstructor.cpp b/WebCore/bindings/js/JSImageConstructor.cpp
index 701c474..e74129a 100644
--- a/WebCore/bindings/js/JSImageConstructor.cpp
+++ b/WebCore/bindings/js/JSImageConstructor.cpp
@@ -41,7 +41,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSImageConstructor::construct(ExecState* exec, const List& args)
+JSObject* JSImageConstructor::construct(ExecState* exec, const ArgList& args)
 {
     bool widthSet = false;
     bool heightSet = false;
diff --git a/WebCore/bindings/js/JSImageConstructor.h b/WebCore/bindings/js/JSImageConstructor.h
index f170e43..142ddba 100644
--- a/WebCore/bindings/js/JSImageConstructor.h
+++ b/WebCore/bindings/js/JSImageConstructor.h
@@ -31,7 +31,7 @@
         JSImageConstructor(KJS::ExecState*, Document*);
 
         virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List&);
+        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList&);
 
         virtual const KJS::ClassInfo* classInfo() const { return &s_info; }
         static const KJS::ClassInfo s_info;
diff --git a/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp b/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
index bc5259b..ff2618b 100644
--- a/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
+++ b/WebCore/bindings/js/JSJavaScriptCallFrameCustom.cpp
@@ -33,7 +33,7 @@
 
 namespace WebCore {
 
-JSValue* JSJavaScriptCallFrame::evaluate(ExecState* exec, const List& args)
+JSValue* JSJavaScriptCallFrame::evaluate(ExecState* exec, const ArgList& args)
 {
     if (!impl()->isValid())
         return jsUndefined();
@@ -66,7 +66,7 @@
     // we must always have something in the scope chain
     ASSERT(iter != end);
 
-    List list;
+    ArgList list;
     do {
         list.append(*iter);
         ++iter;
diff --git a/WebCore/bindings/js/JSLocationCustom.cpp b/WebCore/bindings/js/JSLocationCustom.cpp
index a583b68..c01b89f 100644
--- a/WebCore/bindings/js/JSLocationCustom.cpp
+++ b/WebCore/bindings/js/JSLocationCustom.cpp
@@ -223,7 +223,7 @@
     navigateIfAllowed(exec, frame, url, false);
 }
 
-JSValue* JSLocation::replace(ExecState* exec, const List& args)
+JSValue* JSLocation::replace(ExecState* exec, const ArgList& args)
 {
     Frame* frame = impl()->frame();
     if (!frame)
@@ -239,7 +239,7 @@
     return jsUndefined();
 }
 
-JSValue* JSLocation::reload(ExecState* exec, const List& args)
+JSValue* JSLocation::reload(ExecState* exec, const ArgList& args)
 {
     Frame* frame = impl()->frame();
     if (!frame)
@@ -256,7 +256,7 @@
     return jsUndefined();
 }
 
-JSValue* JSLocation::assign(ExecState* exec, const List& args)
+JSValue* JSLocation::assign(ExecState* exec, const ArgList& args)
 {
     Frame* frame = impl()->frame();
     if (!frame)
@@ -273,7 +273,7 @@
     return jsUndefined();
 }
 
-JSValue* JSLocation::toString(ExecState* exec, const List&)
+JSValue* JSLocation::toString(ExecState* exec, const ArgList&)
 {
     Frame* frame = impl()->frame();
     if (!frame)
diff --git a/WebCore/bindings/js/JSNodeCustom.cpp b/WebCore/bindings/js/JSNodeCustom.cpp
index 4db46d7..d0eb849 100644
--- a/WebCore/bindings/js/JSNodeCustom.cpp
+++ b/WebCore/bindings/js/JSNodeCustom.cpp
@@ -66,7 +66,7 @@
 
 typedef int ExpectionCode;
 
-JSValue* JSNode::insertBefore(ExecState* exec, const List& args)
+JSValue* JSNode::insertBefore(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     bool ok = impl()->insertBefore(toNode(args[0]), toNode(args[1]), ec, true);
@@ -76,7 +76,7 @@
     return jsNull();
 }
 
-JSValue* JSNode::replaceChild(ExecState* exec, const List& args)
+JSValue* JSNode::replaceChild(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     bool ok = impl()->replaceChild(toNode(args[0]), toNode(args[1]), ec, true);
@@ -86,7 +86,7 @@
     return jsNull();
 }
 
-JSValue* JSNode::removeChild(ExecState* exec, const List& args)
+JSValue* JSNode::removeChild(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     bool ok = impl()->removeChild(toNode(args[0]), ec);
@@ -96,7 +96,7 @@
     return jsNull();
 }
 
-JSValue* JSNode::appendChild(ExecState* exec, const List& args)
+JSValue* JSNode::appendChild(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     bool ok = impl()->appendChild(toNode(args[0]), ec, true);
diff --git a/WebCore/bindings/js/JSNodeFilterCondition.cpp b/WebCore/bindings/js/JSNodeFilterCondition.cpp
index a6cf60d..8bd458c 100644
--- a/WebCore/bindings/js/JSNodeFilterCondition.cpp
+++ b/WebCore/bindings/js/JSNodeFilterCondition.cpp
@@ -62,7 +62,7 @@
         return NodeFilter::FILTER_REJECT;
 
     ExecState* exec = frame->scriptProxy()->globalObject()->globalExec();
-    List args;
+    ArgList args;
     args.append(toJS(exec, filterNode));
     if (exec->hadException()) {
         exception = takeException(exec);
diff --git a/WebCore/bindings/js/JSNodeFilterCustom.cpp b/WebCore/bindings/js/JSNodeFilterCustom.cpp
index 15ba5b5..b2b1eb6 100644
--- a/WebCore/bindings/js/JSNodeFilterCustom.cpp
+++ b/WebCore/bindings/js/JSNodeFilterCustom.cpp
@@ -41,7 +41,7 @@
     DOMObject::mark();
 }
 
-JSValue* JSNodeFilter::acceptNode(ExecState* exec, const List& args)
+JSValue* JSNodeFilter::acceptNode(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     short result = impl()->acceptNode(toNode(args[0]), exception);
diff --git a/WebCore/bindings/js/JSNodeIteratorCustom.cpp b/WebCore/bindings/js/JSNodeIteratorCustom.cpp
index 11f8dc7..01600bf 100644
--- a/WebCore/bindings/js/JSNodeIteratorCustom.cpp
+++ b/WebCore/bindings/js/JSNodeIteratorCustom.cpp
@@ -37,7 +37,7 @@
     DOMObject::mark();
 }
 
-JSValue* JSNodeIterator::nextNode(ExecState* exec, const List& args)
+JSValue* JSNodeIterator::nextNode(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     JSValue* exception = 0;
@@ -53,7 +53,7 @@
     return toJS(exec, node.get());
 }
 
-JSValue* JSNodeIterator::previousNode(ExecState* exec, const List& args)
+JSValue* JSNodeIterator::previousNode(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     JSValue* exception = 0;
diff --git a/WebCore/bindings/js/JSNodeListCustom.cpp b/WebCore/bindings/js/JSNodeListCustom.cpp
index 7ab4558..b7e34a9 100644
--- a/WebCore/bindings/js/JSNodeListCustom.cpp
+++ b/WebCore/bindings/js/JSNodeListCustom.cpp
@@ -36,7 +36,7 @@
 namespace WebCore {
 
 // Need to support both get and call, so that list[0] and list(0) work.
-KJS::JSValue* JSNodeList::callAsFunction(KJS::ExecState* exec, KJS::JSObject* thisObj, const KJS::List& args)
+KJS::JSValue* JSNodeList::callAsFunction(KJS::ExecState* exec, KJS::JSObject* thisObj, const KJS::ArgList& args)
 {
     // Do not use thisObj here. See JSHTMLCollection.
     KJS::UString s = args[0]->toString(exec);
diff --git a/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp b/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
index 978539d..add3904 100644
--- a/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
+++ b/WebCore/bindings/js/JSQuarantinedObjectWrapper.cpp
@@ -195,12 +195,12 @@
     return m_unwrappedObject->getConstructData(data);
 }
 
-JSObject* JSQuarantinedObjectWrapper::construct(ExecState* exec, const List& args)
+JSObject* JSQuarantinedObjectWrapper::construct(ExecState* exec, const ArgList& args)
 {
     if (!allowsConstruct())
         return 0;
 
-    List argsCopy;
+    ArgList argsCopy;
     for (size_t i = 0; i < args.size(); ++i) {
         JSValue* preparedValue = prepareIncomingValue(exec, args[i]);
         if (!preparedValue)
@@ -244,7 +244,7 @@
     return m_unwrappedObject->getCallData(temp) != CallTypeNone ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* JSQuarantinedObjectWrapper::callAsFunction(ExecState* exec, JSObject* thisObj, const List& args)
+JSValue* JSQuarantinedObjectWrapper::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args)
 {
     if (!allowsCallAsFunction())
         return jsUndefined();
@@ -253,7 +253,7 @@
     if (!preparedThisObj)
         return jsUndefined();
 
-    List preparedArgs;
+    ArgList preparedArgs;
     for (size_t i = 0; i < args.size(); ++i) {
         JSValue* preparedValue = prepareIncomingValue(exec, args[i]);
         if (!preparedValue)
diff --git a/WebCore/bindings/js/JSQuarantinedObjectWrapper.h b/WebCore/bindings/js/JSQuarantinedObjectWrapper.h
index f1abf64..f6b6e04 100644
--- a/WebCore/bindings/js/JSQuarantinedObjectWrapper.h
+++ b/WebCore/bindings/js/JSQuarantinedObjectWrapper.h
@@ -52,13 +52,13 @@
         virtual bool deleteProperty(KJS::ExecState*, unsigned);
 
         virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List& args);
+        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList& args);
 
         virtual bool implementsHasInstance() const;
         virtual bool hasInstance(KJS::ExecState*, KJS::JSValue*);
 
         virtual KJS::CallType getCallData(KJS::CallData&);
-        virtual KJS::JSValue* callAsFunction(KJS::ExecState*, KJS::JSObject* thisObj, const KJS::List& args);
+        virtual KJS::JSValue* callAsFunction(KJS::ExecState*, KJS::JSObject* thisObj, const KJS::ArgList& args);
 
         virtual void getPropertyNames(KJS::ExecState*, KJS::PropertyNameArray&);
 
diff --git a/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp b/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
index 62dcd5d..6d8f1ad 100644
--- a/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
+++ b/WebCore/bindings/js/JSSQLResultSetRowListCustom.cpp
@@ -37,7 +37,7 @@
 
 namespace WebCore {
 
-JSValue* JSSQLResultSetRowList::item(ExecState* exec, const List& args)
+JSValue* JSSQLResultSetRowList::item(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     int index = args[0]->toInt32(exec, indexOk);
diff --git a/WebCore/bindings/js/JSSQLTransactionCustom.cpp b/WebCore/bindings/js/JSSQLTransactionCustom.cpp
index 301c70b..39867fe 100644
--- a/WebCore/bindings/js/JSSQLTransactionCustom.cpp
+++ b/WebCore/bindings/js/JSSQLTransactionCustom.cpp
@@ -40,7 +40,7 @@
 
 namespace WebCore {
     
-JSValue* JSSQLTransaction::executeSql(ExecState* exec, const List& args)
+JSValue* JSSQLTransaction::executeSql(ExecState* exec, const ArgList& args)
 {
     String sqlStatement = args[0]->toString(exec);
     if (exec->hadException())
diff --git a/WebCore/bindings/js/JSSVGMatrixCustom.cpp b/WebCore/bindings/js/JSSVGMatrixCustom.cpp
index 4f53a6fe..84b6aa4 100644
--- a/WebCore/bindings/js/JSSVGMatrixCustom.cpp
+++ b/WebCore/bindings/js/JSSVGMatrixCustom.cpp
@@ -30,7 +30,7 @@
 
 namespace WebCore {
 
-JSValue* JSSVGMatrix::multiply(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::multiply(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -38,7 +38,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.multiply(secondMatrix)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::inverse(ExecState* exec, const List&)
+JSValue* JSSVGMatrix::inverse(ExecState* exec, const ArgList&)
 {
     AffineTransform imp(*impl());
     KJS::JSValue* result = toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.inverse()).get(), m_context.get());
@@ -49,7 +49,7 @@
     return result;
 }
 
-JSValue* JSSVGMatrix::translate(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::translate(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -59,7 +59,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.translate(x, y)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::scale(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::scale(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -67,7 +67,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.scale(scaleFactor)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::scaleNonUniform(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::scaleNonUniform(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -77,7 +77,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.scaleNonUniform(scaleFactorX, scaleFactorY)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::rotate(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::rotate(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -85,7 +85,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.rotate(angle)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::rotateFromVector(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::rotateFromVector(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
  
@@ -100,19 +100,19 @@
     return result;
 }
 
-JSValue* JSSVGMatrix::flipX(ExecState* exec, const List&)
+JSValue* JSSVGMatrix::flipX(ExecState* exec, const ArgList&)
 {
     AffineTransform imp(*impl());
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.flipX()).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::flipY(ExecState* exec, const List&)
+JSValue* JSSVGMatrix::flipY(ExecState* exec, const ArgList&)
 {
     AffineTransform imp(*impl());
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.flipY()).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::skewX(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::skewX(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
@@ -120,7 +120,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<AffineTransform>::create(imp.skewX(angle)).get(), m_context.get());
 }
 
-JSValue* JSSVGMatrix::skewY(ExecState* exec, const List& args)
+JSValue* JSSVGMatrix::skewY(ExecState* exec, const ArgList& args)
 {
     AffineTransform imp(*impl());
 
diff --git a/WebCore/bindings/js/JSSVGPathSegListCustom.cpp b/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
index 19972a2..55b471e 100644
--- a/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
+++ b/WebCore/bindings/js/JSSVGPathSegListCustom.cpp
@@ -35,7 +35,7 @@
 
 namespace WebCore {
 
-JSValue* JSSVGPathSegList::clear(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::clear(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
 
@@ -48,7 +48,7 @@
     return jsUndefined();
 }
 
-JSValue* JSSVGPathSegList::initialize(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::initialize(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPathSeg* newItem = toSVGPathSeg(args[0]);
@@ -64,7 +64,7 @@
     return result;
 }
 
-JSValue* JSSVGPathSegList::getItem(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::getItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
 
@@ -83,7 +83,7 @@
     return result;
 }
 
-JSValue* JSSVGPathSegList::insertItemBefore(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::insertItemBefore(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPathSeg* newItem = toSVGPathSeg(args[0]);
@@ -104,7 +104,7 @@
     return result;
 }
 
-JSValue* JSSVGPathSegList::replaceItem(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::replaceItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPathSeg* newItem = toSVGPathSeg(args[0]);
@@ -125,7 +125,7 @@
     return result;
 }
 
-JSValue* JSSVGPathSegList::removeItem(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::removeItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     
@@ -147,7 +147,7 @@
     return result;
 }
 
-JSValue* JSSVGPathSegList::appendItem(ExecState* exec, const List& args)
+JSValue* JSSVGPathSegList::appendItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPathSeg* newItem = toSVGPathSeg(args[0]);
diff --git a/WebCore/bindings/js/JSSVGPointListCustom.cpp b/WebCore/bindings/js/JSSVGPointListCustom.cpp
index 56c81c8..2d79522 100644
--- a/WebCore/bindings/js/JSSVGPointListCustom.cpp
+++ b/WebCore/bindings/js/JSSVGPointListCustom.cpp
@@ -62,7 +62,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<FloatPoint>::create(*item).get(), context);
 }
 
-JSValue* JSSVGPointList::clear(ExecState* exec, const List&)
+JSValue* JSSVGPointList::clear(ExecState* exec, const ArgList&)
 {
     ExceptionCode ec = 0;
     impl()->clear(ec);
@@ -71,7 +71,7 @@
     return jsUndefined();
 }
 
-JSValue* JSSVGPointList::initialize(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::initialize(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPointListBase* listImp = impl();
@@ -79,7 +79,7 @@
         listImp->initialize(SVGPODListItem<FloatPoint>::copy(toSVGPoint(args[0])), ec));
 }
 
-JSValue* JSSVGPointList::getItem(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::getItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[0]->toUInt32(exec, indexOk);
@@ -94,7 +94,7 @@
         listImp->getItem(index, ec));
 }
 
-JSValue* JSSVGPointList::insertItemBefore(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::insertItemBefore(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[1]->toUInt32(exec, indexOk);
@@ -109,7 +109,7 @@
         listImp->insertItemBefore(SVGPODListItem<FloatPoint>::copy(toSVGPoint(args[0])), index, ec));
 }
 
-JSValue* JSSVGPointList::replaceItem(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::replaceItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[1]->toInt32(exec, indexOk);
@@ -124,7 +124,7 @@
         listImp->replaceItem(SVGPODListItem<FloatPoint>::copy(toSVGPoint(args[0])), index, ec));
 }
 
-JSValue* JSSVGPointList::removeItem(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::removeItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[0]->toInt32(exec, indexOk);
@@ -139,7 +139,7 @@
         listImp->removeItem(index, ec));
 }
 
-JSValue* JSSVGPointList::appendItem(ExecState* exec, const List& args)
+JSValue* JSSVGPointList::appendItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGPointListBase* listImp = impl();
diff --git a/WebCore/bindings/js/JSSVGTransformListCustom.cpp b/WebCore/bindings/js/JSSVGTransformListCustom.cpp
index a03e172..3a84cc8 100644
--- a/WebCore/bindings/js/JSSVGTransformListCustom.cpp
+++ b/WebCore/bindings/js/JSSVGTransformListCustom.cpp
@@ -62,7 +62,7 @@
     return toJS(exec, JSSVGPODTypeWrapperCreatorReadOnly<SVGTransform>::create(*item).get(), context);
 }
 
-JSValue* JSSVGTransformList::clear(ExecState* exec, const List&)
+JSValue* JSSVGTransformList::clear(ExecState* exec, const ArgList&)
 {
     ExceptionCode ec = 0;
     impl()->clear(ec);
@@ -71,7 +71,7 @@
     return jsUndefined();
 }
 
-JSValue* JSSVGTransformList::initialize(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::initialize(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGTransformListBase* listImp = impl();
@@ -79,7 +79,7 @@
         listImp->initialize(SVGPODListItem<SVGTransform>::copy(toSVGTransform(args[0])), ec));
 }
 
-JSValue* JSSVGTransformList::getItem(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::getItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[0]->toInt32(exec, indexOk);
@@ -94,7 +94,7 @@
         listImp->getItem(index, ec));
 }
 
-JSValue* JSSVGTransformList::insertItemBefore(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::insertItemBefore(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[1]->toInt32(exec, indexOk);
@@ -109,7 +109,7 @@
         listImp->insertItemBefore(SVGPODListItem<SVGTransform>::copy(toSVGTransform(args[0])), index, ec));
 }
 
-JSValue* JSSVGTransformList::replaceItem(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::replaceItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[1]->toInt32(exec, indexOk);
@@ -124,7 +124,7 @@
         listImp->replaceItem(SVGPODListItem<SVGTransform>::copy(toSVGTransform(args[0])), index, ec));
 }
 
-JSValue* JSSVGTransformList::removeItem(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::removeItem(ExecState* exec, const ArgList& args)
 {
     bool indexOk;
     unsigned index = args[0]->toInt32(exec, indexOk);
@@ -139,7 +139,7 @@
         listImp->removeItem(index, ec));
 }
 
-JSValue* JSSVGTransformList::appendItem(ExecState* exec, const List& args)
+JSValue* JSSVGTransformList::appendItem(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     SVGTransformListBase* listImp = impl();
diff --git a/WebCore/bindings/js/JSTreeWalkerCustom.cpp b/WebCore/bindings/js/JSTreeWalkerCustom.cpp
index c9dbcd9..7e692c0 100644
--- a/WebCore/bindings/js/JSTreeWalkerCustom.cpp
+++ b/WebCore/bindings/js/JSTreeWalkerCustom.cpp
@@ -37,7 +37,7 @@
     DOMObject::mark();
 }
     
-JSValue* JSTreeWalker::parentNode(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::parentNode(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->parentNode(exception);
@@ -48,7 +48,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::firstChild(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::firstChild(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->firstChild(exception);
@@ -59,7 +59,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::lastChild(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::lastChild(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->lastChild(exception);
@@ -70,7 +70,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::nextSibling(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::nextSibling(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->nextSibling(exception);
@@ -81,7 +81,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::previousSibling(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::previousSibling(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->previousSibling(exception);
@@ -92,7 +92,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::previousNode(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::previousNode(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->previousNode(exception);
@@ -103,7 +103,7 @@
     return toJS(exec, node);
 }
     
-JSValue* JSTreeWalker::nextNode(ExecState* exec, const List& args)
+JSValue* JSTreeWalker::nextNode(ExecState* exec, const ArgList& args)
 {
     JSValue* exception = 0;
     Node* node = impl()->nextNode(exception);
diff --git a/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp b/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
index 63d95b1..f6fdaf9 100644
--- a/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
+++ b/WebCore/bindings/js/JSXMLHttpRequestConstructor.cpp
@@ -42,7 +42,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSXMLHttpRequestConstructor::construct(ExecState* exec, const List&)
+JSObject* JSXMLHttpRequestConstructor::construct(ExecState* exec, const ArgList&)
 {
     RefPtr<XMLHttpRequest> xmlHttpRequest = XMLHttpRequest::create(m_document.get());
     JSXMLHttpRequest* ret = new JSXMLHttpRequest(JSXMLHttpRequestPrototype::self(exec), xmlHttpRequest.get());
diff --git a/WebCore/bindings/js/JSXMLHttpRequestConstructor.h b/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
index 0d9a9f4..72cc9d3 100644
--- a/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
+++ b/WebCore/bindings/js/JSXMLHttpRequestConstructor.h
@@ -31,7 +31,7 @@
     JSXMLHttpRequestConstructor(KJS::ExecState*, Document*);
 
     virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-    virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List&);
+    virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList&);
 
     virtual const KJS::ClassInfo* classInfo() const { return &s_info; }
     static const KJS::ClassInfo s_info;
diff --git a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
index 003a14a..3d288be 100644
--- a/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
+++ b/WebCore/bindings/js/JSXMLHttpRequestCustom.cpp
@@ -119,7 +119,7 @@
 }
 
 // Custom functions
-JSValue* JSXMLHttpRequest::open(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::open(ExecState* exec, const ArgList& args)
 {
     if (args.size() < 2)
         return throwError(exec, SyntaxError, "Not enough arguments");
@@ -151,7 +151,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::setRequestHeader(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::setRequestHeader(ExecState* exec, const ArgList& args)
 {
     if (args.size() < 2)
         return throwError(exec, SyntaxError, "Not enough arguments");
@@ -162,7 +162,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::send(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::send(ExecState* exec, const ArgList& args)
 {
     String body;
     if (args.size() >= 1) {
@@ -183,7 +183,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::getResponseHeader(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::getResponseHeader(ExecState* exec, const ArgList& args)
 {
     if (args.size() < 1)
         return throwError(exec, SyntaxError, "Not enough arguments");
@@ -194,7 +194,7 @@
     return header;
 }
 
-JSValue* JSXMLHttpRequest::overrideMimeType(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::overrideMimeType(ExecState* exec, const ArgList& args)
 {
     if (args.size() < 1)
         return throwError(exec, SyntaxError, "Not enough arguments");
@@ -203,7 +203,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::addEventListener(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::addEventListener(ExecState* exec, const ArgList& args)
 {
     Document* document = impl()->document();
     if (!document)
@@ -218,7 +218,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::removeEventListener(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::removeEventListener(ExecState* exec, const ArgList& args)
 {
     Document* document = impl()->document();
     if (!document)
@@ -233,7 +233,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXMLHttpRequest::dispatchEvent(ExecState* exec, const List& args)
+JSValue* JSXMLHttpRequest::dispatchEvent(ExecState* exec, const ArgList& args)
 {
     ExceptionCode ec = 0;
     bool result = impl()->dispatchEvent(toEvent(args[0]), ec);
diff --git a/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp b/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
index 659df14..bba1145 100644
--- a/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
+++ b/WebCore/bindings/js/JSXSLTProcessorConstructor.cpp
@@ -50,7 +50,7 @@
     return ConstructTypeNative;
 }
 
-JSObject* JSXSLTProcessorConstructor::construct(ExecState* exec, const List& args)
+JSObject* JSXSLTProcessorConstructor::construct(ExecState* exec, const ArgList& args)
 {
     RefPtr<XSLTProcessor> xsltProcessor = XSLTProcessor::create();
     return new JSXSLTProcessor(JSXSLTProcessorPrototype::self(exec), xsltProcessor.get());
diff --git a/WebCore/bindings/js/JSXSLTProcessorConstructor.h b/WebCore/bindings/js/JSXSLTProcessorConstructor.h
index 8027e35..10234ec 100644
--- a/WebCore/bindings/js/JSXSLTProcessorConstructor.h
+++ b/WebCore/bindings/js/JSXSLTProcessorConstructor.h
@@ -37,7 +37,7 @@
         JSXSLTProcessorConstructor(KJS::ExecState*);
 
         virtual KJS::ConstructType getConstructData(KJS::ConstructData&);
-        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::List&);
+        virtual KJS::JSObject* construct(KJS::ExecState*, const KJS::ArgList&);
 
         virtual const KJS::ClassInfo* classInfo() const { return &s_info; }
         static const KJS::ClassInfo s_info;
diff --git a/WebCore/bindings/js/JSXSLTProcessorCustom.cpp b/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
index 711fdf9..0600008 100644
--- a/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
+++ b/WebCore/bindings/js/JSXSLTProcessorCustom.cpp
@@ -46,7 +46,7 @@
 
 namespace WebCore {
 
-JSValue* JSXSLTProcessor::importStylesheet(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::importStylesheet(ExecState* exec, const ArgList& args)
 {
     JSValue* nodeVal = args[0];
     if (nodeVal->isObject(&JSNode::s_info)) {
@@ -58,7 +58,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXSLTProcessor::transformToFragment(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::transformToFragment(ExecState* exec, const ArgList& args)
 {
     JSValue* nodeVal = args[0];
     JSValue* docVal = args[1];
@@ -71,7 +71,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXSLTProcessor::transformToDocument(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::transformToDocument(ExecState* exec, const ArgList& args)
 {
     JSValue* nodeVal = args[0];
     if (nodeVal->isObject(&JSNode::s_info)) {
@@ -85,7 +85,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXSLTProcessor::setParameter(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::setParameter(ExecState* exec, const ArgList& args)
 {
     if (args[1]->isUndefinedOrNull() || args[2]->isUndefinedOrNull())
         return jsUndefined(); // Throw exception?
@@ -96,7 +96,7 @@
     return jsUndefined();
 }
 
-JSValue* JSXSLTProcessor::getParameter(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::getParameter(ExecState* exec, const ArgList& args)
 {
     if (args[1]->isUndefinedOrNull())
         return jsUndefined();
@@ -106,7 +106,7 @@
     return jsStringOrUndefined(value);
 }
 
-JSValue* JSXSLTProcessor::removeParameter(ExecState* exec, const List& args)
+JSValue* JSXSLTProcessor::removeParameter(ExecState* exec, const ArgList& args)
 {
     if (args[1]->isUndefinedOrNull())
         return jsUndefined();
diff --git a/WebCore/bindings/js/ScheduledAction.cpp b/WebCore/bindings/js/ScheduledAction.cpp
index fd1582f..4247236 100644
--- a/WebCore/bindings/js/ScheduledAction.cpp
+++ b/WebCore/bindings/js/ScheduledAction.cpp
@@ -36,11 +36,11 @@
 
 namespace WebCore {
 
-ScheduledAction::ScheduledAction(JSValue* func, const List& args)
+ScheduledAction::ScheduledAction(JSValue* func, const ArgList& args)
     : m_func(func)
 {
-    List::const_iterator end = args.end();
-    for (List::const_iterator it = args.begin(); it != end; ++it)
+    ArgList::const_iterator end = args.end();
+    for (ArgList::const_iterator it = args.begin(); it != end; ++it)
         m_args.append(*it);
 }
 
@@ -65,7 +65,7 @@
             JSDOMWindow* window = windowShell->window();
             ExecState* exec = window->globalExec();
 
-            List args;
+            ArgList args;
             size_t size = m_args.size();
             for (size_t i = 0; i < size; ++i)
                 args.append(m_args[i]);
diff --git a/WebCore/bindings/js/ScheduledAction.h b/WebCore/bindings/js/ScheduledAction.h
index 54a0db3..c1e49fa 100644
--- a/WebCore/bindings/js/ScheduledAction.h
+++ b/WebCore/bindings/js/ScheduledAction.h
@@ -26,7 +26,7 @@
 
 namespace KJS {
     class JSValue;
-    class List;
+    class ArgList;
 }
 
 namespace WebCore {
@@ -40,7 +40,7 @@
     */
     class ScheduledAction {
     public:
-        ScheduledAction(KJS::JSValue* func, const KJS::List& args);
+        ScheduledAction(KJS::JSValue* func, const KJS::ArgList& args);
         ScheduledAction(const String& code)
             : m_code(code)
         {
diff --git a/WebCore/bindings/js/kjs_events.cpp b/WebCore/bindings/js/kjs_events.cpp
index 1f0c96a..8fb01d1 100644
--- a/WebCore/bindings/js/kjs_events.cpp
+++ b/WebCore/bindings/js/kjs_events.cpp
@@ -73,7 +73,7 @@
     if (handleEventFunc || listener->implementsCall()) {
         ref();
 
-        List args;
+        ArgList args;
         args.append(toJS(exec, event));
 
         Event* savedEvent = window->currentEvent();
@@ -275,7 +275,7 @@
 
         JSLock lock;
         JSObject* constr = window()->functionConstructor();
-        List args;
+        ArgList args;
 
         UString sourceURL(frame->loader()->url().string());
         args.append(eventParameterName());
diff --git a/WebCore/bindings/js/kjs_html.cpp b/WebCore/bindings/js/kjs_html.cpp
index af812df..68d0daa 100644
--- a/WebCore/bindings/js/kjs_html.cpp
+++ b/WebCore/bindings/js/kjs_html.cpp
@@ -109,7 +109,7 @@
     return runtimeObject->implementsCall();
 }
 
-JSValue* runtimeObjectCallAsFunction(ExecState* exec, JSObject* thisObj, const List& args, HTMLElement* thisImp)
+JSValue* runtimeObjectCallAsFunction(ExecState* exec, JSObject* thisObj, const ArgList& args, HTMLElement* thisImp)
 {
     JSObject* runtimeObject = getRuntimeObject(exec, thisImp);
     if (!runtimeObject)
diff --git a/WebCore/bindings/js/kjs_html.h b/WebCore/bindings/js/kjs_html.h
index a3fc062..801fe54 100644
--- a/WebCore/bindings/js/kjs_html.h
+++ b/WebCore/bindings/js/kjs_html.h
@@ -36,7 +36,7 @@
     bool runtimeObjectCustomGetOwnPropertySlot(KJS::ExecState*, const KJS::Identifier&, KJS::PropertySlot&, JSHTMLElement*, HTMLElement*);
     bool runtimeObjectCustomPut(KJS::ExecState*, const KJS::Identifier&, KJS::JSValue*, HTMLElement*);
     bool runtimeObjectImplementsCall(HTMLElement*);
-    KJS::JSValue* runtimeObjectCallAsFunction(KJS::ExecState*, KJS::JSObject*, const KJS::List&, HTMLElement*);
+    KJS::JSValue* runtimeObjectCallAsFunction(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&, HTMLElement*);
 
 } // namespace WebCore
 
diff --git a/WebCore/bindings/objc/WebScriptObject.mm b/WebCore/bindings/objc/WebScriptObject.mm
index 62cae28..aeae541 100644
--- a/WebCore/bindings/objc/WebScriptObject.mm
+++ b/WebCore/bindings/objc/WebScriptObject.mm
@@ -265,7 +265,7 @@
     return YES;
 }
 
-static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* rootObject, List& aList)
+static void getListFromNSArray(ExecState *exec, NSArray *array, RootObject* rootObject, ArgList& aList)
 {
     int i, numObjects = array ? [array count] : 0;
     
@@ -297,7 +297,7 @@
     if (!funcImp->implementsCall())
         return 0;
 
-    List argList;
+    ArgList argList;
     getListFromNSArray(exec, args, [self _rootObject], argList);
 
     if (![self _isSafeScript])
diff --git a/WebCore/bindings/scripts/CodeGeneratorJS.pm b/WebCore/bindings/scripts/CodeGeneratorJS.pm
index c1c8620..b23a384 100644
--- a/WebCore/bindings/scripts/CodeGeneratorJS.pm
+++ b/WebCore/bindings/scripts/CodeGeneratorJS.pm
@@ -460,7 +460,7 @@
 
     # Custom call functions
     if ($dataNode->extendedAttributes->{"CustomCall"}) {
-        push(@headerContent, "    virtual KJS::JSValue* callAsFunction(KJS::ExecState*, KJS::JSObject*, const KJS::List&);\n");
+        push(@headerContent, "    virtual KJS::JSValue* callAsFunction(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);\n");
         push(@headerContent, "    virtual KJS::CallType getCallData(KJS::CallData&);\n\n");
     }
 
@@ -541,7 +541,7 @@
         foreach my $function (@{$dataNode->functions}) {
             if ($function->signature->extendedAttributes->{"Custom"}) {
                 my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementationFunction"} || $codeGenerator->WK_lcfirst($function->signature->name);
-                push(@headerContent, "    KJS::JSValue* " . $functionImplementationName . "(KJS::ExecState*, const KJS::List&);\n");
+                push(@headerContent, "    KJS::JSValue* " . $functionImplementationName . "(KJS::ExecState*, const KJS::ArgList&);\n");
             }
         }
     }
@@ -656,7 +656,7 @@
         push(@headerContent,"// Functions\n\n");
         foreach my $function (@{$dataNode->functions}) {
             my $functionName = $codeGenerator->WK_lcfirst($className) . "PrototypeFunction" . $codeGenerator->WK_ucfirst($function->signature->name);
-            push(@headerContent, "KJS::JSValue* ${functionName}(KJS::ExecState*, KJS::JSObject*, const KJS::List&);\n");
+            push(@headerContent, "KJS::JSValue* ${functionName}(KJS::ExecState*, KJS::JSObject*, const KJS::ArgList&);\n");
         }
     }
 
@@ -1193,7 +1193,7 @@
             my $functionName = $codeGenerator->WK_lcfirst($className) . "PrototypeFunction" . $codeGenerator->WK_ucfirst($function->signature->name);
             my $functionImplementationName = $function->signature->extendedAttributes->{"ImplementationFunction"} || $codeGenerator->WK_lcfirst($function->signature->name);
 
-            push(@implContent, "JSValue* ${functionName}(ExecState* exec, JSObject* thisObj, const List& args)\n");
+            push(@implContent, "JSValue* ${functionName}(ExecState* exec, JSObject* thisObj, const ArgList& args)\n");
             push(@implContent, "{\n");
 
             if ($interfaceName eq "DOMWindow") {
@@ -1838,7 +1838,7 @@
     if ($canConstruct) {
 $implContent .= << "EOF";
     virtual ConstructType getConstructData(ConstructData&) { return ConstructTypeNative; }
-    virtual JSObject* construct(ExecState* exec, const List& args) { return static_cast<JSObject*>(toJS(exec, ${interfaceName}::create())); }
+    virtual JSObject* construct(ExecState* exec, const ArgList& args) { return static_cast<JSObject*>(toJS(exec, ${interfaceName}::create())); }
 EOF
     }
 
diff --git a/WebCore/bridge/NP_jsobject.cpp b/WebCore/bridge/NP_jsobject.cpp
index f5670a8..9305618 100644
--- a/WebCore/bridge/NP_jsobject.cpp
+++ b/WebCore/bridge/NP_jsobject.cpp
@@ -42,7 +42,7 @@
 using namespace KJS;
 using namespace KJS::Bindings;
 
-static void getListFromVariantArgs(ExecState* exec, const NPVariant* args, unsigned argCount, RootObject* rootObject, List& aList)
+static void getListFromVariantArgs(ExecState* exec, const NPVariant* args, unsigned argCount, RootObject* rootObject, ArgList& aList)
 {
     for (unsigned i = 0; i < argCount; i++)
         aList.append(convertNPVariantToValue(exec, &args[i], rootObject));
@@ -110,7 +110,7 @@
         if (!funcImp->implementsCall())
             return false;
         
-        List argList;
+        ArgList argList;
         getListFromVariantArgs(exec, args, argCount, rootObject, argList);
         rootObject->globalObject()->startTimeoutCheck();
         JSValue *resultV = funcImp->callAsFunction(exec, funcImp, argList);
@@ -164,7 +164,7 @@
         // Call the function object.
         JSObject *funcImp = static_cast<JSObject*>(func);
         JSObject *thisObj = const_cast<JSObject*>(obj->imp);
-        List argList;
+        ArgList argList;
         getListFromVariantArgs(exec, args, argCount, rootObject, argList);
         rootObject->globalObject()->startTimeoutCheck();
         JSValue *resultV = funcImp->callAsFunction(exec, thisObj, argList);
diff --git a/WebCore/bridge/c/c_instance.cpp b/WebCore/bridge/c/c_instance.cpp
index 8f333a3..da61ca4 100644
--- a/WebCore/bridge/c/c_instance.cpp
+++ b/WebCore/bridge/c/c_instance.cpp
@@ -67,7 +67,7 @@
     return _object->_class->invokeDefault ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, const List& args)
+JSValue* CInstance::invokeMethod(ExecState* exec, const MethodList& methodList, const ArgList& args)
 {
     // Overloading methods are not allowed by NPObjects.  Should only be one
     // name match for a particular method.
@@ -104,7 +104,7 @@
 }
 
 
-JSValue* CInstance::invokeDefaultMethod(ExecState* exec, const List& args)
+JSValue* CInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
 {
     if (!_object->_class->invokeDefault)
         return jsUndefined();
diff --git a/WebCore/bridge/c/c_instance.h b/WebCore/bridge/c/c_instance.h
index 1ef237e..0f4d8e2 100644
--- a/WebCore/bridge/c/c_instance.h
+++ b/WebCore/bridge/c/c_instance.h
@@ -55,8 +55,8 @@
     
     virtual KJS::CallType getCallData(KJS::CallData&);
     
-    virtual JSValue *invokeMethod (ExecState *exec, const MethodList &method, const List &args);
-    virtual JSValue *invokeDefaultMethod (ExecState *exec, const List &args);
+    virtual JSValue *invokeMethod (ExecState *exec, const MethodList &method, const ArgList &args);
+    virtual JSValue *invokeDefaultMethod (ExecState *exec, const ArgList &args);
     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
     JSValue *stringValue() const;
diff --git a/WebCore/bridge/jni/jni_instance.cpp b/WebCore/bridge/jni/jni_instance.cpp
index a198c5d..8daddc7 100644
--- a/WebCore/bridge/jni/jni_instance.cpp
+++ b/WebCore/bridge/jni/jni_instance.cpp
@@ -101,7 +101,7 @@
     return jsBoolean(booleanValue);
 }
 
-JSValue *JavaInstance::invokeMethod (ExecState *exec, const MethodList &methodList, const List &args)
+JSValue *JavaInstance::invokeMethod (ExecState *exec, const MethodList &methodList, const ArgList &args)
 {
     int i, count = args.size();
     jvalue *jArgs;
diff --git a/WebCore/bridge/jni/jni_instance.h b/WebCore/bridge/jni/jni_instance.h
index 366adcd..97c7e9b 100644
--- a/WebCore/bridge/jni/jni_instance.h
+++ b/WebCore/bridge/jni/jni_instance.h
@@ -80,7 +80,7 @@
     virtual JSValue *valueOf() const;
     virtual JSValue *defaultValue (JSType hint) const;
 
-    virtual JSValue *invokeMethod (ExecState *exec, const MethodList &method, const List &args);
+    virtual JSValue *invokeMethod (ExecState *exec, const MethodList &method, const ArgList &args);
 
     jobject javaInstance() const { return _instance->_instance; }
     
diff --git a/WebCore/bridge/jni/jni_jsobject.h b/WebCore/bridge/jni/jni_jsobject.h
index 754e362f..132a739 100644
--- a/WebCore/bridge/jni/jni_jsobject.h
+++ b/WebCore/bridge/jni/jni_jsobject.h
@@ -39,7 +39,7 @@
 
 namespace KJS {
 
-class List;
+class ArgList;
 class JSObject;
 class JSValue;
 
@@ -92,7 +92,7 @@
 
     jobject convertValueToJObject(JSValue*) const;
     JSValue* convertJObjectToValue(jobject) const;
-    void getListFromJArray(jobjectArray, List&) const;
+    void getListFromJArray(jobjectArray, ArgList&) const;
     
     RootObject* rootObject() const;
     
diff --git a/WebCore/bridge/jni/jni_jsobject.mm b/WebCore/bridge/jni/jni_jsobject.mm
index ffc44f8..0d1e9ca 100644
--- a/WebCore/bridge/jni/jni_jsobject.mm
+++ b/WebCore/bridge/jni/jni_jsobject.mm
@@ -297,7 +297,7 @@
     // Call the function object.
     JSObject *funcImp = static_cast<JSObject*>(func);
     JSObject *thisObj = const_cast<JSObject*>(_imp);
-    List argList;
+    ArgList argList;
     getListFromJArray(args, argList);
     rootObject->globalObject()->startTimeoutCheck();
     JSValue *result = funcImp->callAsFunction(exec, thisObj, argList);
@@ -603,7 +603,7 @@
     return KJS::Bindings::Instance::createRuntimeObject(JavaInstance::create(theObject, _rootObject));
 }
 
-void JavaJSObject::getListFromJArray(jobjectArray jArray, List& list) const
+void JavaJSObject::getListFromJArray(jobjectArray jArray, ArgList& list) const
 {
     JNIEnv *env = getJNIEnv();
     int i, numObjects = jArray ? env->GetArrayLength (jArray) : 0;
diff --git a/WebCore/bridge/objc/objc_instance.h b/WebCore/bridge/objc/objc_instance.h
index c8c696a..e104be0 100644
--- a/WebCore/bridge/objc/objc_instance.h
+++ b/WebCore/bridge/objc/objc_instance.h
@@ -53,8 +53,8 @@
     
     virtual CallType getCallData(CallData&);
     
-    virtual JSValue *invokeMethod(ExecState *exec, const MethodList &method, const List &args);
-    virtual JSValue *invokeDefaultMethod(ExecState *exec, const List &args);
+    virtual JSValue *invokeMethod(ExecState *exec, const MethodList &method, const ArgList &args);
+    virtual JSValue *invokeDefaultMethod(ExecState *exec, const ArgList &args);
 
     virtual bool supportsSetValueOfUndefinedField();
     virtual void setValueOfUndefinedField(ExecState *exec, const Identifier &property, JSValue *aValue);
diff --git a/WebCore/bridge/objc/objc_instance.mm b/WebCore/bridge/objc/objc_instance.mm
index 2342838..76e906c 100644
--- a/WebCore/bridge/objc/objc_instance.mm
+++ b/WebCore/bridge/objc/objc_instance.mm
@@ -122,7 +122,7 @@
     return [_instance.get() respondsToSelector:@selector(invokeDefaultMethodWithArguments:)] ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodList, const List &args)
+JSValue* ObjcInstance::invokeMethod(ExecState* exec, const MethodList &methodList, const ArgList &args)
 {
     JSValue* result = jsUndefined();
     
@@ -244,7 +244,7 @@
     return result;
 }
 
-JSValue* ObjcInstance::invokeDefaultMethod(ExecState* exec, const List &args)
+JSValue* ObjcInstance::invokeDefaultMethod(ExecState* exec, const ArgList &args)
 {
     JSValue* result = jsUndefined();
 
diff --git a/WebCore/bridge/objc/objc_runtime.h b/WebCore/bridge/objc/objc_runtime.h
index 8026aad..5324e8f 100644
--- a/WebCore/bridge/objc/objc_runtime.h
+++ b/WebCore/bridge/objc/objc_runtime.h
@@ -105,7 +105,7 @@
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
     virtual void put(ExecState*, const Identifier& propertyName, JSValue*);
     virtual CallType getCallData(CallData&);
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
     virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName);
     virtual JSValue *defaultValue(ExecState *exec, JSType hint) const;
 
diff --git a/WebCore/bridge/objc/objc_runtime.mm b/WebCore/bridge/objc/objc_runtime.mm
index 7e704f0..23acb62 100644
--- a/WebCore/bridge/objc/objc_runtime.mm
+++ b/WebCore/bridge/objc/objc_runtime.mm
@@ -231,7 +231,7 @@
     return [targetObject respondsToSelector:@selector(invokeUndefinedMethodFromWebScript:withArguments:)] ? CallTypeNative : CallTypeNone;
 }
 
-JSValue* ObjcFallbackObjectImp::callAsFunction(ExecState* exec, JSObject* thisObj, const List &args)
+JSValue* ObjcFallbackObjectImp::callAsFunction(ExecState* exec, JSObject* thisObj, const ArgList &args)
 {
     if (thisObj->classInfo() != &KJS::RuntimeObjectImp::s_info)
         return throwError(exec, TypeError);
diff --git a/WebCore/bridge/qt/qt_instance.cpp b/WebCore/bridge/qt/qt_instance.cpp
index 548d2ab..608350a 100644
--- a/WebCore/bridge/qt/qt_instance.cpp
+++ b/WebCore/bridge/qt/qt_instance.cpp
@@ -60,7 +60,7 @@
 
         // Additions
         virtual ConstructType getConstructData(ConstructData&);
-        virtual JSObject* construct(ExecState* exec, const List& args);
+        virtual JSObject* construct(ExecState* exec, const ArgList& args);
     protected:
         void removeFromCache();
 };
@@ -108,7 +108,7 @@
     return type;
 }
 
-JSObject* QtRuntimeObjectImp::construct(ExecState* exec, const List& args)
+JSObject* QtRuntimeObjectImp::construct(ExecState* exec, const ArgList& args)
 {
     // ECMA 15.2.2.1 (?)
     JSValue *val = callAsFunction(exec, this, args);
@@ -235,7 +235,7 @@
     }
 }
 
-JSValue* QtInstance::invokeMethod(ExecState*, const MethodList&, const List&)
+JSValue* QtInstance::invokeMethod(ExecState*, const MethodList&, const ArgList&)
 {
     // Implemented via fallbackMethod & QtRuntimeMetaMethod::callAsFunction
     return jsUndefined();
@@ -270,7 +270,7 @@
     return (m_defaultMethodIndex >= 0 ? CallTypeNative : CallTypeNone);
 }
 
-JSValue* QtInstance::invokeDefaultMethod(ExecState* exec, const List& args)
+JSValue* QtInstance::invokeDefaultMethod(ExecState* exec, const ArgList& args)
 {
     // QtScript tries to invoke a meta method qscript_call
     if (!getObject())
diff --git a/WebCore/bridge/qt/qt_instance.h b/WebCore/bridge/qt/qt_instance.h
index 2d0a1a7..6ca7148 100644
--- a/WebCore/bridge/qt/qt_instance.h
+++ b/WebCore/bridge/qt/qt_instance.h
@@ -56,8 +56,8 @@
 
     virtual void mark(); // This isn't inherited
 
-    virtual JSValue* invokeMethod (ExecState *exec, const MethodList &method, const List &args);
-    virtual JSValue* invokeDefaultMethod (ExecState *exec, const List &args);
+    virtual JSValue* invokeMethod (ExecState *exec, const MethodList &method, const ArgList &args);
+    virtual JSValue* invokeDefaultMethod (ExecState *exec, const ArgList &args);
 
     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
diff --git a/WebCore/bridge/qt/qt_runtime.cpp b/WebCore/bridge/qt/qt_runtime.cpp
index f4a5f52..d9abf18 100644
--- a/WebCore/bridge/qt/qt_runtime.cpp
+++ b/WebCore/bridge/qt/qt_runtime.cpp
@@ -735,7 +735,7 @@
 
         if (re.isValid()) {
             RegExpConstructor* regExpObj = static_cast<RegExpConstructor*>(exec->lexicalGlobalObject()->regExpConstructor());
-            List args;
+            ArgList args;
             UString uflags;
 
             if (re.caseSensitivity() == Qt::CaseInsensitive)
@@ -751,7 +751,7 @@
         type == QMetaType::QDate ||
         type == QMetaType::QTime) {
         DateConstructor *dateObj = static_cast<DateConstructor*>(exec->lexicalGlobalObject()->dateConstructor());
-        List args;
+        ArgList args;
 
         QDate date = QDate::currentDate();
         QTime time(0,0,0); // midnight
@@ -1010,7 +1010,7 @@
                            const QMetaObject* meta,
                            const QByteArray& signature,
                            bool allowPrivate,
-                           const List& jsArgs,
+                           const ArgList& jsArgs,
                            QVarLengthArray<QVariant, 10> &vars,
                            void** vvars,
                            JSObject **pError)
@@ -1275,7 +1275,7 @@
         d->m_disconnect->mark();
 }
 
-JSValue* QtRuntimeMetaMethod::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue* QtRuntimeMetaMethod::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     QW_D(QtRuntimeMetaMethod);
 
@@ -1367,7 +1367,7 @@
     d->m_isConnect = isConnect;
 }
 
-JSValue *QtRuntimeConnectionMethod::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue *QtRuntimeConnectionMethod::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     QW_D(QtRuntimeConnectionMethod);
 
@@ -1603,7 +1603,7 @@
                 ExecState* exec = globalobj->globalExec();
                 if (exec) {
                     // Build the argument list (up to the formal argument length of the slot)
-                    List l;
+                    ArgList l;
                     // ### DropAllLocks?
                     int funcArgC = m_funcObject->get(exec, exec->propertyNames().length)->toInt32(exec);
                     int argTotal = qMax(funcArgC, argc);
diff --git a/WebCore/bridge/qt/qt_runtime.h b/WebCore/bridge/qt/qt_runtime.h
index f3c74d1..4b2453a 100644
--- a/WebCore/bridge/qt/qt_runtime.h
+++ b/WebCore/bridge/qt/qt_runtime.h
@@ -157,7 +157,7 @@
     QtRuntimeMetaMethod(ExecState *exec, const Identifier &n, PassRefPtr<QtInstance> inst, int index, const QByteArray& signature, bool allowPrivate);
 
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
 
     virtual void mark();
 
@@ -177,7 +177,7 @@
     QtRuntimeConnectionMethod(ExecState *exec, const Identifier &n, bool isConnect, PassRefPtr<QtInstance> inst, int index, const QByteArray& signature );
 
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
 
 protected:
     QtRuntimeConnectionMethodData* d_func() const {return reinterpret_cast<QtRuntimeConnectionMethodData*>(d_ptr);}
diff --git a/WebCore/bridge/runtime.h b/WebCore/bridge/runtime.h
index 30fbda7..95c46d7 100644
--- a/WebCore/bridge/runtime.h
+++ b/WebCore/bridge/runtime.h
@@ -36,7 +36,7 @@
 
 class Identifier;
 class JSGlobalObject;
-class List;
+class ArgList;
 class PropertyNameArray;
 
 namespace Bindings {
@@ -123,8 +123,8 @@
 
     virtual CallType getCallData(CallData&) { return CallTypeNone; }
     
-    virtual JSValue* invokeMethod(ExecState*, const MethodList&, const List& args) = 0;
-    virtual JSValue* invokeDefaultMethod(ExecState*, const List&) { return jsUndefined(); }
+    virtual JSValue* invokeMethod(ExecState*, const MethodList&, const ArgList& args) = 0;
+    virtual JSValue* invokeDefaultMethod(ExecState*, const ArgList&) { return jsUndefined(); }
     
     virtual void getPropertyNames(ExecState*, PropertyNameArray&) { }
 
@@ -158,7 +158,7 @@
     RefPtr<RootObject> _rootObject;
 };
 
-const char *signatureForParameters(const List&);
+const char *signatureForParameters(const ArgList&);
 
 typedef HashMap<RefPtr<UString::Rep>, MethodList*> MethodListMap;
 typedef HashMap<RefPtr<UString::Rep>, Method*> MethodMap; 
diff --git a/WebCore/bridge/runtime_method.cpp b/WebCore/bridge/runtime_method.cpp
index 65a07b8..3905d2a 100644
--- a/WebCore/bridge/runtime_method.cpp
+++ b/WebCore/bridge/runtime_method.cpp
@@ -61,7 +61,7 @@
     return InternalFunction::getOwnPropertySlot(exec, propertyName, slot);
 }
 
-JSValue *RuntimeMethod::callAsFunction(ExecState *exec, JSObject *thisObj, const List &args)
+JSValue *RuntimeMethod::callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args)
 {
     if (_methodList->isEmpty())
         return jsUndefined();
diff --git a/WebCore/bridge/runtime_method.h b/WebCore/bridge/runtime_method.h
index 1f97a8b..0164859 100644
--- a/WebCore/bridge/runtime_method.h
+++ b/WebCore/bridge/runtime_method.h
@@ -37,7 +37,7 @@
     
     virtual bool getOwnPropertySlot(ExecState *, const Identifier&, PropertySlot&);
 
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
 
 private:
     static JSValue* lengthGetter(ExecState*, const Identifier&, const PropertySlot&);
diff --git a/WebCore/bridge/runtime_object.cpp b/WebCore/bridge/runtime_object.cpp
index 037a5c1..0f69fbf 100644
--- a/WebCore/bridge/runtime_object.cpp
+++ b/WebCore/bridge/runtime_object.cpp
@@ -204,7 +204,7 @@
     return instance->getCallData(data) != CallTypeNone ? CallTypeNative : CallTypeNone;
 }
 
-JSValue *RuntimeObjectImp::callAsFunction(ExecState* exec, JSObject*, const List& args)
+JSValue *RuntimeObjectImp::callAsFunction(ExecState* exec, JSObject*, const ArgList& args)
 {
     if (!instance)
         return throwInvalidAccessError(exec);
diff --git a/WebCore/bridge/runtime_object.h b/WebCore/bridge/runtime_object.h
index 9f8e6c6..b1671dc 100644
--- a/WebCore/bridge/runtime_object.h
+++ b/WebCore/bridge/runtime_object.h
@@ -45,7 +45,7 @@
     virtual bool deleteProperty(ExecState *exec, const Identifier &propertyName);
     virtual JSValue *defaultValue(ExecState *exec, JSType hint) const;
     virtual KJS::CallType getCallData(KJS::CallData&);
-    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const List &args);
+    virtual JSValue *callAsFunction(ExecState *exec, JSObject *thisObj, const ArgList &args);
     virtual void getPropertyNames(ExecState*, PropertyNameArray&);
 
     virtual void invalidate();
diff --git a/WebCore/dom/XMLTokenizer.cpp b/WebCore/dom/XMLTokenizer.cpp
index b2346a8..898b9c4 100644
--- a/WebCore/dom/XMLTokenizer.cpp
+++ b/WebCore/dom/XMLTokenizer.cpp
@@ -2142,7 +2142,7 @@
         setIsXHTMLDocument(true); // controls if we replace entities or not.
     }
     if (!m_parsingFragment)
-        m_doc->addChild(new DocumentType(m_doc, name, publicId, systemId));
+        m_doc->addChild(DocumentType::create(m_doc, name, publicId, systemId));
     
 }
 #endif
diff --git a/WebCore/page/Console.cpp b/WebCore/page/Console.cpp
index a2114e4..57f5627 100644
--- a/WebCore/page/Console.cpp
+++ b/WebCore/page/Console.cpp
@@ -124,7 +124,7 @@
     printf(" %s\n", message.utf8().data());
 }
 
-static void printToStandardOut(MessageLevel level, ExecState* exec, const List& arguments, const KURL& url)
+static void printToStandardOut(MessageLevel level, ExecState* exec, const ArgList& arguments, const KURL& url)
 {
     if (!Interpreter::shouldPrintExceptions())
         return;
@@ -157,13 +157,13 @@
     printToStandardOut(source, level, message, sourceURL, lineNumber);
 }
 
-void Console::debug(ExecState* exec, const List& arguments)
+void Console::debug(ExecState* exec, const ArgList& arguments)
 {
     // In Firebug, console.debug has the same behavior as console.log. So we'll do the same.
     log(exec, arguments);
 }
 
-void Console::error(ExecState* exec, const List& arguments)
+void Console::error(ExecState* exec, const ArgList& arguments)
 {
     if (arguments.isEmpty())
         return;
@@ -185,7 +185,7 @@
     printToStandardOut(ErrorMessageLevel, exec, arguments, url);
 }
 
-void Console::info(ExecState* exec, const List& arguments)
+void Console::info(ExecState* exec, const ArgList& arguments)
 {
     if (arguments.isEmpty())
         return;
@@ -207,7 +207,7 @@
     printToStandardOut(LogMessageLevel, exec, arguments, url);
 }
 
-void Console::log(ExecState* exec, const List& arguments)
+void Console::log(ExecState* exec, const ArgList& arguments)
 {
     if (arguments.isEmpty())
         return;
@@ -229,7 +229,7 @@
     printToStandardOut(LogMessageLevel, exec, arguments, url);
 }
 
-void Console::assertCondition(bool condition, ExecState* exec, const List& arguments)
+void Console::assertCondition(bool condition, ExecState* exec, const ArgList& arguments)
 {
     if (condition)
         return;
@@ -251,7 +251,7 @@
     printToStandardOut(ErrorMessageLevel, exec, arguments, url);
 }
 
-void Console::profile(ExecState* exec, const List& arguments) const
+void Console::profile(ExecState* exec, const ArgList& arguments) const
 {
     Page* page = m_frame->page();
     if (!page)
@@ -261,7 +261,7 @@
     Profiler::profiler()->startProfiling(exec, title);
 }
 
-void Console::profileEnd(ExecState* exec, const List& arguments) const
+void Console::profileEnd(ExecState* exec, const ArgList& arguments) const
 {
     Page* page = m_frame->page();
     if (!page)
@@ -276,7 +276,7 @@
         page->inspectorController()->addProfile(profile);
 }
 
-void Console::warn(ExecState* exec, const List& arguments)
+void Console::warn(ExecState* exec, const ArgList& arguments)
 {
     if (arguments.isEmpty())
         return;
diff --git a/WebCore/page/Console.h b/WebCore/page/Console.h
index 6a12f1f..a399e7c 100644
--- a/WebCore/page/Console.h
+++ b/WebCore/page/Console.h
@@ -35,7 +35,7 @@
 
 namespace KJS {
     class ExecState;
-    class List;
+    class ArgList;
 }
 
 namespace WebCore {
@@ -66,14 +66,14 @@
 
         void addMessage(MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceURL);
 
-        void debug(KJS::ExecState*, const KJS::List& arguments);
-        void error(KJS::ExecState*, const KJS::List& arguments);
-        void info(KJS::ExecState*, const KJS::List& arguments);
-        void log(KJS::ExecState*, const KJS::List& arguments);
-        void warn(KJS::ExecState*, const KJS::List& arguments);
-        void assertCondition(bool condition, KJS::ExecState*, const KJS::List& arguments);
-        void profile(KJS::ExecState*, const KJS::List& arguments) const;
-        void profileEnd(KJS::ExecState*, const KJS::List& arguments) const;
+        void debug(KJS::ExecState*, const KJS::ArgList& arguments);
+        void error(KJS::ExecState*, const KJS::ArgList& arguments);
+        void info(KJS::ExecState*, const KJS::ArgList& arguments);
+        void log(KJS::ExecState*, const KJS::ArgList& arguments);
+        void warn(KJS::ExecState*, const KJS::ArgList& arguments);
+        void assertCondition(bool condition, KJS::ExecState*, const KJS::ArgList& arguments);
+        void profile(KJS::ExecState*, const KJS::ArgList& arguments) const;
+        void profileEnd(KJS::ExecState*, const KJS::ArgList& arguments) const;
 
     private:
         Console(Frame*);
diff --git a/WebCore/page/InspectorController.cpp b/WebCore/page/InspectorController.cpp
index 18c841a..0d14536 100644
--- a/WebCore/page/InspectorController.cpp
+++ b/WebCore/page/InspectorController.cpp
@@ -161,7 +161,7 @@
     {
     }
 
-    ConsoleMessage(MessageSource s, MessageLevel l, ExecState* exec, const List& args, unsigned li, const String& u)
+    ConsoleMessage(MessageSource s, MessageLevel l, ExecState* exec, const ArgList& args, unsigned li, const String& u)
         : source(s)
         , level(l)
         , wrappedArguments(args.size())
@@ -1181,7 +1181,7 @@
     m_showAfterVisible = CurrentPanel;
 }
 
-void InspectorController::addMessageToConsole(MessageSource source, MessageLevel level, ExecState* exec, const List& arguments, unsigned lineNumber, const String& sourceURL)
+void InspectorController::addMessageToConsole(MessageSource source, MessageLevel level, ExecState* exec, const ArgList& arguments, unsigned lineNumber, const String& sourceURL)
 {
     if (!enabled())
         return;
diff --git a/WebCore/page/InspectorController.h b/WebCore/page/InspectorController.h
index 5b2518b..caf2784 100644
--- a/WebCore/page/InspectorController.h
+++ b/WebCore/page/InspectorController.h
@@ -105,7 +105,7 @@
     bool windowVisible();
     void setWindowVisible(bool visible = true);
 
-    void addMessageToConsole(MessageSource, MessageLevel, KJS::ExecState*, const KJS::List& arguments, unsigned lineNumber, const String& sourceID);
+    void addMessageToConsole(MessageSource, MessageLevel, KJS::ExecState*, const KJS::ArgList& arguments, unsigned lineNumber, const String& sourceID);
     void addMessageToConsole(MessageSource, MessageLevel, const String& message, unsigned lineNumber, const String& sourceID);
 
     void addProfile(PassRefPtr<KJS::Profile>);
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index 43fd82a..244f7cf 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,5 +1,11 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        - rename KJS::List to KJS::ArgList
+
+        * WebView/WebScriptDebugger.h:
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         - new names for more JavaScriptCore files
 
         * WebView/WebView.mm:
diff --git a/WebKit/mac/WebView/WebScriptDebugger.h b/WebKit/mac/WebView/WebScriptDebugger.h
index a080b2c..e28a2df 100644
--- a/WebKit/mac/WebView/WebScriptDebugger.h
+++ b/WebKit/mac/WebView/WebScriptDebugger.h
@@ -39,7 +39,7 @@
     class JSGlobalObject;
     class JSObject;
     class JSValue;
-    class List;
+    class ArgList;
     class UString;
 }
 
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index f78403c..cfa59cf 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,5 +1,12 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        - rename KJS::List to KJS::ArgList
+
+        * WebScriptCallFrame.cpp:
+        (WebScriptCallFrame::valueByEvaluatingJavaScriptFromString):
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         - new names for a few key JavaScriptCore files
 
         * WebView.cpp:
diff --git a/WebKit/win/WebScriptCallFrame.cpp b/WebKit/win/WebScriptCallFrame.cpp
index 27e5779..e851868 100644
--- a/WebKit/win/WebScriptCallFrame.cpp
+++ b/WebKit/win/WebScriptCallFrame.cpp
@@ -263,7 +263,7 @@
     // evaluate
     JSValue* scriptExecutionResult;
     if (eval) {
-        List args;
+        ArgList args;
         args.append(jsString(code));
         scriptExecutionResult = eval->call(state, 0, args);
     } else
diff --git a/WebKitTools/ChangeLog b/WebKitTools/ChangeLog
index 2d22b07..7cbb4c1 100644
--- a/WebKitTools/ChangeLog
+++ b/WebKitTools/ChangeLog
@@ -1,5 +1,13 @@
 2008-06-15  Darin Adler  <darin@apple.com>
 
+        * Scripts/do-webcore-rename: Updated for the latest round of renaming.
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
+        * Scripts/do-webcore-rename: Updated for the latest round of renaming.
+
+2008-06-15  Darin Adler  <darin@apple.com>
+
         * Scripts/do-file-rename: Updated.
         * Scripts/do-webcore-rename: Updated for the latest round of renaming.
 
diff --git a/WebKitTools/Scripts/do-webcore-rename b/WebKitTools/Scripts/do-webcore-rename
index e0c6d06..ec92229 100755
--- a/WebKitTools/Scripts/do-webcore-rename
+++ b/WebKitTools/Scripts/do-webcore-rename
@@ -68,39 +68,15 @@
 }
 
 my %renames = (
-    "ARRAY_INSTANCE_H" => "JSArray_h",
-    "ARRAY_OBJECT_H_" => "ArrayObject_h",
-    "BOOL_OBJECT_H_" => "BooleanObject_h",
-    "FUNCTION_OBJECT_H_" => "FunctionPrototype_h",
-    "INTERNAL_H" => "JSString_h",
-    "KJS_FUNCTION_H" => "JSFunction_h",
-    "KJS_PROPERTY_MAP_H_" => "PropertyMap_h",
-    "KJS_PROPERTY_SLOT_H" => "PropertySlot_h",
-    "KJS_SCOPE_CHAIN_H" => "ScopeChain_h",
-    "KJS_VALUE_H" => "JSValue_h",
-    "MATH_OBJECT_H_" => "MathObject_h",
-    "NUMBER_OBJECT_H_" => "NumberObject_h",
-    "REGEXP_OBJECT_H_" => "RegExpObject_h",
-    "array_instance" => "JSArray",
-    "array_object" => "ArrayPrototype",
-    "bool_object" => "BooleanObject",
-    "function_object" => "FunctionPrototype",
-    "math_object" => "MathObject",
-    "number_object" => "NumberObject",
-    "property_map" => "PropertyMap",
-    "property_slot" => "PropertySlot",
-    "regexp_object" => "RegExpObject",
-    "scope_chain" => "ScopeChain",
-    "scope_chain_mark" => "ScopeChainMark",
-    "scope_chain_mark_h" => "ScopeChainMark_h",
+    "List" => "ArgList",
 );
 
 my %renamesContemplatedForTheFuture = (
-    "DateInstance" => "DateObject",
-    "ErrorInstance" => "ErrorObject",
+    "DateInstance" => "JSDate",
+    "ErrorInstance" => "JSError",
 
-    "date_object" => "DateObject",
-    "error_object" => "ErrorObject",
+    "date_object" => "JSDate",
+    "error_object" => "JSError",
     "string_object" => "StringObject",
 
     "CLONE_CONTENTS" => "Clone",
@@ -118,8 +94,6 @@
     "KURLMac" => "URLMac",
     "KURL_H_" => "URL_h",
 
-    "List" => "JSArgumentList",
-
     "StringImpl" => "SharedString",
 
     "RenderView" => "RenderViewport",